aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-09-03update Dockerfile bitmonero refsRiccardo Spagni1-5/+5
2016-09-03Merge pull request #1039Riccardo Spagni11-1204/+6
883d651 remove blockchain_dump (Riccardo Spagni) 7825386 fix leftover add_directory (Riccardo Spagni) face573 rename simplewallet (Riccardo Spagni) 2e984bc rename Monero daemon (Riccardo Spagni) b6973b8 rename blockchain utils (Riccardo Spagni) f968ccb remove cn_deserialize (Riccardo Spagni) 7a38e4e removed simpleminer (Riccardo Spagni)
2016-09-03Merge pull request #1038Riccardo Spagni3-9/+23
43677f9 gui/libwallet_merged: libunbound is one more dependency (Ilya Kitaev)
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 Kitaev3-9/+23
2016-09-01Merge pull request #1034Riccardo Spagni0-0/+0
98d223a confirming PR #1033 was correct in spite of the lack of signature, will fix this issue going forward (Riccardo Spagni)
2016-09-01confirming PR #1033 was correct in spite of the lack of signature, will fix ↵Riccardo Spagni0-0/+0
this issue going forward
2016-09-01Merge pull request #1033Riccardo Spagni1-1/+1
4d17949 wallet_merged: ringct added to dependencies (Ilya Kitaev)
2016-09-01Merge pull request #1032Riccardo Spagni1-9/+6
34bb789 Re-add s to rangesigs (luigi1111) dbf017a Fix some rct tx size calculations (luigi1111)
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-01Merge pull request #1031Riccardo Spagni1-1/+1
0d7ce00 epee: do not try network resolution if loopback worked (moneromooo-monero)
2016-09-01Merge pull request #1010Riccardo Spagni4-16/+24
3398515 cmake: exclude tests from running (redfish) e374ae7 cmake: option+target for profiling for coverage (redfish)
2016-09-01epee: do not try network resolution if loopback workedmoneromooo-monero1-1/+1
Fixes the wallet being unable to connect to the daemon when there is no NIC.
2016-09-01cmake: exclude tests from runningredfish2-11/+6
Minimize special cases in cmake script, likely to be forgotten.
2016-09-01Merge pull request #1029Riccardo Spagni1-21/+33
f1d87c8 simplewallet: add magic and public keys to key image export file (moneromooo-monero) f4e894a simplewallet: make the key image export format binary (moneromooo-monero)
2016-09-01Merge pull request #1015Riccardo Spagni1-15/+28
fbfdf59 readme: organize deps into table (redfish)
2016-09-01Merge pull request #1030Riccardo Spagni0-0/+0
214240c confirming PR #1028 merge was accidentally unsigned, but correct (Riccardo Spagni)
2016-09-01confirming PR #1028 merge was accidentally unsigned, but correctRiccardo Spagni0-0/+0
2016-09-01Merge pull request #1028Riccardo Spagni2-2/+61
9397254 Added basic docker file (eiabea)
2016-09-01cmake: option+target for profiling for coverageredfish3-5/+18
2016-09-01readme: organize deps into tableredfish1-15/+28
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-01Merge pull request #1022Riccardo Spagni2-6/+5
b8c03a5 Remove blocks_per_sync limits (Howard Chu)
2016-09-01Merge pull request #1027Riccardo Spagni1-0/+2
85dc0ce wallet: sanity check on histogram response (moneromooo-monero)
2016-09-01Merge pull request #1021Riccardo Spagni2-2/+2
1d5ba65 Fix incorrect help usage for the threads option to start_mining (Quanah Gibson-Mount)
2016-09-01Merge pull request #1018Riccardo Spagni7-12/+19
6cf8ca2 core: faster find_blockchain_supplement (moneromooo-monero)
2016-09-01Merge pull request #1016Riccardo Spagni1-1/+3
3112e24 wallet: interpret 0 fee multiplier as default for sweep_all too (moneromooo-monero)
2016-09-01Merge pull request #1012Riccardo Spagni1-1/+4
c2941cb Show correct amount of days behind/ahead while syncing (tobiasw2)
2016-09-01Merge pull request #1009Riccardo Spagni6-16/+30
640a934 tests: cmake: fix building with system gtest (redfish) 4a9e949 tests: cmake: use a list for enabled tests (redfish) dbd9a26 cmake: tests: gtest target is not always defined #983 (redfish)
2016-09-01Merge pull request #1007Riccardo Spagni3-133/+12
1de812a cmake: merge libs via virtual object libraries (redfish) a7498ad cmake: comply with the new policy CMP0026 (redfish)
2016-09-01Merge pull request #1003Riccardo Spagni3-19/+95
cf10e05 Add ARMv8 Handling to CMakeLists.txt - version 2 (NanoAkron)
2016-09-01Added basic docker fileeiabea2-2/+61
finalized dockerfile
2016-09-01wallet: sanity check on histogram responsemoneromooo-monero1-0/+2
2016-08-31core: faster find_blockchain_supplementmoneromooo-monero7-12/+19
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-30tests: cmake: fix building with system gtestredfish6-9/+10
Issues #980 #983
2016-08-30cmake: merge libs via virtual object librariesredfish3-78/+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-30cmake: comply with the new policy CMP0026redfish1-101/+46
Access to LOCATION property at config time was disallowed by this policy. This patch updates the offending code to comply with the policy and thereby gets rid of the warning printed by cmake. The fix is to use generator expressions instead of that property. NOTE: Had to remove support for multiconfig (only affects MSVC which is not supported anyway; and mutliconf is an IDE thing in any case), because could not see how to support it with generator expressions.
2016-08-30tests: cmake: use a list for enabled testsredfish1-6/+12
Avoid replicating common logic.
2016-08-30cmake: tests: gtest target is not always defined #983redfish1-2/+9
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-30Merge branch 'master' of https://github.com/monero-project/bitmonero into ↵NanoAkron2-4/+11
update-cmakelists-armv8
2016-08-30Add ARMv8 Handling to CMakeLists.txt - version 2NanoAkron3-19/+95
Adds 64-bit ARMv8 handling to CMakeLists.txt and implements GCC flags for two errata on the Cortex-A53 present on every chip in revision 0: https://developer.arm.com/docs/epm048406/latest/arm-processor-cortex-a53-mpcore-product-revision-r0-software-developers-errata-notice 835769 affects 64-bit multiply accumulate 843419 affects internal page addressing Rewritten to build on @radfish's changes Updated to address @radfish's points
2016-08-30Merge pull request #1014Riccardo Spagni1-1/+3
1cdba42 db_lmdb: fix reorg with "halfway rct" coinbase outputs (moneromooo-monero)
2016-08-30Merge pull request #1011Riccardo Spagni1-3/+8
73b9b4b wallet: fix not finding enough rct fake outputs (moneromooo-monero)
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-29Merge pull request #1006Riccardo Spagni1-1/+1
5bba2fd More for PR#999 (Howard Chu)
2016-08-29Merge pull request #1005Riccardo Spagni1-1/+3
57bc33b Prevent core_tests from building under Travis (Jacob Torrey)
2016-08-29More for PR#999Howard Chu1-1/+1
2016-08-29Prevent core_tests from building under TravisJacob Torrey1-1/+3
2016-08-29Merge pull request #1004Riccardo Spagni2-0/+3
adca903 wallet_rpc_server: return payment id in make_integrated_address RPC (moneromooo-monero)
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-29Merge pull request #1002Riccardo Spagni1-1/+6
91ca0b4 core: allow empty global indices for txes with empty vout (moneromooo-monero)
2016-08-29core: allow empty global indices for txes with empty voutmoneromooo-monero1-1/+6
2016-08-29Merge pull request #998Riccardo Spagni1-0/+5
442adfb cmake: define a default build type (redfish)
2016-08-28cmake: define a default build typeredfish1-0/+5
Lets 'cmake .. && make' be sufficient to build.
2016-08-28Merge pull request #1000Riccardo Spagni1-3/+3
d321c02 minor README changes, also I wanted to grab PR #1000 (Riccardo Spagni)
2016-08-28Merge pull request #999Riccardo Spagni1-13/+14
dc411ea Change default db-sync-mode to fast, not fastest (Howard Chu)
2016-08-28Merge pull request #997Riccardo Spagni3-116/+131
1c7d3b0 cmake: define ARM var for all ARM arch variants (redfish) 6fe543d cmake: ARM: exclude libunwind in static build (redfish) 397b720 make: remove NO_AES from arm targets (redfish) 57ca3f3 make: make the ARM release targets statically linked (redfish) 43c07a1 readme: editted install/build instructions for clarity (redfish) a0d4058 Revert "makefile: remove unnecessary ARM-specific targets" (redfish) c2bc34b Revert "Interpret x86_64 as x86-64 for architecture" (redfish) c54b9a1 cmake: don't set ARCH from CMAKE_SYSTEM_PROCESSOR (redfish)
2016-08-28Merge pull request #995Riccardo Spagni1-2/+12
94de4b0 cmake: pass -static when STATIC=ON on Windows (redfish)
2016-08-28Merge pull request #994Riccardo Spagni1-1/+1
ff6b8f2 Build: move Travis IRC notification channel (anonimal)
2016-08-28Merge pull request #992Riccardo Spagni5-37/+121
f1ba51c remove -Wall from coverage arguments (Jacob Torrey) f017fec Build the core_tests under Travis (Jacob Torrey) e0bf02a Streamline release-test target (Jacob Torrey) baf4574 Update badge to point to monero's coveralls (Jacob Torrey) d1dc2c3 Re-enable Travis IRC notifications (Jacob Torrey) 9c71b9e Silence coveralls to prevent 4MB logs (Jacob Torrey) 65041fb Disabled libwallet_api_test until Issue #895 resolved (Jacob Torrey) a450138 Disable core_tests on Travis-CI (Jacob Torrey) 650afac Added -j2 to Makefile and clean up matrix (Jacob Torrey) 256dec0 Streamline test building target (Jacob Torrey) 14915c2 Ensure tests are built prior to testing (Jacob Torrey) fe4992b Added coverage g++ commands (Jacob Torrey) 497b24f Update .travis.yml (Jacob Torrey) 678467d Update for the current make environment (Jacob Torrey) abcac26 Fixed tab/space issue on YAML (Jacob Torrey) 7351a11 Converted to a build matrix for testing and release (Jacob Torrey) 342dbfb Prep for coveralls (Jacob Torrey)
2016-08-28Merge pull request #990Riccardo Spagni3-4/+40
cf6654c contrib: example systemd service and config file (redfish)
2016-08-28Merge pull request #961Riccardo Spagni88-3519/+7239
887db9f blockchain: testnet heights for v3, v4, and v5 (moneromooo-monero) f24ab58 ringct: remove unused code (moneromooo-monero) b38452b ringct: pass structure by const ref, not value (moneromooo-monero) fd11271 ringct: use memcpy/memset instead of handwritten loop where appropriate (moneromooo-monero) 5d38206 ringct: remove spurious copies (moneromooo-monero) 16732a8 rct: faster Cryptonote/rct conversions (moneromooo-monero) fbd7c35 wallet: fix some "may be used uninitialized" warnings (moneromooo-monero) 4a41dd4 wallet: do not generate 0 change (moneromooo-monero) a0925e6 core: use full rct signatures if just one input (moneromooo-monero) 94fd881 rct: early out on failure on verRange (moneromooo-monero) 45349b6 wallet: do not ask for duplicate histograms (moneromooo-monero) b951bc8 wallet: transfer_selected_rct now also selects fake outs (moneromooo-monero) 4f887de increase minimum mixin to 4 on hard fork 5 (moneromooo-monero) 0815c72 core: allow v1 txes after HF 5 when sweeping unmixable outputs (moneromooo-monero) f782d45 tests: hard fork list must end with a 0 (moneromooo-monero) 074e602 ringct: use Cryptonote serialization to hash non prunable data (moneromooo-monero) c3b3260 New "Halfway RingCT" outputs for coinbase transactions (moneromooo-monero) 6f526cd rct: log why verification fails (moneromooo-monero) d4b8991 rct: serialize txnFee as varint (moneromooo-monero) d4b62a1 rct amount key modified as per luigi1111's recommendations (moneromooo-monero) 93f5c62 rct: rework v2 txes into prunable and non prunable data (moneromooo-monero) d93746b rct: rework the verification preparation process (moneromooo-monero) 3ab2ab3 rct: change the simple flag to a type (moneromooo-monero) c5be4b0 rct: avoid the need for the last II element (Shen Noether) a47ceee wallet: do not store signatures in the wallet cache (moneromooo-monero) 0263dd2 core: add some locking around pool use (moneromooo-monero) 2c9d951 wallet2: factor m_spent changes (moneromooo-monero) 1303cda wallet: always use new algorithm for RPC transfers (moneromooo-monero) b337aea rct: do not serialize senderPk - it is not used anymore (moneromooo-monero) e5a9a47 core_tests: fix a couple pre-rct tests using rct (moneromooo-monero) 230fca2 wallet: use the prefered rct case only when enough rct outs exist (moneromooo-monero) c27194a wallet: do not try to use rct txes a few blocks before the fork (moneromooo-monero) 1bf0698 tx_pool: log why a transaction was rejected for version checks (moneromooo-monero) 37bdf6e change fork settings to allow pre-rct txes for one more fork cycle (moneromooo-monero) cc85cc6 simplewallet: better check_tx_key feedback (moneromooo-monero) 9b70856 rct: make the amount key derivable by a third party with the tx key (moneromooo-monero) cf33e1a rct: do not serialize public keys in outPk (moneromooo-monero) 83ab315 wallet2_api: zero amounts are now allowed with rct (moneromooo-monero) 096ac06 wallet2_api: update on_money_{received,spent} prototypes for rct changes (moneromooo-monero) 3cb2ede rpc: send global indices along with blocks/transacions on refresh (moneromooo-monero) 414b424 core: always use the new simple rct variant (moneromooo-monero) ce5de8b tests: add tests for wallet output selection (moneromooo-monero) 84c82cd wallet: better tx input selection (moneromooo-monero) 1e21651 rct: use the already defined H where possible (moneromooo-monero) 07d353d wallet: handle 0 change properly (moneromooo-monero) e81a2b2 port get_tx_key/check_tx_key to rct (moneromooo-monero) e06faef tests: add basic tests for simple rct api (moneromooo-monero) a4d4d61 integrate simple rct api (moneromooo-monero) 1e8d37e serialization: add override for serializing bool (moneromooo-monero) dbb5f2d ringct: optimization/cleanup of hash functions (Shen Noether) 4fd01f2 ringct: "simple" ringct variant (Shen Noether) 37c895e wallet: rct specific output selection (moneromooo-monero) 1181c57 wallet: make sweep_all work with rct txes too (moneromooo-monero) c2ec6d3 mixable transactions must be rct for v3 (moneromooo-monero) 1017a75 wallet: factor transfer_rct code with transfer code (moneromooo-monero) f5465d8 Condition v2 txes on v3 hard fork (moneromooo-monero) 59a66e2 move the rct commitments to the output_amounts database (moneromooo-monero) 6d0e471 rct: add the tx prefix hash into the MLSAG (moneromooo-monero) 35dce5c ringct: fix size unit mismatch calling keccak (moneromooo-monero) 20e50ec ringct: do not serialize what can be reconstructed (moneromooo-monero) 106e3dc Add rct core tests (moneromooo-monero) ada5275 Use the supplied hard fork version in validate_miner_transaction (moneromooo-monero) acbe06d wallet: update spent status when an accepted tx disappears (moneromooo-monero) 089df4a wallet: reset output spent status on blockchain reorg (moneromooo-monero) 73d59f1 ringct: catch errors from ge_frombytes_vartime (moneromooo-monero) 161551e tests: test for ringct rctSig data sizes (moneromooo-monero) 359f469 ringct: add missing size check for ecdhInfo (moneromooo-monero) 229968e ringct: change asserts to return false for boolean functions (moneromooo-monero) dc4aad7 add rct to the protocol (moneromooo-monero) 211d1db db_lmdb: update reset for recent db changes (moneromooo-monero) dee42d6 ringct: add functions to commit to an amount (moneromooo-monero) cc7f449 make rct tx serialization work (moneromooo-monero) e70e8a6 crypto: error out where appropriate (moneromooo-monero) 54f7429 ringct: allow no outputs, and add tests for this and fees (moneromooo-monero) e99904a ringct: make fee optional (moneromooo-monero) f8c04ad ringct: txn fee stuff (Shen Noether) 66f9626 ringct: new {gen,decode}Rct APIs for convenience (moneromooo-monero) 789b2e2 ringct: add more convenience functions (moneromooo-monero) 9856443 core: link against libringct (moneromooo-monero) 4258dab core: new /getrandom_rctouts.bin binary RPC call (moneromooo-monero) c3a2e14 ringct: add convenience functions to bridge ringct and cryptonote (moneromooo-monero) eb56d0f blockchain_db: add functions for adding/removing/getting rct commitments (moneromooo-monero) 82072e7 ringct: restore verRange check in debug mode (moneromooo-monero) 63856ca ringct: add check for destinations/amount size being equal (moneromooo-monero) e816a09 ringct: fix off by 1 in mixin usage (moneromooo-monero) 09c5ea4 ringct: simplify random key generation (moneromooo-monero) 53cdf4d tests: new ringct test for checking H2 values (Shen Noether) 56f6549 ringct: cosmetic fixes (Shen Noether) 55ff136 ringct: changes to hashToPointSimple to calcualte H2 values (Shen Noether) 63733b1 ringct: compare keys with bitwise equality, not crypto ops (Shen Noether) 98f4c6f ringct: fix size argument to cn_fast_hash (Shen Noether) 720ac85 tests: zero inputs/outputs are in fact supposed to be accepted (moneromooo-monero) 84948ea ringct: add a test for prooveRange being non deterministic (moneromooo-monero) 09fb9f4 Fix sc_0 to skGen in ProveRange (Shen Noether) d37c1db ringct: add a few consts where appropriate (moneromooo-monero) 700248f tests: more ringct range proof tests (moneromooo-monero) d02f999 rct: add serialization machinery to rct types (moneromooo-monero) 0ff8305 serialization: declare do_serialize specializations before use (moneromooo-monero) 8b135e7 Added note on generating H2 (Shen Noether) 4d639d9 Fixed missing last index H2 (Shen Noether) 9e82b69 remove original Cryptonote blockchain_storage blockchain format (moneromooo-monero) 86b4426 ringct: lock access to the PRNG (moneromooo-monero) 4d7f073 ringct: add simple input validation (moneromooo-monero) 57779ab tests: add some more ringct building block tests (moneromooo-monero) b656001 ringct: add convenience operators to key (moneromooo-monero) 2d6303f tests: add Shen Noether's basic ringct tests (moneromooo-monero) 9b1afe5 ringct: import of Shen Noether's ring confidential transactions (moneromooo-monero)
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-28tests: hard fork list must end with a 0moneromooo-monero3-4/+4
2016-08-28ringct: use Cryptonote serialization to hash non prunable datamoneromooo-monero1-21/+9
2016-08-28New "Halfway RingCT" outputs for coinbase transactionsmoneromooo-monero19-36/+120
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-monero15-133/+85
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-monero8-90/+153
Nothing is pruned, but this allows easier changes later.
2016-08-28rct: rework the verification preparation processmoneromooo-monero6-200/+195
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-monero8-25/+46
for future expansion
2016-08-28rct: avoid the need for the last II elementShen Noether6-55/+55
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-monero11-31/+95
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-monero3-3/+5
2016-08-28core_tests: fix a couple pre-rct tests using rctmoneromooo-monero1-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-monero5-14/+19
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-monero12-92/+140
Scheme design from luigi1114.
2016-08-28rct: do not serialize public keys in outPkmoneromooo-monero8-34/+87
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-28tests: add tests for wallet output selectionmoneromooo-monero2-1/+100
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-monero10-34/+181
2016-08-28tests: add basic tests for simple rct apimoneromooo-monero1-44/+378
2016-08-28integrate simple rct apimoneromooo-monero11-182/+394
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-monero8-195/+63
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-monero6-9/+43
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-monero8-71/+145
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-28Add rct core testsmoneromooo-monero7-10/+764
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-28tests: test for ringct rctSig data sizesmoneromooo-monero1-3/+44
ie, more data or less data than expected in various fields
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-monero26-274/+1208
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-monero4-28/+305
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-monero2-33/+75
2016-08-28ringct: make fee optionalmoneromooo-monero1-2/+9
2016-08-28ringct: txn fee stuffShen Noether4-13/+85
2016-08-28ringct: new {gen,decode}Rct APIs for conveniencemoneromooo-monero2-11/+27
A new version of genRct takes the mixRing as parameter, instead of the inPk. inPk are part of the mixRing, and it is cleaner to pass the mixRing data than to fetch it from the RingCT code. A new version of decodeRct also returns the mask. Also, failure to decode throws, so errors are properly detected.
2016-08-28ringct: add more convenience functionsmoneromooo-monero1-4/+14
2016-08-28core: link against libringctmoneromooo-monero1-0/+1
2016-08-28core: new /getrandom_rctouts.bin binary RPC callmoneromooo-monero7-0/+192
to get random ringct outputs to mix with
2016-08-28ringct: add convenience functions to bridge ringct and cryptonotemoneromooo-monero1-0/+5
2016-08-28blockchain_db: add functions for adding/removing/getting rct commitmentsmoneromooo-monero4-0/+157
2016-08-28ringct: restore verRange check in debug modemoneromooo-monero1-1/+1
2016-08-28ringct: add check for destinations/amount size being equalmoneromooo-monero1-0/+1
2016-08-28ringct: fix off by 1 in mixin usagemoneromooo-monero1-3/+3
2016-08-28ringct: simplify random key generationmoneromooo-monero1-7/+2
2016-08-28tests: new ringct test for checking H2 valuesShen Noether1-0/+11
Ported from Shen's RingCT repo
2016-08-28ringct: cosmetic fixesShen Noether4-46/+9
Ported from Shen's RingCT repo
2016-08-28ringct: changes to hashToPointSimple to calcualte H2 valuesShen Noether1-0/+5
Ported from Shen's RingCT repo
2016-08-28ringct: compare keys with bitwise equality, not crypto opsShen Noether1-7/+6
Ported from Shen's RingCT repo
2016-08-28ringct: fix size argument to cn_fast_hashShen Noether1-1/+1
Ported from Shen's RingCT repo
2016-08-28tests: zero inputs/outputs are in fact supposed to be acceptedmoneromooo-monero1-14/+14
2016-08-28ringct: add a test for prooveRange being non deterministicmoneromooo-monero1-0/+9
2016-08-28Fix sc_0 to skGen in ProveRangeShen Noether1-1/+1
2016-08-28ringct: add a few consts where appropriatemoneromooo-monero2-6/+6
2016-08-28tests: more ringct range proof testsmoneromooo-monero2-1/+246
2016-08-28rct: add serialization machinery to rct typesmoneromooo-monero2-10/+61
2016-08-28serialization: declare do_serialize specializations before usemoneromooo-monero2-1/+6
This lets my gcc picks those instead of the generic template where appropriate (and then fail since std::vector<something> does not have a serialize method.
2016-08-28Added note on generating H2Shen Noether1-1/+2
2016-08-28Fixed missing last index H2Shen Noether1-1/+2
2016-08-28remove original Cryptonote blockchain_storage blockchain formatmoneromooo-monero24-2966/+8
2016-08-28ringct: lock access to the PRNGmoneromooo-monero1-2/+2
2016-08-28ringct: add simple input validationmoneromooo-monero2-32/+74
Throw when inputs aren't the expected size.
2016-08-28tests: add some more ringct building block testsmoneromooo-monero1-1/+50
2016-08-28ringct: add convenience operators to keymoneromooo-monero1-0/+4
2016-08-28tests: add Shen Noether's basic ringct testsmoneromooo-monero2-1/+209
2016-08-28ringct: import of Shen Noether's ring confidential transactionsmoneromooo-monero15-13/+2410
2016-08-28Change default db-sync-mode to fast, not fastestHoward Chu1-13/+14
2016-08-28cmake: define ARM var for all ARM arch variantsredfish1-12/+16
This is refactoring only. No behavior change.
2016-08-28minor README changes, also I wanted to grab PR #1000Riccardo Spagni1-3/+3
2016-08-28cmake: ARM: exclude libunwind in static buildredfish1-1/+2
Else error in build with STATIC=ON: cd /home/redfish/bitmonero/build/release/src/miner && /usr/bin/cmake -E cmake_link_script CMakeFiles/simpleminer.dir/link.txt --verbose=1 /usr/bin/c++ -std=c++11 -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wundef -Wvla -Wwrite-strings -Wno-error=extra -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-unused-variable -Wno-error=unused-variable -Wno-error=undef -Wno-error=uninitialized -Wlogical-op -Wno-error=maybe-uninitialized -Wno-reorder -Wno-missing-field-initializers -march=armv7-a -fno-strict-aliasing -mfloat-abi=hard -DNDEBUG -O2 -flto -ffat-lto-objects -static-libgcc -static-libstdc++ -Wl,--wrap=__cxa_throw CMakeFiles/simpleminer.dir/simpleminer.cpp.o -o ../../bin/simpleminer -rdynamic -Wl,-Bstatic -lrt -Wl,-Bdynamic -ldl ../cryptonote_core/libcryptonote_core.a ../common/libcommon.a -Wl,-Bstatic -lboost_filesystem -lboost_program_options -lboost_regex -lboost_chrono -lboost_system -lboost_thread -Wl,-Bdynamic -pthread -Wl,-Bstatic -lrt -Wl,-Bdynamic -ldl ../blockchain_db/libblockchain_db.a ../cryptonote_core/libcryptonote_core.a ../blockchain_db/libblockchain_db.a ../../contrib/otshell_utils/libotshell_utils.a ../blocks/libblocks.a ../common/libcommon.a ../../external/unbound/libunbound.a -lssl -lcrypto -lunwind -Wl,-Bstatic -lboost_program_options ../crypto/libcrypto.a -lboost_date_time -lboost_serialization -lboost_filesystem ../../external/db_drivers/liblmdb/liblmdb.a -Wl,-Bdynamic -pthread -Wl,-Bstatic -lboost_chrono -lboost_system -lboost_thread -lrt -Wl,-Bdynamic -ldl /usr/bin/ld: ../../bin/simpleminer: hidden symbol `__aeabi_unwind_cpp_pr0' in /usr/lib/gcc/armv7l-unknown-linux-gnueabihf/6.1.1/libgcc_eh.a(unwind-arm.o) is referenced by DSO /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status
2016-08-28make: remove NO_AES from arm targetsredfish1-2/+2
cmake sets that appropriately based on the target architecture
2016-08-28make: make the ARM release targets statically linkedredfish1-4/+4
I think, in this context, dynamically linked builds make sense only for native builds, not these builds that target arch families to produce portable binaries.
2016-08-28readme: editted install/build instructions for clarityredfish1-80/+91
* some re-org of sections to make things more concise * dedicated section for installing from packages vs building from source * for Windows, instruct to run the top-level makefile targets, because I don't see any reason not to -- advanced users will look into the makefile and find the cmake command there if they need to. * for Windows, instruct to install *-toolchain meta package which includes expat * added some context info here and there to aid -- I tried to clarify things that confused me, e.g. Windows build is cross-compilation to be precise; motivation for targets that are meant for generating portable binaries as opposed to binaries optimized to host CPU.
2016-08-28Revert "makefile: remove unnecessary ARM-specific targets"redfish1-0/+8
This reverts commit ecd0f2dde7b2d8f3ff820d1190c00401c436384a. These targets that are not native builds. They are for builds portable within processors of a given family. 'make release' used to not work to build a native build on ARM, but that has been fixed. These targets are unrelated to the native build.
2016-08-28Revert "Interpret x86_64 as x86-64 for architecture"redfish1-5/+1
This reverts commit 86234921506944dddab4e2f5edf96bf747be6c73. Let's restrict ARCH to values accepted by -march to keep things clear and consistent. ARCH is -march, with only one exception: a value of "default" indicates to not pass -march at all.
2016-08-28cmake: don't set ARCH from CMAKE_SYSTEM_PROCESSORredfish1-27/+22
It is not correct to do so, because ARCH should only take values supported by the -march argument, with the exception of 'default' which denotes not passing -march at all. ARCH defines the target architecture for builds that are intended to be portable to other machines.
2016-08-27cmake: pass -static when STATIC=ON on Windowsredfish1-2/+12
This gets rid of bitmonerod.exe's dependecy on libwindpthreads-1.dll in build on Windows on x86_64 (via MSYS2 default toolchain). With this patch all DLL dependencies are on DLLs in c:\windows\system32.
2016-08-27Build: move Travis IRC notification channelanonimal1-1/+1
This will allow people to have Travis push notifications for their repo without spamming the dev channel
2016-08-27remove -Wall from coverage argumentsJacob Torrey1-2/+2
2016-08-27Build the core_tests under TravisJacob Torrey1-4/+1
2016-08-26contrib: example systemd service and config fileredfish3-4/+40
Including in light of #977
2016-08-26Streamline release-test targetJacob Torrey1-2/+2
When Travis builds and tests, time is limited per build, so the overhead of re-calling CMake can push it over the limit.
2016-08-26Update badge to point to monero's coverallsJacob Torrey1-1/+1