aboutsummaryrefslogtreecommitdiff
path: root/src (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2016-10-10Wallet API: added setRecoveringFromSeed();Jacob Brydolf3-0/+12
2016-10-08ringct: use const refs as parameters where appropriatemoneromooo-monero3-5/+5
2016-10-08core: remove some unused codemoneromooo-monero1-3/+0
2016-10-08libwallet_api: Added option to restore from specific heightJacob Brydolf5-3/+20
2016-10-07wallet: do not announce pool txes as money spent/received (yet)moneromooo-monero1-4/+7
2016-10-07libwallet_api: reverted deleted curly braceIlya Kitaev1-0/+1
2016-10-07libwallet_api: do not signal on sent/received tx until wallet completelyIlya Kitaev3-6/+31
synchronized
2016-10-06libwallet_api: TransactionHistory: read/write syncchronizationIlya Kitaev2-14/+21
2016-10-06libwallet_api: some renamingsIlya Kitaev3-3/+3
2016-10-06Initialize transaction history if emptyIlya Kitaev3-2/+11
2016-10-06libwallet_api: fixes for transaction historyIlya Kitaev1-3/+13
2016-10-04libwallet_api: fixes for transaction historyIlya Kitaev1-3/+13
2016-10-04wallet: better implementation of sweep_unmixablemoneromooo-monero2-222/+31
This was still using the old transaction creation algorithm, coupled with a deterministic output selection scheme, which made it ill suited to the job, since it'd loop indefinitely in case the fee increased between the test tx and adding the fee.
2016-10-04simplewallet: add mixin and payment id to sweep_all helpmoneromooo-monero1-1/+1
2016-10-04Fix build after spelling corrections in core_rpc_serverJacob Brydolf1-2/+2
2016-10-04Fix description for locked_transferOyvind Kvanes1-1/+1
2016-10-04Rename to lockblocks and add max valueOyvind Kvanes1-45/+30
2016-10-04Brackets to prevent premature returnNanoAkron1-0/+2
2016-10-04Brackets to ensure doesn't function prematurely returnNanoAkron1-0/+2
2016-10-03blockchain: avoid using a reference to a temporarymoneromooo-monero1-1/+1
2016-10-03Moved logging to target functions rather than callerNanoAkron6-21/+31
2016-10-03wallet2_api: added Wallet::daemonBlockChainTargetHeight()Jacob Brydolf5-0/+57
libwallet_api: Wallet::blockChainTargetHeight Signed-off-by: Jacob Brydolf <jacob@brydolf.net>
2016-10-03Removed all code related to fast_exitNanoAkron9-89/+1
2016-10-02Added messages at log level 2 to reflect deactivation procedureNanoAkron1-0/+4
2016-10-02p2p: drop any existing connection to a banned IPmoneromooo-monero1-0/+12
2016-10-02daemon: implement missing print_bc and matching RPCmoneromooo-monero3-12/+61
2016-10-01Update minimum mixin in transfer_original help textTedTheFicus1-1/+1
Changed the wording from "from 0 to maximum available" to "from 2 to maximum available". May I also suggest putting in a number rather than "maximum available" and also clarifying that mixin = 0 is still allowed if the user has unmixable outputs (dust), which he wants to "undust" using sweep_unmixable (comment from dEBRUYNE-1 ).
2016-10-01libwallet_api: do not use fast-refresh on recoveryIlya Kitaev2-3/+10
2016-10-01wallet: wallet option to confirm transfers with no payment idmoneromooo-monero4-3/+92
set confirm-missing-payment-id 0|1 Defaults to true.
2016-09-30libwallet_api: fast-refresh in case of opening non-synced walletIlya Kitaev2-6/+5
2016-09-30libwallet_api: fix unhandled exception on address checkIlya Kitaev1-12/+16
2016-09-30libwallet_api: fast-refresh for new walletIlya Kitaev2-9/+28
2016-09-29Noticed two spellings of the word 'response' in the codebase, one 'responce' ↵NanoAkron4-28/+28
and the other 'response'. Fixed to the standard spelling 'response'. This may fix some functionality - some calls had mixed spellings.
2016-09-28Fix locked_transferOyvind Kvanes1-6/+3
2016-09-28Add locked_transferOyvind Kvanes1-87/+83
2016-09-28Revert transfer_main in simplewalletOyvind Kvanes2-22/+279
2016-09-28Add motifications to test out locked_transferOyvind Kvanes1-6/+18
2016-09-28Add more information to transaction in walletOyvind Kvanes1-1/+8
2016-09-28Make a small test changeOyvind Kvanes1-1/+1
2016-09-28Improving daemon startup log messageNanoAkron1-1/+1
2016-09-28wallet2: wallet2::get_daemon_blockchain_height() clean error message onIlya Kitaev1-0/+4
success
2016-09-28libwallet_api: Wallet::setAutoRefreshInterval sanity checkIlya Kitaev1-1/+9
2016-09-28libwallet_api: explicitly return 0 in Wallet::daemonBlockChainHeight()Ilya Kitaev1-0/+2
on error
2016-09-27wallet: cold wallet transaction signingmoneromooo-monero6-122/+623
This change adds the ability to create a new unsigned transaction from a watch only wallet, and save it to a file. This file can then be moved to another computer/VM where a cold wallet may load it, sign it, and save it. That cold wallet does not need to have a blockchain nor daemon. The signed transaction file can then be moved back to the watch only wallet, which can load it and send it to the daemon. Two new simplewallet commands to use it: sign_transfer (on the cold wallet) submit_transfer (on the watch only wallet) The transfer command used on a watch only wallet now writes an unsigned transaction set in a file called 'unsigned_monero_tx' instead of submitting the tx to the daemon as a normal wallet does. The signed tx file is called 'signed_monero_tx'.
2016-09-27Update CMakeLists.txtcodehalo1-1/+0
2016-09-27Update CMakeLists.txtcodehalo1-1/+1
2016-09-27Update CMakeLists.txtcodehalo1-11/+6
2016-09-26wallet: fix log confusion between bytes and kilobytesmoneromooo-monero1-2/+2
2016-09-26cryptonote_core: make extra field removal more genericmoneromooo-monero2-4/+4
2016-09-26serialization: add support for serializing std::pair and std::listmoneromooo-monero3-4/+219
2016-09-26Cleanup. Dropped "bit" from bitmonero.Randi Joseph2-5/+5
2016-09-26Cleanup. Dropped "bit" from bitmonero.Randi Joseph1-1/+1
2016-09-26Dropped "bit" from bitmonero.Randi Joseph13-31/+31
2016-09-26Cleanup. Dropped "bit" from bitmonero.Randi Joseph1-1/+1
2016-09-26formatting: 2-spaces indentationIlya Kitaev1-20/+20
2016-09-26formatting: 2-spaces indentationIlya Kitaev1-1/+1
2016-09-26wallet2_api: milliseconds resolution for auto-refresh intervalIlya Kitaev3-13/+13
2016-09-26wallet2_api: added Wallet::daemonBlockChainHeight()Ilya Kitaev5-4/+57
2016-09-26libwallet_api: Wallet::blockChainHeight, WalletListener::newBlockIlya Kitaev3-3/+42
2016-09-26Dropped "bit" from bitmonero.Randi Joseph15-36/+36
2016-09-25Revert "Fix fake 'network synchronized, begin using' messages"moneromooo-monero2-5/+2
This reverts commit 78035d2b6c9922f4cd730df0766aa74f4854ccb2. The patch doesn't work, and causes constant SYNCHRONIZED OK spam.
2016-09-24core: make the sync chunk block count overridablemoneromooo-monero5-2/+23
2016-09-24db_lmdb: do not error if dropping a non existent hard fork tablemoneromooo-monero1-1/+1
2016-09-24wallet: update min mixin for sweep_unmixable on v4moneromooo-monero1-2/+4
2016-09-24daemon: report status at 99.9% rather than 100% when not quite syncedmoneromooo-monero1-1/+11
Less confusing for users.
2016-09-24blockchain: do not reject chain histories matching only genesismoneromooo-monero1-8/+0
This is fine if our local chain is so small that it is entirely contained within the last jump in the peer's short chain history.
2016-09-22Made error message consistent with other, more helpful, messageWill Skinner1-1/+1
2016-09-21Fix minor typo in "need resize" message.Myagui1-2/+2
Message observed while synchronizing a node from scratch. "LMDB memory map needs resized" Proposing a change to: "LMDB memory map needs to be resized"
2016-09-20wallet2_api: getter and setter for "refresh interval"Ilya Kitaev3-1/+39
2016-09-20wallet2_api: fixed deadlock while closing walletIlya Kitaev1-3/+7
2016-09-19Remove redundant "default" in set mixin help descJ Ryan Littlefield1-1/+1
2016-09-18epee: optionally restrict HTTP service to a configurable user agentmoneromooo-monero14-6/+29
This is intended to catch traffic coming from a web browser, so we avoid issues with a web page sending a transfer RPC to the wallet. Requiring a particular user agent can act as a simple password scheme, while we wait for 0MQ and proper authentication to be merged.
2016-09-18fixed tag detectorRiccardo Spagni1-36/+16
2016-09-18fix v5 heightRiccardo Spagni1-1/+1
2016-09-18remove dead backup seed nodes, add new onesRiccardo Spagni1-24/+6
2016-09-18fix v5 fork date descriptionRiccardo Spagni1-1/+1
2016-09-18update versionRiccardo Spagni1-2/+2
2016-09-18updated fork heights for v4 and v5Riccardo Spagni1-0/+7
2016-09-18update block headersRiccardo Spagni1-0/+0
2016-09-18add checkpointsRiccardo Spagni1-0/+2
2016-09-18switch wallet API from std thread/mutex to boostRiccardo Spagni2-11/+11
2016-09-18switch wallet API from std thread/mutex to boostRiccardo Spagni2-11/+11
2016-09-18wallet: keep change dest separate from other destsmoneromooo-monero1-2/+4
This fixes misreporting of amount/fee in rct txes, as the rct tx construction code was lumping all dests (whether change or not) in the same dests vector, while the pre-rct code was keeping it separate.
2016-09-18wallet: fix empty tx in corner case sending nothingmoneromooo-monero1-0/+6
2016-09-18miner: do not try to save config if the path isn't setmoneromooo-monero1-1/+2
This saves on an exception dump when trying to write to / after finding a block.
2016-09-18cmake: support BUILD_SHARED_LIBS built-in optionredfish1-1/+1
Support building internal libraries as shared. This reduces development time by eliminating the need to re-link all binaries every time non-interface code in the library changes. Instead, can hack on libxyz, then `make libxyz`, and re-run monerod. By default BUILD_SHARED_LIBS is OFF in release build type, and ON in debug build type, but can be overriden with -D.
2016-09-18cmake: transitive deps and remove deprecated LINK_*redfish15-67/+63
Keep the immediate direct deps at the library that depends on them, declare deps as PUBLIC so that targets that link against that library get the library's deps as transitive deps. Break dep cycle between blockchain_db <-> crytonote_core. No code refactoring, just hide cycle from cmake so that it doesn't complain (cycles are allowed only between static libs, not shared libs). This is in preparation for supproting BUILD_SHARED_LIBS cmake built-in option for building internal libs as shared.
2016-09-18crypto: armv7: slow-hash: remove redundant source includeredfish1-1/+0
aesb.c is already present in libcrypto as a standalone object. Tested: builds and runs fine on armv7, static and dynamic.
2016-09-17simplewallet: do not expose the details of tx splitting to the usermoneromooo-monero1-10/+11
They're confusing, as people think it reports their balance.
2016-09-17simplewallet: fix wrong amount in show_transfers for pending transactionsmoneromooo-monero1-1/+1
Change was not taken into consideration
2016-09-16daemon: log version when startingmoneromooo-monero1-0/+3
Helps with investigating bug reports
2016-09-16wallet: change priority/fee to ArticMine's recommendationmoneromooo-monero8-64/+84
We keep 1, 2, 3 multipliers till the fee decrase from 0.01/kB to 0.002/kB, where we start using 1, 20, 166 multipliers. This ensures the higher multiplier will compensate for the block reward penalty when pushing past 100% of the past median. The fee-multiplier wallet setting is now rename to priority, since it keeps its [0..3] range, but maps to different multiplier values.
2016-09-16Add ARMv8-A AES supportHoward Chu1-42/+295
More than twice as fast as plain C code. Note that both ARMv7 and ARMv8 can be further improved with better use of NEON. Also tweak ARMv7 multiplier
2016-09-15compile errors fixed when PER_BLOCK_CHECKPOINT not definedrckngOpossum1-1/+3
2016-09-15compile errors fixed when DEBUG_CREATE_BLOCK_TEMPLATE definedrckngOpossum3-2/+8
2016-09-15Decrease minimum fee from 0.01/kB to 0.002/kBmoneromooo-monero3-15/+21
The wallet will start using that fee about two weeks after hard fork 3, when most people will likely have updated their daemons.
2016-09-14wallet: fix misdetection of duplicatesmoneromooo-monero1-11/+3
2016-09-14rct: rework serialization to avoid storing vector sizesmoneromooo-monero5-58/+186
2016-09-14core: cleanup some typecastingmoneromooo-monero1-4/+4
2016-09-11Add snap packaging.Casey Marshall2-1/+3
This adds [snap](https://snapcraft.io) packaging to the project. See the link for more information on snaps. Snap packages install on all Linux distributions. On Ubuntu, snap confinement with apparmor and seccomp provide an additional layer of security. This snap sets up monerod as a systemd service, which should start immediately on install. To access the wallet CLI, simply run `monero` (/snap/bin/monero). I think it's a really quick & easy way to get started with monero. I've made some opinionated decisions in the packaging just to kick this off, but I'm happy to iterate on this stuff.
2016-09-10Daemon: fix hashrate display in diff command outputiDunk54001-1/+1
2016-09-04crypto,cmake: enable ASM mul impl on ARM; add cmake optredfish2-3/+13
This was disabled earlier as part of diagnosing failing tests on ARM, which turned out to be due to aliasing, fixed by adding -fno-strict-aliasing. So, re-enabling it back.
2016-09-03cmake: fix def propagation, fixes 32-bit buildredfish1-0/+2
32-bit build would fail to link with 'mdb_env_create undefined' (because for 32-bit build, mdb_env_create_vl32 is defined instead). This bug was introduced with the recent change to virtual object libraries. The problem is that the COMPILE_DEFINITIONS property was not propagated from dependee target (lmdb) to depedent target's (blockchain_db) virtual object lib (obj_blockchain_db). This patch makes that happen. I chose to include INTERFACE_COMPILE_DEFINITIONS because there should not be a need to propagate private defs, but it doesn't make a difference in this case.
2016-09-03fix nigglies, as pointed out by moneromooo-moneroRiccardo Spagni2-9/+4
2016-09-03fix remaining bitmonero and simplewallet bitsRiccardo Spagni4-10/+10
2016-09-03fix blockchain utilities readmeRiccardo Spagni1-42/+15
2016-09-03remove blockchain_dumpRiccardo Spagni2-444/+0
2016-09-03fix leftover add_directoryRiccardo Spagni1-1/+0
2016-09-03rename simplewalletRiccardo Spagni1-0/+3
2016-09-03rename Monero daemonRiccardo Spagni1-1/+1
2016-09-03rename blockchain utilsRiccardo Spagni1-3/+3
2016-09-03remove cn_deserializeRiccardo Spagni2-217/+0
2016-09-03removed simpleminerRiccardo Spagni5-539/+0
2016-09-03gui/libwallet_merged: libunbound is one more dependencyIlya Kitaev1-9/+13
2016-09-01wallet_merged: ringct added to dependenciesIlya Kitaev1-1/+1
2016-09-01Re-add s to rangesigsluigi11111-2/+2
Whoops.
2016-09-01Fix some rct tx size calculationsluigi11111-9/+6
Some variance is still expected
2016-09-01simplewallet: add magic and public keys to key image export filemoneromooo-monero1-5/+30
This ensures it's hard to mix files up
2016-09-01simplewallet: make the key image export format binarymoneromooo-monero1-18/+5
Saves on space, and on some pointless hex conversions
2016-09-01wallet: sanity check on histogram responsemoneromooo-monero1-0/+2
2016-08-31core: faster find_blockchain_supplementmoneromooo-monero6-11/+18
Since this queries block heights for blocks that may or may not exist, queries for non existing blocks would throw an exception, and that would slow down the loop a lot. 7 seconds to go through a 30 hash list. Fix this by adding an optional return block height to block_exists and using this instead. Actual errors will still throw an exception. This also cuts down on log exception spam.
2016-08-30cmake: merge libs via virtual object librariesredfish2-4/+12
CMake issued a warming about policy CMP0026: access of LOCATION target property at config time was disallowed. Offending code was the code that merged static libraries to generate libwallet_merged.a. This patch does that same merge task in a much simpler way. And, since it doesn't violate the policy, the warning went away.
2016-08-31Remove blocks_per_sync limitsHoward Chu2-6/+5
The code used to cap at 5000 blocks per sync. It also treated 0 as 1. Remove these checks; if specified as 0 do no periodic syncs at all. Then the user is responsible for syncing in some external process.
2016-08-30Fix incorrect help usage for the threads option to start_miningQuanah Gibson-Mount2-2/+2
2016-08-30Show correct amount of days behind/ahead while syncingtobiasw21-1/+4
2016-08-30wallet: interpret 0 fee multiplier as default for sweep_all toomoneromooo-monero1-1/+3
2016-08-29db_lmdb: fix reorg with "halfway rct" coinbase outputsmoneromooo-monero1-1/+3
2016-08-29wallet: fix not finding enough rct fake outputsmoneromooo-monero1-3/+8
If picking coinbase outputs, those are locked for a longer time than other outputs, so we ask for more of those
2016-08-29More for PR#999Howard Chu1-1/+1
2016-08-29wallet_rpc_server: return payment id in make_integrated_address RPCmoneromooo-monero2-0/+3
It is useful, especially when requesting a random one
2016-08-29core: allow empty global indices for txes with empty voutmoneromooo-monero1-1/+6
2016-08-28blockchain: testnet heights for v3, v4, and v5moneromooo-monero1-0/+4
2016-08-28ringct: remove unused codemoneromooo-monero1-245/+0
2016-08-28ringct: pass structure by const ref, not valuemoneromooo-monero2-2/+2
2016-08-28ringct: use memcpy/memset instead of handwritten loop where appropriatemoneromooo-monero1-29/+11
2016-08-28ringct: remove spurious copiesmoneromooo-monero1-24/+4
2016-08-28rct: faster Cryptonote/rct conversionsmoneromooo-monero1-8/+8
2016-08-28wallet: fix some "may be used uninitialized" warningsmoneromooo-monero3-26/+25
The compiler can't always work out the _found booleans are set iff the value is initialized.
2016-08-28wallet: do not generate 0 changemoneromooo-monero1-3/+6
2016-08-28core: use full rct signatures if just one inputmoneromooo-monero1-1/+4
It is slightly smaller, but requires all rings to have the real input on the same index, so can only be used for single input txes.
2016-08-28rct: early out on failure on verRangemoneromooo-monero1-3/+5
2016-08-28wallet: do not ask for duplicate histogramsmoneromooo-monero1-0/+3
2016-08-28wallet: transfer_selected_rct now also selects fake outsmoneromooo-monero4-174/+95
2016-08-28increase minimum mixin to 4 on hard fork 5moneromooo-monero1-2/+3
2016-08-28core: allow v1 txes after HF 5 when sweeping unmixable outputsmoneromooo-monero2-16/+19
2016-08-28ringct: use Cryptonote serialization to hash non prunable datamoneromooo-monero1-21/+9
2016-08-28New "Halfway RingCT" outputs for coinbase transactionsmoneromooo-monero9-25/+92
When RingCT is enabled, outputs from coinbase transactions are created as a single output, and stored as RingCT output, with a fake mask. Their amount is not hidden on the blockchain itself, but they are then able to be used as fake inputs in a RingCT ring. Since the output amounts are hidden, their "dustiness" is not an obstacle anymore to mixing, and this makes the coinbase transactions a lot smaller, as well as helping the TXO set to grow more slowly. Also add a new "Null" type of rct signature, which decreases the size required when no signatures are to be stored, as in a coinbase tx.
2016-08-28rct: log why verification failsmoneromooo-monero1-9/+13
and remove some unnecessary variables in the checking code
2016-08-28rct: serialize txnFee as varintmoneromooo-monero1-1/+1
2016-08-28rct amount key modified as per luigi1111's recommendationsmoneromooo-monero13-117/+68
This allows the key to be not the same for two outputs sent to the same address (eg, if you pay yourself, and also get change back). Also remove the key amounts lists and return parameters since we don't actually generate random ones, so we don't need to save them as we can recalculate them when needed if we have the correct keys.
2016-08-28rct: rework v2 txes into prunable and non prunable datamoneromooo-monero6-51/+112
Nothing is pruned, but this allows easier changes later.
2016-08-28rct: rework the verification preparation processmoneromooo-monero5-196/+191
The whole rct data apart from the MLSAGs is now included in the signed message, to avoid malleability issues. Instead of passing the data that's not serialized as extra parameters to the verification API, the transaction is modified to fill all that information. This means the transaction can not be const anymore, but it cleaner in other ways.
2016-08-28rct: change the simple flag to a typemoneromooo-monero6-23/+44
for future expansion
2016-08-28rct: avoid the need for the last II elementShen Noether5-51/+53
This element is used in the generation of the MLSAG, but isn't needed in verification. Also misc changes in the cryptonote code to match, by mooo.
2016-08-28wallet: do not store signatures in the wallet cachemoneromooo-monero9-30/+89
Saves some substantial space. Also avoid calculating tx hashes we don't need.
2016-08-28core: add some locking around pool usemoneromooo-monero2-1/+4
2016-08-28wallet2: factor m_spent changesmoneromooo-monero2-26/+31
Makes it easier to track what is going on.
2016-08-28wallet: always use new algorithm for RPC transfersmoneromooo-monero2-7/+2
This ensures we get rct transactions when appropriate
2016-08-28rct: do not serialize senderPk - it is not used anymoremoneromooo-monero2-2/+2
2016-08-28wallet: use the prefered rct case only when enough rct outs existmoneromooo-monero2-1/+27
2016-08-28wallet: do not try to use rct txes a few blocks before the forkmoneromooo-monero3-22/+31
2016-08-28tx_pool: log why a transaction was rejected for version checksmoneromooo-monero1-0/+3
2016-08-28change fork settings to allow pre-rct txes for one more fork cyclemoneromooo-monero3-5/+10
2016-08-28simplewallet: better check_tx_key feedbackmoneromooo-monero1-2/+20
Print number of confirmations if the tx is in the blockchain, or a warning if it's in the pool.
2016-08-28rct: make the amount key derivable by a third party with the tx keymoneromooo-monero9-72/+105
Scheme design from luigi1114.
2016-08-28rct: do not serialize public keys in outPkmoneromooo-monero7-33/+85
They can be reconstructed from vout
2016-08-28wallet2_api: zero amounts are now allowed with rctmoneromooo-monero1-6/+0
2016-08-28wallet2_api: update on_money_{received,spent} prototypes for rct changesmoneromooo-monero1-4/+2
2016-08-28rpc: send global indices along with blocks/transacions on refreshmoneromooo-monero4-35/+78
This plugs a privacy leak, where the wallet tells the daemon which transactions contain outputs for the wallet by asking for additional information for that particular transaction. As a nice bonus, this actually makes refresh slightly faster.
2016-08-28core: always use the new simple rct variantmoneromooo-monero1-1/+1
2016-08-28wallet: better tx input selectionmoneromooo-monero2-29/+77
We try to avoid related inputs, when possible
2016-08-28rct: use the already defined H where possiblemoneromooo-monero1-2/+1
Found by luigi1111w
2016-08-28wallet: handle 0 change properlymoneromooo-monero1-7/+8
With RCT, we allow 0 size outputs, to try and encourage txes with two inputs and two outputs. Consolidation would then have two non zero inputs, one zero output, and one larger output.
2016-08-28port get_tx_key/check_tx_key to rctmoneromooo-monero9-32/+177
2016-08-28integrate simple rct apimoneromooo-monero8-175/+329
2016-08-28serialization: add override for serializing boolmoneromooo-monero1-0/+6
2016-08-28ringct: optimization/cleanup of hash functionsShen Noether3-22/+45
2016-08-28ringct: "simple" ringct variantShen Noether6-3/+262
Allows the fake outs to be in different positions for each ring. For rct inputs only.
2016-08-28wallet: rct specific output selectionmoneromooo-monero2-3/+125
Before the normal selection, we attempt to find either one or two suitable outputs to use as inputs to the rct tx. The intent is that most rct txes will have one or two inputs, and we want all to look the same if possible. When two outputs are needed, we try to find a pair which are not related (ie, by being from the same or similar block height).
2016-08-28wallet: make sweep_all work with rct txes toomoneromooo-monero1-7/+21
2016-08-28mixable transactions must be rct for v3moneromooo-monero4-6/+33
2016-08-28wallet: factor transfer_rct code with transfer codemoneromooo-monero4-267/+42
The "transfer" simplewallet command is renamed to "transfer_original". "transfer_new" is renamed "transfer", "transfer_rct" is removed, and the new "transfer" now selects rct or non rct transactions based on the current block height.
2016-08-28Condition v2 txes on v3 hard forkmoneromooo-monero2-1/+12
2016-08-28move the rct commitments to the output_amounts databasemoneromooo-monero7-190/+62
Since these are needed at the same time as the output pubkeys, this is a whole lot faster, and takes less space. Only outputs of 0 amount store the commitment. When reading other outputs, a fake commitment is regenerated on the fly. This avoids having to rewrite the database to add space for fake commitments for existing outputs. This code relies on two things: - LMDB must support fixed size records per key, rather than per database (ie, all records on key 0 are the same size, all records for non 0 keys are same size, but records from key 0 and non 0 keys do have different sizes). - the commitment must be directly after the rest of the data in outkey and output_data_t.
2016-08-28rct: add the tx prefix hash into the MLSAGmoneromooo-monero1-3/+4
to protect the non-signatures parts of the tx from tampering.
2016-08-28ringct: fix size unit mismatch calling keccakmoneromooo-monero1-1/+1
2016-08-28ringct: do not serialize what can be reconstructedmoneromooo-monero6-50/+132
The mixRing (output keys and commitments) and II fields (key images) can be reconstructed from vin data. This saves some modest amount of space in the tx.
2016-08-28Use the supplied hard fork version in validate_miner_transactionmoneromooo-monero1-1/+1
rather than using the current one. No functional changes, but may save some bugs in the future.
2016-08-28wallet: update spent status when an accepted tx disappearsmoneromooo-monero1-0/+19
2016-08-28wallet: reset output spent status on blockchain reorgmoneromooo-monero2-11/+61
If the blockchain gets reorganized, all outputs spent in the part of the blockchain that's blown away need to be reset to unspent (they may end up spent again on the blocks that replace the blocks that are removed, however).
2016-08-28ringct: catch errors from ge_frombytes_vartimemoneromooo-monero1-11/+12
2016-08-28ringct: add missing size check for ecdhInfomoneromooo-monero1-0/+1
2016-08-28ringct: change asserts to return false for boolean functionsmoneromooo-monero1-10/+10
2016-08-28add rct to the protocolmoneromooo-monero18-239/+1182
It is not yet constrained to a fork, so don't use on the real network or you'll be orphaned or rejected.
2016-08-28db_lmdb: update reset for recent db changesmoneromooo-monero1-0/+10
- we need to drop the new m_tx_indices database - we reset the version to current version This fixes the core tests failing to initialize.
2016-08-28ringct: add functions to commit to an amountmoneromooo-monero2-0/+21
One to commit to an amount with zero key (for use with fake commitments for pre-rct outputs), and one with an arbitrary key (for rct outputs).
2016-08-28make rct tx serialization workmoneromooo-monero3-28/+104
It may be suboptimal, but it's a pain to have to rebuild everything when some of this changes. Also, no clue why there seems to be two different code paths for serializing a tx...
2016-08-28crypto: error out where appropriatemoneromooo-monero1-2/+2
2016-08-28ringct: allow no outputs, and add tests for this and feesmoneromooo-monero1-2/+0
2016-08-28ringct: make fee optionalmoneromooo-monero1-2/+9