aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_basic/cryptonote_format_utils.h
Commit message (Collapse)AuthorAgeFilesLines
* cryptonote_basic: pruned hash return boolj-berman2026-04-211-1/+1
|
* blockchain sync: reduce disk writes from 2 to 1 per txjeffro2562025-03-101-0/+1
|
* ledger support for hf 15 (BP+, view tags)j-berman2022-08-061-1/+1
|
* Add view tags to outputs to reduce wallet scanning timej-berman2022-04-181-2/+7
| | | | | | | | | | | | | 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.
* Fee changes from ArticMinemoneromooo-monero2022-04-101-0/+2
| | | | | | 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
* Copyright: Update to 2022mj-xmr2022-03-041-1/+1
|
* Improve cryptonote (block and tx) binary read performanceLee Clagett2021-01-231-3/+1
|
* New add_aux_pow RPC to support merge miningmoneromooo-monero2021-02-091-0/+1
|
* Avoid some temporary strings when reading off the databasemoneromooo-monero2020-08-171-13/+13
|
* Update copyright year to 2020SomaticFanatic2020-05-061-1/+1
| | | | Update copyright year to 2020
* Add timelock verification on devicecslashm2020-04-081-0/+2
|
* print_coinbase_tx_sum now supports 128 bits sumsmoneromooo-monero2019-12-121-0/+2
| | | | The tail emission will bring the total above 64 bits
* cryptonote: add function to get weight from a pruned txmoneromooo-monero2019-10-111-0/+1
| | | | | The weight of the prunable data is deterministic from the unpruned data, so it can be determined from a pruned tx
* RandomX integrationHoward Chu2019-09-251-2/+0
| | | | Support RandomX PoW algorithm
* functional_tests: add more blockchain related testsmoneromooo-monero2019-04-111-0/+10
| | | | | Related to emission, reorgs, getting tx data back, output distribution and histogram
* cryptonote: block parsing + hash calculation speedupmoneromooo-monero2019-03-251-1/+3
| | | | This saves a duplicate serialization step
* Update 2019 copyrightbinaryFate2019-03-051-1/+1
|
* core: avoid calculating tx prefix hash when we don't need itmoneromooo-monero2019-03-051-0/+1
|
* db: speedup block additionmoneromooo-monero2019-03-051-2/+4
| | | | by avoiding repeated (de)serialization
* Pruningmoneromooo-monero2019-01-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The blockchain prunes seven eighths of prunable tx data. This saves about two thirds of the blockchain size, while keeping the node useful as a sync source for an eighth of the blockchain. No other data is currently pruned. There are three ways to prune a blockchain: - run monerod with --prune-blockchain - run "prune_blockchain" in the monerod console - run the monero-blockchain-prune utility The first two will prune in place. Due to how LMDB works, this will not reduce the blockchain size on disk. Instead, it will mark parts of the file as free, so that future data will use that free space, causing the file to not grow until free space grows scarce. The third way will create a second database, a pruned copy of the original one. Since this is a new file, this one will be smaller than the original one. Once the database is pruned, it will stay pruned as it syncs. That is, there is no need to use --prune-blockchain again, etc.
* Merge pull request #4308Riccardo Spagni2018-10-261-0/+2
|\ | | | | | | 9907ea06 cryptonote: sort tx_extra fields (moneromooo-monero)
| * cryptonote: sort tx_extra fieldsmoneromooo-monero2018-10-071-0/+2
| | | | | | | | | | | | | | This removes some small amount of fingerprinting entropy. There is no consensus rule to require this since this field is technically free form, and a transaction is free to have custom data in it.
* | tx_pool: avoid parsing a whole tx if only the prefix is neededmoneromooo-monero2018-10-081-0/+1
| |
* | v8: per byte fee, pad bulletproofs, fixed 11 ring sizemoneromooo-monero2018-09-111-0/+2
|/
* db_lmdb: save pruned and prunable tx data separatelymoneromooo-monero2018-05-231-0/+4
| | | | This bumps DB version to 2, migration code will run for v1 DBs
* device: untangle cyclic depenencystoffu2018-03-141-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | When #3303 was merged, a cyclic dependency chain was generated: libdevice <- libcncrypto <- libringct <- libdevice This was because libdevice needs access to a set of basic crypto operations implemented in libringct such as scalarmultBase(), while libringct also needs access to abstracted crypto operations implemented in libdevice such as ecdhEncode(). To untangle this cyclic dependency chain, this patch splits libringct into libringct_basic and libringct, where the basic crypto ops previously in libringct are moved into libringct_basic. The cyclic dependency is now resolved thanks to this separation: libcncrypto <- libringct_basic <- libdevice <- libcryptonote_basic <- libringct This eliminates the need for crypto_device.cpp and rctOps_device.cpp. Also, many abstracted interfaces of hw::device such as encrypt_payment_id() and get_subaddress_secret_key() were previously implemented in libcryptonote_basic (cryptonote_format_utils.cpp) and were then called from hw::core::device_default, which is odd because libdevice is supposed to be independent of libcryptonote_basic. Therefore, those functions were moved to device_default.cpp.
* Code modifications to integrate Ledger HW device into monero-wallet-cli.cslashm2018-03-041-3/+13
| | | | | | | | | | | | | | | | | | | The basic approach it to delegate all sensitive data (master key, secret ephemeral key, key derivation, ....) and related operations to the device. As device has low memory, it does not keep itself the values (except for view/spend keys) but once computed there are encrypted (with AES are equivalent) and return back to monero-wallet-cli. When they need to be manipulated by the device, they are decrypted on receive. Moreover, using the client for storing the value in encrypted form limits the modification in the client code. Those values are transfered from one C-structure to another one as previously. The code modification has been done with the wishes to be open to any other hardware wallet. To achieve that a C++ class hw::Device has been introduced. Two initial implementations are provided: the "default", which remaps all calls to initial Monero code, and the "Ledger", which delegates all calls to Ledger device.
* wallet2: speed up subaddress generation (by about a third)moneromooo-monero2018-02-161-0/+1
|
* Update 2018 copyrightxmr-eric2018-01-261-1/+1
|
* move includes around to lessen overall loadmoneromooo-monero2017-12-161-1/+1
|
* new wipeable_string class to replace std::string passphrasesmoneromooo-monero2017-11-271-2/+7
|
* cryptonote: do not overwrite const datamoneromooo-monero2017-11-221-2/+2
|
* refactor cryptonote_basic::add_tx_pub_key_to_extraJaquee2017-10-151-0/+2
|
* Subaddresseskenshi842017-10-071-4/+16
|
* wallet: add encrypted seed functionalitymoneromooo-monero2017-09-121-0/+2
| | | | | This uses luigi1111's CN_Add method. See https://xmr.llcoins.net for details.
* some include cleanupmoneromooo-monero2017-07-311-1/+0
|
* core: cache tx and block hashes in the respective classesmoneromooo-monero2017-03-231-0/+3
| | | | An idea from smooth
* Merge pull request #1826Riccardo Spagni2017-03-031-1/+4
|\ | | | | | | 2c468dd4 allow user I/O in millinero, micronero, nanonero, piconero (moneromooo-monero)
| * allow user I/O in millinero, micronero, nanonero, piconeromoneromooo-monero2017-03-021-1/+4
| |
* | core: add functions to serialize base tx infomoneromooo-monero2017-02-271-0/+1
|/ | | | | That is, information without signatures (for v1) nor range proofs and MGs (for v2)
* update copyright year, fix occasional lack of newline at line endRiccardo Spagni2017-02-211-1/+1
|
* extract some basic code from libcryptonote_core into libcryptonote_basickenshi842017-02-081-0/+213