aboutsummaryrefslogtreecommitdiff
path: root/tests (follow)
AgeCommit message (Collapse)AuthorFilesLines
2017-04-24Merge pull request #1983Riccardo Spagni1-1/+3
72d113dd Amended software licenses for Portuguese and Spanish (Nano Akron) 54bcd260 Added Simplified Chinese electrum word list (Nano Akron)
2017-04-16Added Simplified Chinese electrum word listNano Akron1-1/+3
2017-04-11Simplified the implementation and features of spanLee Clagett1-1/+1
2017-04-11Improvements for epee binary to hex functions:Lee Clagett5-8/+415
- Performance improvements - Added `span` for zero-copy pointer+length arguments - Added `std::ostream` overload for direct writing to output buffers - Removal of unused `string_tools::buff_to_hex`
2017-03-29Replace deprecated tmpnam function.Randi Joseph1-10/+16
2017-03-25mnemonics: sanity checks for word listsmoneromooo-monero1-1/+30
and a test to go with it Remember to run the test when changing word lists, or simplewallet will throw uncaught if that word list is used.
2017-03-23core: cache tx and block hashes in the respective classesmoneromooo-monero1-0/+14
An idea from smooth
2017-03-18Removed boost/asio.hpp include from epee/string_tools.hLee Clagett2-0/+98
2017-03-15Add intervening v5 fork for increased min block sizemoneromooo-monero1-25/+25
Minimum mixin 4 and enforced ringct is moved from v5 to v6. v5 is now used for an increased minimum block size (from 60000 to 300000) to cater for larger typical/minimum transaction size. The fee algorithm is also changed to decrease the base per kB fee, and add a cheap tier for those transactions which we do not care if they get delayed (or even included in a block).
2017-03-10fix dependency: put HardFork back to cryptonote_basic, made some ↵kenshi841-1/+1
BlockchainDB functions virtual again to avoid missing symbols error
2017-03-04unit_tests: fix fee tests after quantization changemoneromooo-monero1-22/+35
2017-02-25core: move hardfork back to cryptonote_coremoneromooo-monero1-1/+1
should fix a cross dependency betewen cryptonote_basic and blockchain_db
2017-02-22fix broken test dataRiccardo Spagni1-0/+0
2017-02-21update copyright year, fix occasional lack of newline at line endRiccardo Spagni112-111/+111
2017-02-21Merge pull request #1758Riccardo Spagni1-1/+2
5664826a unit_tests: hardfork unit test now needs get_block_blob_from_height (moneromooo-monero)
2017-02-21unit_tests: hardfork unit test now needs get_block_blob_from_heightmoneromooo-monero1-1/+2
2017-02-21More for PR #1724Howard Chu1-1/+1
Fix unit_tests build (get_output_key API change)
2017-02-21Merge pull request #1727Riccardo Spagni3-3/+5
0288310e blockchain_db: add "raw" blobdata getters for block and transaction (moneromooo-monero)
2017-02-21Merge pull request #1721Riccardo Spagni8-64/+69
2cde2c02 switch to boost::thread for mingw build (Lee Clagett)
2017-02-21Merge pull request #1731Riccardo Spagni1-1/+1
a427235e core: add a missing newline on a string to be logged (moneromooo-monero) b6a2230e unit_tests: fix minor blockchain_db regression (moneromooo-monero) c488eca5 hardfork: tone down some logs (moneromooo-monero)
2017-02-20util: add a vercmp function to compare version numbersmoneromooo-monero2-1/+45
It is simple, supports simple x.y.z type numeric versions, and does not attempt any kind of validation
2017-02-16switch to boost::thread for mingw buildLee Clagett8-64/+69
2017-02-14unit_tests: fix minor blockchain_db regressionmoneromooo-monero1-1/+1
Due to the change in ordering for adding block and tx data to the database in f2986ccfc1f41023cd667dbb488a10df492eb8e7, adding a block twice now throws TX_EXISTS, not BLOCK_EXISTS.
2017-02-13blockchain_db: add "raw" blobdata getters for block and transactionmoneromooo-monero3-3/+5
This speeds up operations such as serving blocks to syncing peers
2017-02-12tests: fixup include paths after cryptonote_core splitmoneromooo-monero1-1/+1
2017-02-12Merge pull request #1714Riccardo Spagni2-0/+4
5adcb5a4 tx_pool: add a debug message when adding a tx to the pool (moneromooo-monero) 9faef1f8 cryptonote_protocol: misc fluffy block fixes (moneromooo-monero)
2017-02-12Merge pull request #1706Riccardo Spagni4-4/+132
7403e56f performance_tests: report small time per call in microseconds (moneromooo-monero) cadada2d performance_tests: add tests for sc_reduce32 and cn_fast_hash (moneromooo-monero) 962c72b6 performance_tests: initialize logging at startup (moneromooo-monero)
2017-02-12Merge pull request #1699Riccardo Spagni1-16/+22
dd348549 make previous change portable (Timothy D. Prime) 32d7d048 fixes #1688 protect make debug-test from gtest (Timothy D. Prime)
2017-02-12cryptonote_protocol: misc fluffy block fixesmoneromooo-monero2-0/+4
- fix wrong block being used when a new block is received between a node elaying a fluffy block and sending a new fluffy block with txes a peer did not have - misc a neverending ping pong requesting the same missing txids when a new block is received in the meantime, causing the top block to not be the one we need - send the original fluffy block message block height when sending a new fluffy block, not the current top height, which might have been updated since - avoid sending back the whole block blob when asking for txes, send only the hash instead - plus misc cleanup and additional debugging logs
2017-02-10performance_tests: report small time per call in microsecondsmoneromooo-monero1-3/+13
This is to not report quick operations as 0 milliseconds
2017-02-11Merge pull request #1689Riccardo Spagni3-12/+26
ce7fcbb4 Add server auth to monerod, and client auth to wallet-cli and wallet-rpc (Lee Clagett)
2017-02-10performance_tests: add tests for sc_reduce32 and cn_fast_hashmoneromooo-monero3-1/+116
2017-02-10performance_tests: initialize logging at startupmoneromooo-monero1-0/+3
2017-02-08make previous change portableTimothy D. Prime1-2/+2
Use cmake's _PREFIX and _SUFFIX to determine the library location.
2017-02-08fixes #1688 protect make debug-test from gtestTimothy D. Prime1-16/+22
In simple terms, add_subdirectory() is replaced with ExternalProject_Add(). This change is inspired by https://crascit.com/2015/07/25/cmake-gtest/ with one difference, no download, using the source we already have. Before this change, make debug-test must be preceded by make clean. Otherwise, a subsequent build would be polluted by cmake options made by tests/gtest/. Also removed the changed compiler flags. My test build did not have the affected warnings.
2017-02-08extract some basic code from libcryptonote_core into libcryptonote_basickenshi8433-58/+58
2017-02-06Add server auth to monerod, and client auth to wallet-cli and wallet-rpcLee Clagett3-12/+26
2017-02-04update wallet api testsJaquee1-7/+8
2017-02-02Merge pull request #1642Riccardo Spagni1-1/+1
3ae79a59 core: set missing verifivation_failed flag when rejecting a tx (moneromooo-monero) ea6549e9 core_tests: decrease trace level from trace to debug (moneromooo-monero)
2017-01-28core_tests: decrease trace level from trace to debugmoneromooo-monero1-1/+1
It had become very, very spammy
2017-01-25Updates to epee HTTP client codeLee Clagett1-2/+2
- http_simple_client now uses std::chrono for timeouts - http_simple_client accepts timeouts per connect / invoke call - shortened names of epee http invoke functions - invoke command functions only take relative path, connection is not automatically performed
2017-01-21unit_tests: fix missing return after batch_start prototype changemoneromooo-monero1-1/+1
2017-01-16fixups in logging init calls, and add missing net context in a logmoneromooo-monero4-3/+4
2017-01-16Change logging to easylogging++moneromooo-monero14-111/+61
This replaces the epee and data_loggers logging systems with a single one, and also adds filename:line and explicit severity levels. Categories may be defined, and logging severity set by category (or set of categories). epee style 0-4 log level maps to a sensible severity configuration. Log files now also rotate when reaching 100 MB. To select which logs to output, use the MONERO_LOGS environment variable, with a comma separated list of categories (globs are supported), with their requested severity level after a colon. If a log matches more than one such setting, the last one in the configuration string applies. A few examples: This one is (mostly) silent, only outputting fatal errors: MONERO_LOGS=*:FATAL This one is very verbose: MONERO_LOGS=*:TRACE This one is totally silent (logwise): MONERO_LOGS="" This one outputs all errors and warnings, except for the "verify" category, which prints just fatal errors (the verify category is used for logs about incoming transactions and blocks, and it is expected that some/many will fail to verify, hence we don't want the spam): MONERO_LOGS=*:WARNING,verify:FATAL Log levels are, in decreasing order of priority: FATAL, ERROR, WARNING, INFO, DEBUG, TRACE Subcategories may be added using prefixes and globs. This example will output net.p2p logs at the TRACE level, but all other net* logs only at INFO: MONERO_LOGS=*:ERROR,net*:INFO,net.p2p:TRACE Logs which are intended for the user (which Monero was using a lot through epee, but really isn't a nice way to go things) should use the "global" category. There are a few helper macros for using this category, eg: MGINFO("this shows up by default") or MGINFO_RED("this is red"), to try to keep a similar look and feel for now. Existing epee log macros still exist, and map to the new log levels, but since they're used as a "user facing" UI element as much as a logging system, they often don't map well to log severities (ie, a log level 0 log may be an error, or may be something we want the user to see, such as an important info). In those cases, I tried to use the new macros. In other cases, I left the existing macros in. When modifying logs, it is probably best to switch to the new macros with explicit levels. The --log-level options and set_log commands now also accept category settings, in addition to the epee style log levels.
2017-01-15Merge pull request #1579Riccardo Spagni1-0/+19
f5f4109f mnemonics: fix language detection with checksum word (moneromooo-monero)
2017-01-15Merge pull request #1575Riccardo Spagni2-4/+5
b3ca0c62 unit_tests: fix portable serialization tests hardcoded data path (moneromooo-monero)
2017-01-15Merge pull request #1571Riccardo Spagni4-5/+5
81c384e4 fix do_not_relay not preventing relaying on a timer (moneromooo-monero)
2017-01-15Merge pull request #1506Riccardo Spagni1-1/+1
3ff54bdd Check for correct thread before ending batch transaction (Howard Chu) eaf8470b Must wait for previous batch to finish before starting new one (Howard Chu) c903c554 Don't cache block height, always get from DB (Howard Chu) eb1fb601 Tweak default db-sync-mode to fast:async:1 (Howard Chu) 0693cff9 Use batch transactions when syncing (Howard Chu)
2017-01-15mnemonics: fix language detection with checksum wordmoneromooo-monero1-0/+19
If a checksum word is present, language detection would use just the word prefixes. However, a set of word prefixes may be found in more than one language, and so the wrong language may be found first, which could then fail the checksum, since the check may be done with a different unique prefix length from the one it was created from. We now make a checksum test when we we detect a language from prefixes only, to make sure we have the correct one.
2017-01-14Use batch transactions when syncingHoward Chu1-1/+1
Faster throughput while avoiding corruption. I.e., makes running with --db-sync-mode safe more tolerable.
2017-01-14unit_tests: fix portable serialization tests hardcoded data pathmoneromooo-monero2-4/+5
2017-01-14fix do_not_relay not preventing relaying on a timermoneromooo-monero4-5/+5
Also print its value when printing pool
2017-01-13Merge pull request #1559Riccardo Spagni1-0/+10
db56a03f Wallet2 + API: Callbacks for unconfirmed transfers (Jaquee)
2017-01-12Wallet2 + API: Callbacks for unconfirmed transfersJaquee1-0/+10
2017-01-11Added (not yet enabled) HTTP client authenticationLee Clagett1-49/+302
2017-01-08Merge pull request #1515Riccardo Spagni7-0/+521
ada7c7da portable serializer: tests added (kenshi84) f390a0e2 portable serializer: make signerd/unsigned tx portable, ignore archive version checking (kenshi84)
2017-01-08Merge pull request #1493Riccardo Spagni1-0/+1
0478ac68 blockchain: allow marking "tx not found" without an exception (moneromooo-monero)
2017-01-08Merge pull request #1460Riccardo Spagni1-8/+9
99580adf make openalias also available for solo miner; introduce namespace tools::dns_utils; support integrated address with dns lookup (kenshi84)
2017-01-07blockchain: allow marking "tx not found" without an exceptionmoneromooo-monero1-0/+1
This is a normal occurence in many cases, and there is no need to spam the log with those when it is.
2017-01-03portable serializer: tests addedkenshi847-0/+521
2016-12-21Fixed HTTP auth tests for gcc 4.9Lee Clagett1-4/+4
2016-12-21make openalias also available for solo miner; introduce namespace ↵kenshi841-8/+9
tools::dns_utils; support integrated address with dns lookup
2016-12-20Fixed uninitialized valgrind errors in serialization testsLee Clagett1-2/+4
2016-12-19Fixes for google test < 1.8Lee Clagett1-18/+18
2016-12-15Merge pull request #1459Riccardo Spagni2-3/+4
b00da61e Preliminary support for DragonFly BSD (Antonio Huete Jimenez)
2016-12-15Merge pull request #1444Riccardo Spagni2-0/+473
bdc3d749 Adding HTTP Digest Auth (but not yet enabled) (Lee Clagett)
2016-12-15Preliminary support for DragonFly BSDAntonio Huete Jimenez2-3/+4
- It builds but no further testing has been done.
2016-12-13Bitmonero namespace renamed Monero. Bitmonero namespace alias added so that ↵Randi Joseph1-136/+136
third party uses of the wallet api can transition.
2016-12-13Adding HTTP Digest Auth (but not yet enabled)Lee Clagett2-0/+473
2016-12-04ringct: luigi1111's changes to fix and speedup Borromean sigsluigi11111-8/+4
2016-12-04ringct: switch to Borromean signaturesShen Noether2-35/+18
2016-12-04Merge pull request #1385Riccardo Spagni2-0/+218
5783dd8c tests: add unit tests for uri parsing (moneromooo-monero) 82ba2108 wallet: add API and RPC to create/parse monero: URIs (moneromooo-monero) d9001b43 epee: add functions to convert from URL format (ie, %XX values) (moneromooo-monero)
2016-11-28tests: add unit tests for uri parsingmoneromooo-monero2-0/+218
2016-11-25Added command_line::is_yesLee Clagett2-0/+51
2016-11-24Merge pull request #1371Riccardo Spagni1-2/+2
8dadf02 Fixed undefined behavior in TestDB (Lee Clagett)
2016-11-24Merge pull request #1364Riccardo Spagni2-0/+178
f025198 Added task_region - a fork/join task implementation (Lee Clagett)
2016-11-23Fixed undefined behavior in TestDBLee Clagett1-2/+2
2016-11-23Added task_region - a fork/join task implementationLee Clagett2-0/+178
2016-11-20tests: fix uninitialized data valgrind reports in levin testsmoneromooo-monero1-0/+1
2016-11-20tests: fix uninitialized data valgrind reports in serialization testsmoneromooo-monero1-1/+4
2016-11-13tests: fix another fee test on 32 bitmoneromooo-monero1-1/+1
2016-11-11tests: fix tests builds after fluffy blocks mergemoneromooo-monero2-0/+6
2016-11-10tests: fix fee unit tests on 32 bitmoneromooo-monero1-3/+5
2016-11-08Merge pull request #1296Riccardo Spagni1-2/+0
e59caf8 performance_tests: re-enable them... (moneromooo-monero)
2016-11-08Merge pull request #1276Riccardo Spagni2-0/+122
18f66f4 wallet: use the dynamic per kB fee (moneromooo-monero) e6deb8a rpc: add a dynamic fee estimation RPC call (moneromooo-monero) 82dbba1 core: dynamic fee algorithm from ArticMine (moneromooo-monero)
2016-11-04performance_tests: re-enable them...moneromooo-monero1-2/+0
I think I'm the only one to review things here...
2016-11-01Merge pull request #1272Riccardo Spagni2-2/+4
48b57d8 monero.supp: valgrind suppressions file (moneromooo-monero) ffd8c41 ringct: check the size of amount_keys is the same as destinations (moneromooo-monero) 836669d ringct: always shutdown the boost io service (moneromooo-monero)
2016-10-31core: dynamic fee algorithm from ArticMinemoneromooo-monero2-0/+122
The fee will vary based on the base reward and the current block size limit: fee = (R/R0) * (M0/M) * F0 R: base reward R0: reference base reward (10 monero) M: block size limit M0: minimum block size limit (60000) F0: 0.002 monero Starts applying at v4
2016-10-29ringct: check the size of amount_keys is the same as destinationsmoneromooo-monero2-2/+4
2016-10-26tests: add performance test for keypair::generatemoneromooo-monero3-0/+56
2016-10-23core: notify the txpool when transactions are relayedmoneromooo-monero2-0/+2
2016-10-19unit_tests: fix build after get_output_histogram signature changemoneromooo-monero1-1/+1
2016-10-09Merge pull request #1195Riccardo Spagni1-6/+9
697ce1d libwallet_api: reverted deleted curly brace (Ilya Kitaev) bb9094f libwallet_api: fixes for transaction history (Ilya Kitaev) 62b3708 libwallet_api: do not signal on sent/received tx until wallet completely synchronized (Ilya Kitaev) 11fab41 libwallet_api: TransactionHistory: read/write syncchronization (Ilya Kitaev) 559f379 libwallet_api: test: adjusted mixin_count=4 as it's minumum allowed (Ilya Kitaev) 8b0cb8c libwallet_api: some renamings (Ilya Kitaev) db3282c Initialize transaction history if empty (Ilya Kitaev) 85f5e73 libwallet_api: fixes for transaction history (Ilya Kitaev)
2016-10-08tests: add performance test for ge_frombytes_vartimemoneromooo-monero3-0/+73
At luigi1111's request
2016-10-08tests: add performance tests for rct signaturesmoneromooo-monero6-36/+69
2016-10-06libwallet_api: test: adjusted mixin_count=4 as it's minumum allowedIlya Kitaev1-3/+4
2016-10-06libwallet_api: some renamingsIlya Kitaev1-6/+8
2016-10-04Merge pull request #1152Riccardo Spagni1-7/+145
8b20cbf libwallet_api: do not use fast-refresh on recovery (Ilya Kitaev) 10fe626 libwallet_api: fast-refresh in case of opening non-synced wallet (Ilya Kitaev) 0019e31 libwallet_api: fix unhandled exception on address check (Ilya Kitaev) 1f73f80 libwallet_api: fast-refresh for new wallet (Ilya Kitaev) 4789347 libwallet_api: test for create/init wallet on mainnet (Ilya Kitaev)
2016-10-04Merge pull request #1140Riccardo Spagni1-4/+4
bba6af9 wallet: cold wallet transaction signing (moneromooo-monero) 9872dcb wallet: fix log confusion between bytes and kilobytes (moneromooo-monero) d9b0bf9 cryptonote_core: make extra field removal more generic (moneromooo-monero) 98f19d4 serialization: add support for serializing std::pair and std::list (moneromooo-monero)
2016-10-01libwallet_api: do not use fast-refresh on recoveryIlya Kitaev1-11/+53
2016-10-01tests: fix build after addition of cryptonote_core::get_block_sync_sizemoneromooo-monero2-0/+2
2016-09-30libwallet_api: fast-refresh in case of opening non-synced walletIlya Kitaev1-1/+25
2016-09-30libwallet_api: fast-refresh for new walletIlya Kitaev1-3/+28
2016-09-28libwallet_api: test for create/init wallet on mainnetIlya Kitaev1-3/+50
2016-09-28libwallet_api: tests: fixed WalletCallbackReceived testIlya Kitaev1-3/+7
2016-09-27libwallet_api: tests: test fixed according implementationIlya Kitaev1-1/+0
2016-09-27libwallet_api: tests: compilation errors fixedIlya Kitaev1-2/+2
2016-09-27wallet: cold wallet transaction signingmoneromooo-monero1-4/+4
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-26wallet2_api: added Wallet::daemonBlockChainHeight()Ilya Kitaev2-5/+21
2016-09-26libwallet_api: Wallet::blockChainHeight, WalletListener::newBlockIlya Kitaev1-2/+49
2016-09-23libwallet_api: simple documentation on testing environmentIlya Kitaev2-3/+25
2016-09-22libwallet_api: tests: env variables for WALLETS_ROOT_DIR andIlya Kitaev1-13/+36
TESTNET_DAEMON_ADDRESS
2016-09-22libwallet_api: tests: changed testwallets path, uncommitted all testsIlya Kitaev1-12/+14
2016-09-20wallet2_api: getter and setter for "refresh interval"Ilya Kitaev1-6/+13
2016-09-18cmake: transitive deps and remove deprecated LINK_*redfish12-44/+35
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-14rct: rework serialization to avoid storing vector sizesmoneromooo-monero1-2/+5
2016-09-04tests: block reward: disable 64-bit-only tests on 32-bit systemsredfish1-0/+2
Issue #1008
2016-09-03fix remaining bitmonero and simplewallet bitsRiccardo Spagni10-10/+10
2016-09-01cmake: exclude tests from runningredfish1-11/+3
Minimize special cases in cmake script, likely to be forgotten.
2016-09-01Merge pull request #1018Riccardo Spagni1-1/+1
6cf8ca2 core: faster find_blockchain_supplement (moneromooo-monero)
2016-08-31core: faster find_blockchain_supplementmoneromooo-monero1-1/+1
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 gtestredfish5-8/+9
Issues #980 #983
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-29Prevent core_tests from building under TravisJacob Torrey1-1/+3
2016-08-28Merge pull request #992Riccardo Spagni1-2/+10
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-28tests: hard fork list must end with a 0moneromooo-monero3-4/+4
2016-08-28New "Halfway RingCT" outputs for coinbase transactionsmoneromooo-monero10-11/+28
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 amount key modified as per luigi1111's recommendationsmoneromooo-monero2-16/+17
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-monero2-39/+41
Nothing is pruned, but this allows easier changes later.
2016-08-28rct: rework the verification preparation processmoneromooo-monero1-4/+4
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-monero2-2/+2
for future expansion
2016-08-28rct: avoid the need for the last II elementShen Noether1-4/+2
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-monero2-1/+6
Saves some substantial space. Also avoid calculating tx hashes we don't need.
2016-08-28rct: do not serialize senderPk - it is not used anymoremoneromooo-monero1-1/+3
2016-08-28core_tests: fix a couple pre-rct tests using rctmoneromooo-monero1-2/+2
2016-08-28change fork settings to allow pre-rct txes for one more fork cyclemoneromooo-monero2-9/+9
2016-08-28rct: make the amount key derivable by a third party with the tx keymoneromooo-monero3-20/+35
Scheme design from luigi1114.
2016-08-28rct: do not serialize public keys in outPkmoneromooo-monero1-1/+2
They can be reconstructed from vout
2016-08-28tests: add tests for wallet output selectionmoneromooo-monero2-1/+100
2016-08-28port get_tx_key/check_tx_key to rctmoneromooo-monero1-2/+4
2016-08-28tests: add basic tests for simple rct apimoneromooo-monero1-44/+378
2016-08-28integrate simple rct apimoneromooo-monero3-7/+65
2016-08-28move the rct commitments to the output_amounts databasemoneromooo-monero1-5/+1
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-monero5-6/+39
to protect the non-signatures parts of the tx from tampering.
2016-08-28ringct: do not serialize what can be reconstructedmoneromooo-monero2-21/+13
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-28tests: test for ringct rctSig data sizesmoneromooo-monero1-3/+44
ie, more data or less data than expected in various fields
2016-08-28add rct to the protocolmoneromooo-monero8-35/+26
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-28make rct tx serialization workmoneromooo-monero1-0/+201
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-28ringct: allow no outputs, and add tests for this and feesmoneromooo-monero1-31/+75
2016-08-28ringct: txn fee stuffShen Noether1-0/+61
2016-08-28blockchain_db: add functions for adding/removing/getting rct commitmentsmoneromooo-monero1-0/+4
2016-08-28tests: new ringct test for checking H2 valuesShen Noether1-0/+11
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-28tests: more ringct range proof testsmoneromooo-monero1-0/+245
2016-08-28remove original Cryptonote blockchain_storage blockchain formatmoneromooo-monero2-3/+1
2016-08-28tests: add some more ringct building block testsmoneromooo-monero1-1/+50
2016-08-28tests: add Shen Noether's basic ringct testsmoneromooo-monero2-1/+209
2016-08-27Build the core_tests under TravisJacob Torrey1-4/+1
2016-08-26Disabled libwallet_api_test until Issue #895 resolvedJacob Torrey1-1/+3
Signed-off-by: Jacob Torrey <discipleofranok@gmail.com>
2016-08-26Disable core_tests on Travis-CIJacob Torrey1-2/+11
Signed-off-by: Jacob Torrey <discipleofranok@gmail.com>
2016-08-23libwallet_api: tests: checking for result while opening walletIlya Kitaev1-4/+6
2016-08-23libwallet_api: Wallet::amountFromString fixedIlya Kitaev1-0/+23
2016-08-22libwallet_api: tests: removed logged passwordsIlya Kitaev1-2/+2
2016-08-22libwallet_api: do not store wallet on close if status is not okIlya Kitaev1-2/+67
2016-08-11Fake outs set is now decided by the walletmoneromooo-monero1-3/+3
This plugs a privacy leak from the wallet to the daemon, as the daemon could previously see what input is included as a transaction input, which the daemon hadn't previously supplied. Now, the wallet requests a particular set of outputs, including the real one. This can result in transactions that can't be accepted if the wallet happens to select too many outputs with non standard unlock times. The daemon could know this and select another output, but the wallet is blind to it. It's currently very unlikely since I don't think anything uses non default unlock times. The wallet requests more outputs than necessary so it can use spares if any of the returns outputs are still locked. If there are not enough spares to reach the desired mixin, the transaction will fail.
2016-07-26tests: fix a bitflag test typomoneromooo-monero1-1/+1
2016-07-26unit_tests: check adding checkpoints succeededmoneromooo-monero1-3/+3
2016-07-23Merge pull request #915Riccardo Spagni2-45/+199
d7597c5 refreshing wallet even if error happened (Ilya Kitaev) 6d32a3d wallet_api: async init, Wallet::connected status, log level (Ilya Kitaev) 193d251 libwallet_api cmake: conditionally creating libwallet_merged2 only for STATIC build (Ilya Kitaev) 10c06dd wallet_api: segfault on refresh fixed (Ilya Kitaev) 9d2cb4f WalletListener functionality (Ilya Kitaev) d27b883 hack to successfull linking for MSYS2 (Ilya Kitaev) 083380c Transaction fee multiplier aka priority integraged (Ilya Kitaev) 00ed12b Wallet::paymentIdValid (Ilya Kitaev)
2016-07-22Tests: fix signed/unsigned comparison in hash-targetanonimal1-1/+1
* References #886
2016-07-18wallet_api: async init, Wallet::connected status, log levelIlya Kitaev1-20/+81
2016-07-18WalletListener functionalityIlya Kitaev2-39/+90
2016-07-18Transaction fee multiplier aka priority integragedIlya Kitaev1-0/+42
2016-07-13remove hf_starting_height dbmoneromooo-monero1-31/+1
It's not really needed, it used to be an optimization for when that code was not using the db and needed to recalculate things fast on startup.
2016-06-23Merge branch 'master' of https://github.com/mbg033/bitmoneroIlya Kitaev1-11/+6
2016-06-23Wallet: payment id and integrated addressIlya Kitaev1-3/+76
2016-06-23Wallet::createTransaction: added mixin_count paramIlya Kitaev1-1/+40
2016-06-23double/string to monero integer convertion methodsIlya Kitaev1-2/+14
2016-06-23wallet::default_mixin exposed to public interface asIlya Kitaev1-0/+2
Wallet::setDefaultMixin, Wallet::defaultMixin; wallet::create_transaction_2 used in Wallet::createTransaction
2016-06-23Wallet::filename, Wallet::keysFilename, tests for move walletIlya Kitaev1-0/+29
2016-06-23Wallet API : WalletManager::findWallets() addedIlya Kitaev4-15/+29
2016-06-23scripts for faster test wallets generationIlya Kitaev11-19/+120
2016-06-23regenerated test wallets, basic functions got brokenIlya Kitaev1-17/+20
2016-06-23WalletListener::moneyReceived testIlya Kitaev1-12/+38
2016-06-23WalletListener::moneySpent testIlya Kitaev1-53/+154
2016-06-23TransactionHistory continuedIlya Kitaev1-11/+55
2016-06-23Wallet API : transaction history in progressIlya Kitaev1-0/+28
2016-06-23Wallet::createTransaction API introducedIlya Kitaev1-3/+11
Transaction API continued TODOs for Transaction/Transfer interface
2016-06-23Wallet::transfer in progressIlya Kitaev1-0/+16
2016-06-23Wallet::refresh + testsIlya Kitaev1-0/+12
2016-06-23testnet option, Wallet::balance(), Wallet::unlockedBalance()Ilya Kitaev1-11/+12
2016-06-23- testnet option added to api;Ilya Kitaev1-24/+44
2016-06-23wallet2::store() implemented within wallet2::store_toIlya Kitaev1-0/+25
2016-06-20Wallet::createTransaction: added mixin_count paramIlya Kitaev1-1/+40
2016-06-16double/string to monero integer convertion methodsIlya Kitaev1-2/+14
2016-06-10wallet::default_mixin exposed to public interface asIlya Kitaev1-0/+2
Wallet::setDefaultMixin, Wallet::defaultMixin; wallet::create_transaction_2 used in Wallet::createTransaction
2016-06-10Wallet::filename, Wallet::keysFilename, tests for move walletIlya Kitaev1-0/+29
2016-06-03Wallet API : WalletManager::findWallets() addedIlya Kitaev4-15/+29