Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-04-29 | More tests for view tags | SChernykh | 1 | -0/+14 | |
P2Pool can create transactions with more than 128 outputs, which make output_index's varint larger than 1 byte. Added this test case. | |||||
2022-04-29 | multisig: add post-kex verification round to check that all participants ↵ | koe | 3 | -47/+61 | |
have completed the multisig address | |||||
2022-04-29 | Update copyright to 2022 for Hardfork files | Akrit | 7 | -7/+7 | |
Update Makefile and LICENSE | |||||
2022-04-21 | Preserve commitment format inside transactions | Luke Parker | 1 | -2/+0 | |
2022-04-18 | Bump ring size to 16 for v15 & remove set default in wallet cli | j-berman | 4 | -13/+13 | |
2022-04-18 | Add Include statements | Jeffrey | 1 | -0/+1 | |
2022-04-18 | Add view tags to outputs to reduce wallet scanning time | j-berman | 14 | -20/+603 | |
Implements view tags as proposed by @UkoeHB in MRL issue https://github.com/monero-project/research-lab/issues/73 At tx construction, the sender adds a 1-byte view tag to each output. The view tag is derived from the sender-receiver shared secret. When scanning for outputs, the receiver can check the view tag for a match, in order to reduce scanning time. When the view tag does not match, the wallet avoids the more expensive EC operations when deriving the output public key using the shared secret. | |||||
2022-04-10 | Fee changes from ArticMine | moneromooo-monero | 3 | -4/+192 | |
https://github.com/ArticMine/Monero-Documents/blob/master/MoneroScaling2021-02.pdf with a change to use 1.7 instead of 2.0 for the max long term increase rate | |||||
2022-04-10 | epee: allow copying a rolling_median_t object | moneromooo-monero | 1 | -0/+18 | |
2022-04-06 | tests: integrated_address: remove missing payment id assertion | reemuru | 1 | -3/+1 | |
The integrated address functional test fails in the workflows due to an assertion for missing payment id that is no longer needed. Remove the assertion and update the assertion count. Fixes 7dcfccb: ("wallet_rpc_server: fix make_integrated_address with no payment id") | |||||
2022-04-05 | store outPk/8 in the tx for speed | moneromooo-monero | 1 | -0/+2 | |
It avoids dividing by 8 when deserializing a tx, which is a slow operation, and multiplies by 8 when verifying and extracing the amount, which is much faster as well as less frequent | |||||
2022-04-05 | plug bulletproofs plus into consensus | moneromooo-monero | 13 | -24/+645 | |
2022-04-04 | Bulletproofs+ | Sarang Noether | 5 | -0/+292 | |
2022-03-30 | Remove dead code from parserse_base_utils and fix unit tests | Jeffrey | 1 | -67/+74 | |
* Remove `match_string()`, `match_number()`, and `match_word()` * Remove `match_word_with_extrasymb()` and `match_word_til_equal_mark()` * Adapt unit test for `match_number()` to `match_number2()` * Adapt unit test for `match_string()` to `match_string2()` Note: the unit tests were testing for the old version of the functions, and the interfaces for these functions changed slightly, so I had to also edit the tests. As of writing, this PR has no merge conflicts with #8211 Additional changes during review: * Explicitly set up is_[float/signed]_val to be changed before each call * Structify the tests and fix uninitialized variables | |||||
2022-03-04 | Compil. time: cryptonote_core minus portable_storage header | mj-xmr | 1 | -0/+2 | |
2022-03-04 | Copyright: Update to 2022 | mj-xmr | 228 | -228/+259 | |
2022-02-22 | multisig key exchange update and refactor | koe | 4 | -120/+271 | |
2022-01-31 | Balance includes unconfirmed transfers to self | woodser | 1 | -5/+2 | |
2022-01-25 | fix ge_p3_is_point_at_infinity(), which is evaluating field elements that ↵ | koe | 4 | -0/+64 | |
haven't been reduced by the field order | |||||
2021-12-14 | functional_tests: update uri test with external pid | selsta | 1 | -9/+5 | |
2021-11-01 | tx_pool: full tx revalidation on fork boundaries | moneromooo-monero | 1 | -5/+10 | |
avoids mining txes after a fork that are invalid by this fork's rules, but were valid by the previous fork rules at the time they were verified and added to the txpool. | |||||
2021-09-20 | node_server: fix race condition | anon | 1 | -36/+77 | |
2021-09-20 | node_server: add race condition demo | anon | 1 | -0/+260 | |
2021-09-12 | Mac: UT node server fix IP localhost by aliasing | mj-xmr | 1 | -0/+3 | |
2021-09-08 | unit_tests: fix use after free in serialization test | moneromooo-monero | 1 | -2/+4 | |
2021-08-19 | core_tests: remove unused typedef, fix warning | selsta | 1 | -1/+0 | |
2021-08-05 | p2p: remove blocked addresses/hosts from peerlist | moneromooo-monero | 1 | -0/+1 | |
2021-08-03 | EasyLogging++: new anti-UB test and propagating exception | mj-xmr | 1 | -0/+7 | |
2021-07-28 | unit_tests: fix broken tests | anon | 2 | -8/+8 | |
boosted_tcp_server: check condition before sleep too cryptonote_protocol_handler: each instance of BlockchainLMDB requires separate thread due to private thread local fields | |||||
2021-07-06 | EasyLogging++: Add UTests, that protect against regressions | mj-xmr | 1 | -0/+13 | |
2021-06-11 | unit_tests: check for ge_frombytes_vartime failure | moneromooo-monero | 2 | -4/+4 | |
CID 1446559 | |||||
2021-05-14 | Doc: funtional_tests add new mining env vars and how to use them | mj-xmr | 1 | -1/+20 | |
2021-05-11 | Warnings: unused var in core_tests:chaingen.h | mj-xmr | 1 | -1/+1 | |
2021-04-28 | clang: fix -Wpessimizing-move warning | selsta | 1 | -1/+2 | |
2021-04-27 | cmake: set 3.5 as minimum version | selsta | 2 | -2/+2 | |
2021-04-27 | Tests: Mining test uses a parametric path for finding the calculation app | mj-xmr | 3 | -41/+66 | |
MINING_SILENT and MINING_NO_MEASUREMENT env vars | |||||
2021-04-27 | clang: fix -Wrange-loop-analysis warnings | selsta | 1 | -1/+1 | |
2021-04-16 | Split epee/string_tools.h and encapsulate boost::lexical_cast | mj-xmr | 2 | -0/+2 | |
2021-04-16 | Revert "Merge pull request #7136" | luigi1111 | 5 | -121/+27 | |
This reverts commit 63c7ca07fba2f063c760f786a986fb3e02fb040e, reversing changes made to 2218e23e84a89e9a1e4c0be5d50f891ab836754f. | |||||
2021-04-08 | unit_tests: fix boost 1.58 compatibility | anon | 1 | -1/+1 | |
2021-04-05 | Tests: Fix test node_server.bind_same_p2p_port from randomly crashing | mj-xmr | 1 | -0/+12 | |
2021-03-30 | [CI] Adaptive mining timeout, depending on available CPU power | mj-xmr | 5 | -10/+254 | |
Printing also available RAM. Add comprehensive description. | |||||
2021-03-27 | Warnings: fix ut/levin.cpp missing braces | mj-xmr | 1 | -1/+4 | |
2021-03-22 | cryptonote_protocol_handler: add race condition demo | anon | 1 | -0/+592 | |
2021-03-20 | [CI] Use Python3 for funcional tests, instead of Python2 | mj-xmr | 1 | -4/+6 | |
2021-03-12 | async_protocol_handler_config: add deadlock demo | anon | 1 | -0/+110 | |
2021-03-05 | fix serialization being different on mac | moneromooo-monero | 1 | -1/+1 | |
On Mac, size_t is a distinct type from uint64_t, and some types (in wallet cache as well as cold/hot wallet transfer data) use pairs/containers with size_t as fields. Mac would save those as full size, while other platforms would save them as varints. Might apply to other platforms where the types are distinct. There's a nasty hack for backward compatibility, which can go after a couple forks. | |||||
2021-02-23 | functional_tests: hide check_missing_rpc_methods behind requests check | moneromooo-monero | 1 | -6/+5 | |
2021-02-19 | async_protocol_handler_config: add segfault demo | anon | 1 | -2/+73 | |
2021-02-11 | Increase timeout for the mining test 4 times (to 240s) | mj-xmr | 1 | -1/+1 | |
2021-02-09 | New add_aux_pow RPC to support merge mining | moneromooo-monero | 1 | -0/+213 | |
2021-02-09 | Remove unused variables in monero codebase | Kevin Barbour | 10 | -13/+2 | |
There are quite a few variables in the code that are no longer (or perhaps never were) in use. These were discovered by enabling compiler warnings for unused variables and cleaning them up. In most cases where the unused variables were the result of a function call the call was left but the variable assignment removed, unless it was obvious that it was a simple getter with no side effects. | |||||
2021-02-06 | Reduce compilation time of epee/portable_storage.h | mj-xmr | 1 | -0/+1 | |
2021-01-28 | Remove copies from foreach loops (thanks to Clang) | Lee Clagett | 2 | -10/+10 | |
2021-01-27 | unit_tests: fix wipeable_string parse_hexstr test with latest gtest | xiphon | 1 | -9/+9 | |
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973196 | |||||
2021-01-23 | Improve cryptonote (block and tx) binary read performance | Lee Clagett | 6 | -26/+82 | |
2021-01-19 | boosted_tcp_server: add segfault demo | anon | 1 | -0/+150 | |
2021-01-19 | Remove payload copy in all outgoing p2p messages | Lee Clagett | 6 | -43/+127 | |
2021-01-16 | Remove payload copy in all outgoing p2p messages | Lee Clagett | 5 | -27/+121 | |
2021-01-03 | add a max levin packet size by command type | moneromooo-monero | 3 | -0/+3 | |
2021-01-01 | Split fuzz tests during fuzz build | Nym Seddon | 1 | -11/+16 | |
Only build fuzz tests in a fuzz build, and don't build other tests. Keeps fuzz compilers from instrumenting other tests, which are not fuzzed. Resolves #7232 | |||||
2020-12-31 | protocol: more sanity checks in new chain block hashes | moneromooo-monero | 3 | -3/+10 | |
2020-12-27 | protocol: fix false positives dropping peers | moneromooo-monero | 2 | -0/+2 | |
it'd trigger on reorgs | |||||
2020-12-27 | Revert "Reject existing claimed blocks in sync mode" | luigi1111 | 2 | -2/+0 | |
2020-12-22 | Command max_bytes moved from dynamic map to static switch | Lee Clagett | 1 | -3/+40 | |
2020-12-20 | Restrict duplicate keys in epee binary format | Lee Clagett | 2 | -0/+55 | |
2020-12-17 | protocol: reject claimed block hashes that already are in the chain | moneromooo-monero | 2 | -0/+2 | |
2020-12-17 | Add aggressive restrictions to pre-handshake p2p buffer limit | Lee Clagett | 4 | -0/+8 | |
2020-12-14 | Fix byte_stream::put_n | Lee Clagett | 1 | -0/+17 | |
2020-12-14 | fuzz_tests: add a test for utf8canonical | moneromooo-monero | 4 | -0/+49 | |
2020-12-10 | protocol: drop origin IP if a block fails to verify in sync mode | moneromooo-monero | 1 | -9/+11 | |
It would otherwise be possible for a peer to send bad blocks, then disconnect and reconnect again, escaping bans | |||||
2020-12-04 | crypto: fix non zero scalar being 0 after reducing | moneromooo-monero | 1 | -551/+540 | |
2020-11-25 | cryptonote_core: dandelion - use local height or median height if syncing | xiphon | 3 | -3/+10 | |
2020-11-16 | Better log message for unusable anon networks | Howard Chu | 1 | -1/+2 | |
2020-11-03 | Switch to Dandelion++ fluff mode if no out connections for stem mode | Lee Clagett | 1 | -0/+109 | |
2020-10-28 | Add RELINK_TARGETS, monero_add_target_no_relink and use ↵ | mj-xmr | 15 | -32/+32 | |
monero_add_executable/monero_add_library where possible (mj-xmr) Add monero_add_minimal_executable and use in tests This is done in order not to have to relink targets, when just an .so changed, but not its interface. | |||||
2020-10-22 | functional_tests: inrease mining timeout | selsta | 1 | -1/+1 | |
2020-10-13 | Change to more efficient allocation strategy in byte_stream | Lee Clagett | 1 | -43/+50 | |
2020-10-13 | Allow byte_stream->byte_slice conversion to shrink unused buffer space | Lee Clagett | 1 | -1/+3 | |
2020-10-12 | Dandelion++: skip desynced peers in stem phase | xiphon | 1 | -34/+41 | |
2020-10-10 | Change epee binary output from std::stringstream to byte_stream | Lee Clagett | 7 | -31/+30 | |
2020-10-03 | Unit Tests: Remove block reward upper bound size checks | TheCharlatan | 1 | -18/+0 | |
Tests running after being compiled with `make debug-test` failed with ``` [ FAILED ] block_reward_and_current_block_weight.fails_on_huge_median_size [ FAILED ] block_reward_and_current_block_weight.fails_on_huge_block_weight ``` With the introduction of the patch in https://github.com/monero-project/monero/commit/be82c40703d267184ee07bf7be71002122c86656#diff-1a57d4e6013984c420da98d1adde0eafL113 the assertions checking the weight of the median and current block against a size limit were removed. Since the limit is now enforced by a long divisor and a uint64_t type, checking in a separate test makes little sense, so they are removed here. | |||||
2020-09-24 | functional_tests: rewrite mining code, clearer timeout info | iamamyth | 1 | -12/+11 | |
2020-09-24 | fuzz_tests: fix build error in signature fuzz test | moneromooo-monero | 1 | -1/+1 | |
2020-09-04 | enable CLSAG support for Trezor client | Dusan Klinec | 2 | -10/+32 | |
2020-09-01 | threadpool: guard against exceptions in jobs, and armour plating | moneromooo-monero | 1 | -20/+20 | |
Those would, if uncaught, exit run and leave the waiter to wait indefinitely for the number of active jobs to reach 0 | |||||
2020-08-28 | Bind signature to full address and signing mode | Sarang Noether | 1 | -0/+2 | |
2020-08-28 | wallet: allow signing a message with spend or view key | moneromooo-monero | 2 | -7/+12 | |
2020-08-28 | core_tests: fix failures after v13 | moneromooo-monero | 4 | -13/+21 | |
v13 enforces claiming the full block reward, so we need to keep track of tx fees to add them to the coinbase | |||||
2020-08-28 | core_tests: remove hardcoded hf version | moneromooo-monero | 1 | -1/+1 | |
2020-08-27 | functional_tests: add a large (many randomx epochs) p2p reorg test | moneromooo-monero | 1 | -0/+19 | |
2020-08-27 | functional_tests: add randomx tests | moneromooo-monero | 2 | -0/+117 | |
2020-08-27 | core: fix mining from a block that's not the current top | moneromooo-monero | 1 | -3/+3 | |
2020-08-27 | Added balance check to MLSAG/CLSAG performance tests | Sarang Noether | 3 | -144/+282 | |
2020-08-27 | Updated MLSAG and CLSAG tests for consistency | Sarang Noether | 3 | -31/+63 | |
2020-08-27 | CLSAG verification performance test | Sarang Noether | 2 | -22/+40 | |
2020-08-27 | CLSAG optimizations | Sarang Noether | 2 | -86/+82 | |
2020-08-27 | Integrate CLSAGs into monero | moneromooo-monero | 15 | -85/+656 | |
They are allowed from v12, and MLSAGs are rejected from v13. | |||||
2020-08-27 | unit_tests: add ge_triple_scalarmult_base_vartime test | moneromooo-monero | 1 | -0/+62 | |
2020-08-27 | CLSAG signatures | Sarang Noether | 4 | -4/+196 | |
2020-08-26 | functional_tests: add p2p functional tests | moneromooo-monero | 2 | -8/+193 | |
Tests tx/block propagation and reorgs | |||||
2020-08-21 | enforce claiming maximum coinbase amount | moneromooo-monero | 3 | -0/+30 | |
Claiming a slightly lesser amount does not yield the size gains that were seen pre rct, so this closes a fingerprinting vector | |||||
2020-08-17 | Add clear method to byte_stream | Lee Clagett | 1 | -0/+41 | |
2020-08-17 | Revert "Use domain-separated ChaCha20 for in-memory key encryption" | luigi1111 | 2 | -74/+0 | |
This reverts commit 921dd8dde5d381052d0aa2936304a3541a230c55. | |||||
2020-08-17 | replace most boost serialization with existing monero serialization | moneromooo-monero | 10 | -12/+10 | |
This reduces the attack surface for data that can come from malicious sources (exported output and key images, multisig transactions...) since the monero serialization is already exposed to the outside, and the boost lib we were using had a few known crashers. For interoperability, a new load-deprecated-formats wallet setting is added (off by default). This allows loading boost format data if there is no alternative. It will likely go at some point, along with the ability to load those. Notably, the peer lists file still uses the boost serialization code, as the data it stores is define in epee, while the new serialization code is in monero, and migrating it was fairly hairy. Since this file is local and not obtained from anyone else, the marginal risk is minimal, but it could be migrated later if needed. Some tests and tools also do, this will stay as is for now. | |||||
2020-08-14 | Change ZMQ-JSON txextra to hex and remove unnecessary base fields | Lee Clagett | 1 | -1/+16 | |
2020-08-14 | Fix pruned tx for ZMQ's GetBlocksFast | Lee Clagett | 1 | -1/+1 | |
2020-08-09 | Use domain-separated ChaCha20 for in-memory key encryption | Sarang Noether | 2 | -0/+74 | |
2020-08-09 | Updates InProofV1, OutProofV1, and ReserveProofV1 to new V2 variants that ↵ | Sarang Noether | 3 | -5/+165 | |
include all public proof parameters in Schnorr challenges, along with hash function domain separators. Includes new randomized unit tests. | |||||
2020-07-23 | Fix overflow issue in epee:misc_utils::rolling_median_t and median(), with ↵ | koe | 1 | -0/+11 | |
unit test | |||||
2020-07-20 | wallet2_api: implement runtime proxy configuration | xiphon | 4 | -4/+4 | |
2020-06-14 | fuzz_tests: fix init check in oss-fuzz mode | moneromooo-monero | 1 | -1/+1 | |
2020-06-14 | fix leaks in fuzz tests | moneromooo-monero | 4 | -17/+34 | |
2020-06-14 | fuzz_tests: add a tx extra fuzz test | moneromooo-monero | 4 | -0/+58 | |
2020-06-09 | repo: update donation fund address | selsta | 3 | -9/+9 | |
2020-05-31 | Fix boost <1.60 compilation and fix boost 1.73+ warnings | Lee Clagett | 1 | -2/+3 | |
2020-05-28 | functional_tests: add simple relay_tx test | moneromooo-monero | 1 | -0/+11 | |
2020-05-27 | tests: fix missing error on missing python entry point | moneromooo-monero | 1 | -0/+1 | |
2020-05-20 | ByteSlice: Fix persisting ptr to std::moved SSO buffer | Doyle | 1 | -0/+23 | |
The Bug: 1. Construct `byte_slice.portion_` with `epee::span(buffer)` which copies a pointer to the SSO buffer to `byte_slice.portion_` 2. It constructs `byte_slice.storage_` with `std::move(buffer)` (normally this swap pointers, but SSO means a memcpy and clear on the original SSO buffer) 3. `slice.data()` returns a pointer from `slice.portion_` that points to the original SSO cleared buffer, `slice.storage_` has the actual string. | |||||
2020-05-16 | Support for supercop ASM in wallet, and benchmark for supercop | Lee Clagett | 3 | -0/+479 | |
2020-05-15 | fuzz_tests: refactor and add OSS-Fuzz compatibility | moneromooo-monero | 15 | -540/+228 | |
2020-05-15 | Add randomized delay when forwarding txes from i2p/tor -> ipv4/6 | Lee Clagett | 1 | -8/+246 | |
2020-05-14 | build: fix boost 1.73 compatibility | selsta | 1 | -2/+2 | |
2020-05-12 | Fixed bugs for take_slice and byte_stream->byte_slice | Lee Clagett | 1 | -0/+31 | |
2020-05-11 | remove double includes | sumogr | 2 | -3/+0 | |
2020-05-06 | Update copyright year to 2020 | SomaticFanatic | 181 | -181/+181 | |
Update copyright year to 2020 | |||||
2020-05-04 | Adding ZMQ/Pub support for txpool_add and chain_main events | Lee Clagett | 4 | -8/+776 | |
2020-05-03 | performance_tests: some windows fixes | moneromooo-monero | 2 | -2/+2 | |
Too many iterations cause std::bad_alloc for the timings vector, and the micro prefix displays as some other character, so use u. Reported by iDunk | |||||
2020-04-27 | trezor: adapt to new passphrase mechanism | Dusan Klinec | 4 | -57/+43 | |
- choice where to enter passphrase is now made on the host - use wipeable string in the comm stack - wipe passphrase memory - protocol optimizations, prepare for new firmware version - minor fixes and improvements - tests fixes, HF12 support | |||||
2020-04-24 | Revert functional test changes in babf25d2e and 571546067 | Lee Clagett | 3 | -65/+25 | |
2020-04-18 | unit_tests: fix gcc+ warning | Sumo Gr | 1 | -0/+4 | |
2020-04-15 | Allow wallet2.h to run in WebAssembly | woodser | 1 | -0/+5 | |
- Add abstract_http_client.h which http_client.h extends. - Replace simple_http_client with abstract_http_client in wallet2, message_store, message_transporter, and node_rpc_proxy. - Import and export wallet data in wallet2. - Use #if defined __EMSCRIPTEN__ directives to skip incompatible code. | |||||
2020-04-14 | Bulletproofs: verification speedup | Sarang Noether | 3 | -0/+11 | |
2020-04-11 | Add byte_stream for zero-copy serialization, and add support in ZMQ-JSON. | Lee Clagett | 2 | -5/+259 | |
2020-04-06 | functional_tests: ensure signatures never reuse a timestamp | moneromooo-monero | 1 | -0/+2 | |
2020-04-06 | functional_tests: ensure signed timestamps are fresh | moneromooo-monero | 1 | -1/+3 | |
This fixes a test failure now that timestamps are more constrained | |||||
2020-04-03 | Use byte_slice for sending zmq messages - removes data copy within zmq | Lee Clagett | 1 | -0/+39 | |
2020-03-31 | cryptonote_basic: drop unused verification_context::m_not_rct field | xiphon | 1 | -3/+0 | |
2020-03-30 | Always reject duplicate key-images from second txid | Lee Clagett | 1 | -13/+39 | |
2020-03-30 | Allow unrestricted rpc calls to get full txpool info | Lee Clagett | 2 | -12/+26 | |
2020-03-30 | Fixed string_ref usage bug in epee::from_hex::vector | Lee Clagett | 1 | -0/+3 | |
2020-03-28 | Fix network unit tests after epee changes | Lee Clagett | 1 | -2/+2 | |
2020-03-26 | Adding Dandelion++ support to public networks: | Lee Clagett | 5 | -29/+1118 | |
- New flag in NOTIFY_NEW_TRANSACTION to indicate stem mode - Stem loops detected in tx_pool.cpp - Embargo timeout for a blackhole attack during stem phase | |||||
2020-03-26 | functional_tests: speed up signature generation | moneromooo-monero | 2 | -5/+29 | |
Executing a new binary for each signature can get really slow | |||||
2020-03-26 | functional_tests: update cookie at 10 seconds interval | moneromooo-monero | 1 | -0/+28 | |
Otherwise the daemon will start rejecting | |||||
2020-03-22 | protocol: request txpool contents when synced | moneromooo-monero | 2 | -0/+4 | |
A newly synced Alice sends a (typically quite small) list of txids in the local tpxool to a random peer Bob, who then uses the existing tx relay system to send Alice any tx in his txpool which is not in the list Alice sent | |||||
2020-03-20 | p2p: remove old debug commands | Aaron Hook | 4 | -2/+2 | |
2020-03-14 | Correct key image check in tx_pool | Lee Clagett | 3 | -0/+64 | |
2020-03-10 | Fix receive order leakage with tx fluffing | Lee Clagett | 1 | -8/+12 | |
2020-03-09 | Move hex->bin conversion to monero copyright files and with less includes | Lee Clagett | 1 | -3/+43 | |
2020-03-05 | Various improvements to the ZMQ JSON-RPC handling: | Lee Clagett | 2 | -20/+38 | |
- Finding handling function in ZMQ JSON-RPC now uses binary search - Temporary `std::vector`s in JSON output now use `epee::span` to prevent allocations. - Binary -> hex in JSON output no longer allocates temporary buffer - C++ structs -> JSON skips intermediate DOM creation, and instead write directly to an output stream. | |||||
2020-02-28 | daemon: auto public nodes - cache and prioritize most stable nodes | xiphon | 2 | -0/+173 | |
2020-02-18 | unit_tests: fix missing test names | xiphon | 2 | -5/+1 | |
2020-02-17 | remove empty statements | Interchained | 2 | -2/+2 | |
Cleaning up a little around the code base. | |||||
2020-02-12 | wipeable_string: split - treat CR, LF and Tabs as separators | xiphon | 1 | -0/+1 | |
2020-01-26 | serialization: do not write optional fields with default value | moneromooo-monero | 1 | -2/+2 | |
2020-01-26 | network: log traffic and add a simple traffic analysis script | moneromooo-monero | 3 | -18/+19 | |
2020-01-26 | wallet: do not split integrated addresses in address book api | moneromooo-monero | 2 | -60/+5 | |
2020-01-19 | fix tests bug added in #6110 | Dusan Klinec | 1 | -4/+10 | |
- e.g., fixes gen_block_big_major_version test, error: generation failed: what=events not set, cannot compute valid RandomX PoW - ask for events only if difficulty > 1 (when it really matters) - throwing an exception changed to logging, so it is easy to spot a problem if tests start to fail. | |||||
2020-01-18 | net: fix incorrect less operator for top/i2p addresses | Aaron Hook | 1 | -23/+403 | |
2019-12-31 | wallet: allow message sign/verify for subaddresses | moneromooo-monero | 1 | -8/+23 | |
2019-12-12 | print_coinbase_tx_sum now supports 128 bits sums | moneromooo-monero | 1 | -0/+5 | |
The tail emission will bring the total above 64 bits | |||||
2019-12-01 | unit_tests: remove invalid bulletproofs unit test | moneromooo-monero | 1 | -9/+0 | |
It was intended to check a case which is actually valid (0 gamma), but was actually duplicating the bad amount test. Reported by WhatDo_ on IRC. | |||||
2019-11-27 | make_test_signature: exit nicely on top level exception | moneromooo-monero | 1 | -0/+2 | |
Coverity 205411 | |||||
2019-11-18 | Fixed bug in ZMQ JSON-RPC method field | Lee Clagett | 2 | -1/+58 | |
2019-11-13 | tests: fix HF12 chaingen - construct bc object from events | Dusan Klinec | 3 | -22/+180 | |
2019-11-12 | rpc: Only show version string if it matches expected pattern | Nathan Dorfman | 2 | -1/+51 | |
2019-11-10 | core_tests: reset thread pool between tests | moneromooo-monero | 1 | -0/+2 | |
Avoids a DB error (leading to an assert) where a thread uses a read txn previously created with an environment that was since closed and reopened. While this usually works since BlockchainLMDB renews txns if it detects the environment has changed, this will not work if objects end up being allocated at the same address as the previous instance, leading to stale data usage. Thanks hyc for the LMDB debugging. | |||||
2019-11-04 | Change to Tx diffusion (Dandelion++ fluff) instead of flooding | Lee Clagett | 2 | -16/+84 | |
2019-11-04 | Improved performance for epee serialization: | Lee Clagett | 1 | -3/+3 | |
- Removed copy of field names in binary deserialization - Removed copy of array values in binary deserialization - Removed copy of string values in json deserialization - Removed unhelpful allocation in json string value parsing - Removed copy of blob data on binary and json serialization | |||||
2019-11-02 | Adding support for hidden (anonymity) txpool | Lee Clagett | 10 | -36/+739 | |
2019-10-31 | unit_tests: fix use after free | moneromooo-monero | 1 | -7/+16 | |
2019-10-31 | cryptonote: untangle dependency from miner to blockchain | moneromooo-monero | 1 | -2/+6 | |
It causes link errors at least on mac | |||||
2019-10-31 | cryptonote: untangle dependency from miner to blockchain | moneromooo-monero | 1 | -2/+6 | |
It causes link errors at least on mac | |||||
2019-10-30 | core_tests: remove some useless verbose logs | moneromooo-monero | 4 | -5/+0 | |
2019-10-30 | unit_tests: fix use after free | moneromooo-monero | 1 | -7/+16 | |
2019-10-27 | functional_tests: ensure mining stops on error in mining test | moneromooo-monero | 1 | -1/+11 | |
this prevents messing up any subsequent test too | |||||
2019-10-25 | functional_tests: fix rpc_payment tests with python 3 | moneromooo-monero | 1 | -3/+4 | |
2019-10-25 | daemon, wallet: new pay for RPC use system | moneromooo-monero | 7 | -6/+506 | |
Daemons intended for public use can be set up to require payment in the form of hashes in exchange for RPC service. This enables public daemons to receive payment for their work over a large number of calls. This system behaves similarly to a pool, so payment takes the form of valid blocks every so often, yielding a large one off payment, rather than constant micropayments. This system can also be used by third parties as a "paywall" layer, where users of a service can pay for use by mining Monero to the service provider's address. An example of this for web site access is Primo, a Monero mining based website "paywall": https://github.com/selene-kovri/primo This has some advantages: - incentive to run a node providing RPC services, thereby promoting the availability of third party nodes for those who can't run their own - incentive to run your own node instead of using a third party's, thereby promoting decentralization - decentralized: payment is done between a client and server, with no third party needed - private: since the system is "pay as you go", you don't need to identify yourself to claim a long lived balance - no payment occurs on the blockchain, so there is no extra transactional load - one may mine with a beefy server, and use those credits from a phone, by reusing the client ID (at the cost of some privacy) - no barrier to entry: anyone may run a RPC node, and your expected revenue depends on how much work you do - Sybil resistant: if you run 1000 idle RPC nodes, you don't magically get more revenue - no large credit balance maintained on servers, so they have no incentive to exit scam - you can use any/many node(s), since there's little cost in switching servers - market based prices: competition between servers to lower costs - incentive for a distributed third party node system: if some public nodes are overused/slow, traffic can move to others - increases network security - helps counteract mining pools' share of the network hash rate - zero incentive for a payer to "double spend" since a reorg does not give any money back to the miner And some disadvantages: - low power clients will have difficulty mining (but one can optionally mine in advance and/or with a faster machine) - payment is "random", so a server might go a long time without a block before getting one - a public node's overall expected payment may be small Public nodes are expected to compete to find a suitable level for cost of service. The daemon can be set up this way to require payment for RPC services: monerod --rpc-payment-address 4xxxxxx \ --rpc-payment-credits 250 --rpc-payment-difficulty 1000 These values are an example only. The --rpc-payment-difficulty switch selects how hard each "share" should be, similar to a mining pool. The higher the difficulty, the fewer shares a client will find. The --rpc-payment-credits switch selects how many credits are awarded for each share a client finds. Considering both options, clients will be awarded credits/difficulty credits for every hash they calculate. For example, in the command line above, 0.25 credits per hash. A client mining at 100 H/s will therefore get an average of 25 credits per second. For reference, in the current implementation, a credit is enough to sync 20 blocks, so a 100 H/s client that's just starting to use Monero and uses this daemon will be able to sync 500 blocks per second. The wallet can be set to automatically mine if connected to a daemon which requires payment for RPC usage. It will try to keep a balance of 50000 credits, stopping mining when it's at this level, and starting again as credits are spent. With the example above, a new client will mine this much credits in about half an hour, and this target is enough to sync 500000 blocks (currently about a third of the monero blockchain). There are three new settings in the wallet: - credits-target: this is the amount of credits a wallet will try to reach before stopping mining. The default of 0 means 50000 credits. - auto-mine-for-rpc-payment-threshold: this controls the minimum credit rate which the wallet considers worth mining for. If the daemon credits less than this ratio, the wallet will consider mining to be not worth it. In the example above, the rate is 0.25 - persistent-rpc-client-id: if set, this allows the wallet to reuse a client id across runs. This means a public node can tell a wallet that's connecting is the same as one that connected previously, but allows a wallet to keep their credit balance from one run to the other. Since the wallet only mines to keep a small credit balance, this is not normally worth doing. However, someone may want to mine on a fast server, and use that credit balance on a low power device such as a phone. If left unset, a new client ID is generated at each wallet start, for privacy reasons. To mine and use a credit balance on two different devices, you can use the --rpc-client-secret-key switch. A wallet's client secret key can be found using the new rpc_payments command in the wallet. Note: anyone knowing your RPC client secret key is able to use your credit balance. The wallet has a few new commands too: - start_mining_for_rpc: start mining to acquire more credits, regardless of the auto mining settings - stop_mining_for_rpc: stop mining to acquire more credits - rpc_payments: display information about current credits with the currently selected daemon The node has an extra command: - rpc_payments: display information about clients and their balances The node will forget about any balance for clients which have been inactive for 6 months. Balances carry over on node restart. | |||||
2019-10-21 | Support median block size > 4 GB | moneromooo-monero | 1 | -0/+116 | |
add a 128/64 division routine so we can use a > 32 bit median block size in calculations | |||||
2019-10-15 | functional_tests: fix transfer test - long payment ids are gone | moneromooo-monero | 1 | -1/+1 | |
2019-10-15 | unit_tests: fix build after rename | moneromooo-monero | 1 | -4/+6 | |
2019-10-14 | wallet_rpc_server: don't report integrated addresses for 0 payment ID | moneromooo-monero | 1 | -1/+1 | |
These are dummy ones | |||||
2019-10-14 | wallet: remove long payment ID sending support | moneromooo-monero | 2 | -10/+15 | |
2019-10-14 | wallet2: ignore received unencrypted payment IDs (but warn hard) | moneromooo-monero | 1 | -6/+6 | |
2019-10-13 | p2p+rpc: don't skip p2p or rpc port bind failure by default | xiphon | 2 | -7/+42 | |
2019-10-11 | cryptonote: add function to get weight from a pruned tx | moneromooo-monero | 1 | -0/+37 | |
The weight of the prunable data is deterministic from the unpruned data, so it can be determined from a pruned tx | |||||
2019-10-11 | unit_tests: fix build with boost 1.69 | moneromooo-monero | 1 | -3/+6 | |
2019-10-04 | unit_tests: fix ringdb unit tests | moneromooo-monero | 1 | -5/+11 | |
2019-09-27 | monerod can now sync from pruned blocks | moneromooo-monero | 4 | -17/+35 | |
If the peer (whether pruned or not itself) supports sending pruned blocks to syncing nodes, the pruned version will be sent along with the hash of the pruned data and the block weight. The original tx hashes can be reconstructed from the pruned txes and theur prunable data hash. Those hashes and the block weights are hashes and checked against the set of precompiled hashes, ensuring the data we received is the original data. It is currently not possible to use this system when not using the set of precompiled hashes, since block weights can not otherwise be checked for validity. This is off by default for now, and is enabled by --sync-pruned-blocks | |||||
2019-09-25 | RandomX integration | Howard Chu | 2 | -4/+4 | |
Support RandomX PoW algorithm | |||||
2019-09-17 | blockchain: enforce 10 block age for spending outputs | moneromooo-monero | 3 | -6/+40 | |
Some custom wallet code apparently ignores this, which causes users of that code to be fingerprinted | |||||
2019-09-17 | functional_tests: fix failure on windows removing files | moneromooo-monero | 1 | -0/+2 | |
2019-09-17 | fix wallet python test when run with ctest | moneromooo-monero | 2 | -1/+3 | |
2019-09-17 | functional_tests: python3 compatibility | moneromooo-monero | 7 | -15/+15 | |
and add missing tests | |||||
2019-09-17 | functional_tests: pop exactly what we need to test before testing | moneromooo-monero | 10 | -10/+20 | |
2019-09-17 | functional_tests: check for RPC methods which aren't exposed | moneromooo-monero | 2 | -0/+54 | |
2019-09-17 | functional_tests: add get_transaction_pool_stats | moneromooo-monero | 1 | -0/+84 | |
Also fix part of the RPC results being returned as binary. This makes the RPC backward incompatible. | |||||
2019-09-17 | functional_tests: add save_bc | moneromooo-monero | 1 | -0/+3 | |
2019-09-17 | functional_tests: add is_key_image_spent tests | moneromooo-monero | 1 | -1/+45 | |