aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_basic/cryptonote_format_utils.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2020-04-08Add timelock verification on devicecslashm1-0/+2
2019-12-12print_coinbase_tx_sum now supports 128 bits sumsmoneromooo-monero1-0/+2
The tail emission will bring the total above 64 bits
2019-10-11cryptonote: add function to get weight from a pruned txmoneromooo-monero1-0/+1
The weight of the prunable data is deterministic from the unpruned data, so it can be determined from a pruned tx
2019-09-25RandomX integrationHoward Chu1-2/+0
Support RandomX PoW algorithm
2019-04-11functional_tests: add more blockchain related testsmoneromooo-monero1-0/+10
Related to emission, reorgs, getting tx data back, output distribution and histogram
2019-03-25cryptonote: block parsing + hash calculation speedupmoneromooo-monero1-1/+3
This saves a duplicate serialization step
2019-03-05Update 2019 copyrightbinaryFate1-1/+1
2019-03-05core: avoid calculating tx prefix hash when we don't need itmoneromooo-monero1-0/+1
2019-03-05db: speedup block additionmoneromooo-monero1-2/+4
by avoiding repeated (de)serialization
2019-01-22Pruningmoneromooo-monero1-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.
2018-10-26Merge pull request #4308Riccardo Spagni1-0/+2
9907ea06 cryptonote: sort tx_extra fields (moneromooo-monero)
2018-10-08tx_pool: avoid parsing a whole tx if only the prefix is neededmoneromooo-monero1-0/+1
2018-10-07cryptonote: sort tx_extra fieldsmoneromooo-monero1-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.
2018-09-11v8: per byte fee, pad bulletproofs, fixed 11 ring sizemoneromooo-monero1-0/+2
2018-05-23db_lmdb: save pruned and prunable tx data separatelymoneromooo-monero1-0/+4
This bumps DB version to 2, migration code will run for v1 DBs
2018-03-14device: untangle cyclic depenencystoffu1-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.
2018-03-04Code modifications to integrate Ledger HW device into monero-wallet-cli.cslashm1-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.
2018-02-16wallet2: speed up subaddress generation (by about a third)moneromooo-monero1-0/+1
2018-01-26Update 2018 copyrightxmr-eric1-1/+1
2017-12-16move includes around to lessen overall loadmoneromooo-monero1-1/+1
2017-11-27new wipeable_string class to replace std::string passphrasesmoneromooo-monero1-2/+7
2017-11-22cryptonote: do not overwrite const datamoneromooo-monero1-2/+2
2017-10-15refactor cryptonote_basic::add_tx_pub_key_to_extraJaquee1-0/+2
2017-10-07Subaddresseskenshi841-4/+16
2017-09-12wallet: add encrypted seed functionalitymoneromooo-monero1-0/+2
This uses luigi1111's CN_Add method. See https://xmr.llcoins.net for details.
2017-07-31some include cleanupmoneromooo-monero1-1/+0
2017-03-23core: cache tx and block hashes in the respective classesmoneromooo-monero1-0/+3
An idea from smooth
2017-03-03Merge pull request #1826Riccardo Spagni1-1/+4
2c468dd4 allow user I/O in millinero, micronero, nanonero, piconero (moneromooo-monero)
2017-03-02allow user I/O in millinero, micronero, nanonero, piconeromoneromooo-monero1-1/+4
2017-02-27core: add functions to serialize base tx infomoneromooo-monero1-0/+1
That is, information without signatures (for v1) nor range proofs and MGs (for v2)
2017-02-21update copyright year, fix occasional lack of newline at line endRiccardo Spagni1-1/+1
2017-02-08extract some basic code from libcryptonote_core into libcryptonote_basickenshi841-0/+213