aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-09-16Merge pull request #1077Riccardo Spagni1-42/+295
69b5918 Add ARMv8-A AES support (Howard Chu)
2016-09-16Merge pull request #1076Riccardo Spagni3-3/+11
e29e8b1 compile errors fixed when PER_BLOCK_CHECKPOINT not defined (rckngOpossum) e49c161 compile errors fixed when DEBUG_CREATE_BLOCK_TEMPLATE defined (rckngOpossum)
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-15Merge pull request #1074Riccardo Spagni3-15/+21
cd01bae Decrease minimum fee from 0.01/kB to 0.002/kB (moneromooo-monero)
2016-09-15Merge pull request #1072Riccardo Spagni1-1/+1
bb9ed3e Fix homebrew formula for OS X (Mike C)
2016-09-15Merge pull request #1068Riccardo Spagni6-1/+98
a5af33d Add libminiupnpc and libunwind to snap. (Casey Marshall) 823843e Fix portability issues discovered with fresh snap install. (Casey Marshall) 0a56d83 Add snap packaging. (Casey Marshall)
2016-09-15Merge pull request #1067Riccardo Spagni7-75/+198
70b78bb wallet: fix misdetection of duplicates (moneromooo-monero) 7d413f6 rct: rework serialization to avoid storing vector sizes (moneromooo-monero) 0ce79ef core: cleanup some typecasting (moneromooo-monero)
2016-09-15Merge pull request #1066Riccardo Spagni1-1/+1
f138138 Daemon: fix hashrate display in diff command output (iDunk5400)
2016-09-15Merge pull request #1065Riccardo Spagni1-6/+9
1855213 Attempt to fix broken compilation on some systems caused by #1074 (iDunk5400)
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-14Fix homebrew formula for OS XMike C1-1/+1
bitmonero --> monero
2016-09-14wallet: fix misdetection of duplicatesmoneromooo-monero1-11/+3
2016-09-14rct: rework serialization to avoid storing vector sizesmoneromooo-monero6-60/+191
2016-09-14core: cleanup some typecastingmoneromooo-monero1-4/+4
2016-09-11Add libminiupnpc and libunwind to snap.Casey Marshall1-0/+2
2016-09-11Fix portability issues discovered with fresh snap install.Casey Marshall3-0/+11
ARCH=native fixes SIGILL issues on other amd64 processors. Static library dependencies where supported. Package libunbound2 in the snap.
2016-09-11Add snap packaging.Casey Marshall6-1/+85
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-10Attempt to fix broken compilation on some systems caused by #1074iDunk54001-6/+9
2016-09-10Merge pull request #1053Riccardo Spagni1-5/+12
13c5dc6 Update README.md (jw) 44f1191 Update README.md (jw) f4ffe7f Update MSYS2 build instructions. (jw)
2016-09-10Merge pull request #1050Riccardo Spagni1-0/+2
f5d03bb tests: block reward: disable 64-bit-only tests on 32-bit systems (redfish)
2016-09-10Merge pull request #1049Riccardo Spagni2-3/+13
24d9337 crypto,cmake: enable ASM mul impl on ARM; add cmake opt (redfish)
2016-09-10Merge pull request #1048Riccardo Spagni1-17/+5
533eafa readme: make section on docs more concise (redfish)
2016-09-10Merge pull request #1047Riccardo Spagni1-2/+12
0f94f61 cmake: handle dists which prefix gcc binaries wth arch triplet (redfish)
2016-09-10Merge pull request #1044Riccardo Spagni1-0/+2
b1d5189 cmake: fix def propagation, fixes 32-bit build (redfish)
2016-09-10Merge pull request #1040Riccardo Spagni2-2/+6
77fa663 cmake: split BUILD_GUI_DEPS option into two (redfish)
2016-09-05Update README.mdjw1-1/+1
2016-09-05Update README.mdjw1-1/+1
2016-09-05Update MSYS2 build instructions.jw1-5/+12
Describe process for building on Windows using current version of MSYS2.
2016-09-04tests: block reward: disable 64-bit-only tests on 32-bit systemsredfish1-0/+2
Issue #1008
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-03readme: make section on docs more conciseredfish1-17/+5
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-03Merge pull request #1041Riccardo Spagni23-107/+75
011e42f fix nigglies, as pointed out by moneromooo-monero (Riccardo Spagni) df63e07 fix remaining bitmonero and simplewallet bits (Riccardo Spagni) 04b120f fix blockchain utilities readme (Riccardo Spagni) f1d4e4a readme fixes, small Docker fix (Riccardo Spagni) 9a525e0 rename systemd bits to monero (Riccardo Spagni) 011c94c change CMake project name (Riccardo Spagni) 50dc4fb update Dockerfile bitmonero refs (Riccardo Spagni)
2016-09-03fix nigglies, as pointed out by moneromooo-moneroRiccardo Spagni2-9/+4
2016-09-03fix remaining bitmonero and simplewallet bitsRiccardo Spagni16-22/+22
2016-09-03fix blockchain utilities readmeRiccardo Spagni1-42/+15
2016-09-03readme fixes, small Docker fixRiccardo Spagni2-21/+21
2016-09-03rename systemd bits to moneroRiccardo Spagni3-12/+12
2016-09-03change CMake project nameRiccardo Spagni1-1/+1
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-03cmake: split BUILD_GUI_DEPS option into tworedfish2-2/+6
The split is to make this software more packageable. 'make install' is used by the package building scripts, and should not be installing vendored dependencies onto the system.
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-31cmake: handle dists which prefix gcc binaries wth arch tripletredfish1-2/+12
Issue #1026
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