aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_basic
Commit message (Collapse)AuthorAgeFilesLines
* define canonical confidential asset payloadHEADmaincenobite pinhead3 hours3-0/+424
|
* bind asset inputs to CLSAG ownership proofscenobite pinhead4 hours2-0/+165
|
* verify confidential per-asset conservationcenobite pinhead4 hours3-0/+174
|
* Validate asset extensions against native carriersMonzero Build System4 hours2-0/+55
|
* Define detached asset transaction extensionsMonzero Build System4 hours2-0/+113
|
* Make block asset issuance atomic and reorg-safeMonzero Build System5 hours2-0/+36
|
* Add authenticated asset registry snapshotsMonzero Build System5 hours2-1/+146
|
* Add authenticated asset issuance payloadMonzero Build System5 hours2-0/+117
|
* Add strict canonical asset descriptor decodingMonzero Build System5 hours2-0/+90
|
* Establish Monzero Phase 0 and inactive assets baselinemonzero-phase0-assets-prototype-20260815Monzero Build System5 hours4-2/+445
|
* Miner: fixed thread 0 always mining with secure JIT (worse performance)SChernykh2026-06-081-1/+2
|
* cryptonote_basic: pruned hash return boolj-berman2026-04-212-6/+6
|
* cryptonote_basic: fix add_extra_nonce_to_tx_extra() lengthjeffro2562026-02-241-4/+8
| | | | Missing unit tests.
* cryptonote_basic: remove redundant call to get_transaction_hash() in overloadjeffro2562025-10-061-1/+0
| | | | Issue noticed by DataHoarder.
* Fix expected hash checkLee *!* Clagett2025-03-241-1/+1
|
* cryptonote_basic: remove unused structtobtoht2025-03-141-9/+0
|
* Merge pull request #9740tobtoht2025-03-103-1/+17
|\ | | | | | | 008ba966d blockchain sync: reduce disk writes from 2 to 1 per tx (jeffro256)
| * blockchain sync: reduce disk writes from 2 to 1 per txjeffro2562025-03-103-1/+17
| |
* | Merge pull request #8617tobtoht2025-02-132-0/+12
|\ \ | | | | | | | | | e44e8b164 wallet: background sync with just the view key (j-berman)
| * | wallet: background sync with just the view keyj-berman2024-05-242-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - When background syncing, the wallet wipes the spend key from memory and processes all new transactions. The wallet saves all receives, spends, and "plausible" spends of receives the wallet does not know key images for. - When background sync disabled, the wallet processes all background synced txs and then clears the background sync cache. - Adding "plausible" spends to the background sync cache ensures that the wallet does not need to query the daemon to see if any received outputs were spent while background sync was enabled. This would harm privacy especially for users of 3rd party daemons. - To enable the feature in the CLI wallet, the user can set background-sync to reuse-wallet-password or custom-background-password and the wallet automatically syncs in the background when the wallet locks, then processes all background synced txs when the wallet is unlocked. - The custom-background-password option enables the user to open a distinct background wallet that only has a view key saved and can be opened/closed/synced separately from the main wallet. When the main wallet opens, it processes the background wallet's cache. - To enable the feature in the RPC wallet, there is a new `/setup_background_sync` endpoint. - HW, multsig and view-only wallets cannot background sync.
* | | Some cleanup in span/connection_context + few more checksLee *!* Clagett2025-02-032-1/+29
| |/ |/|
* | build: fix build with Boost 1.85 and remove instances of viewkey logging ↵jeffro2562024-09-101-2/+2
|/ | | | | | | | | | | [RELEASE] 1. Use std::is_standard_layout and std::is_trivially_copyable instead of std::is_pod for KV byte-wise serialization, which fixes compile issue for Boost UUIDs 2. Removed reimplementation of std::hash for boost::uuids::uuid 3. Removed << operator overload for crypto::secret_key 4. Removed instances in code where private view key was dumped to the log in plaintext Release version of #9450, containing C++14 modified assertions
* Enforce Tx unlock_time is Zero by Relay Rule [RELEASE]jeffro2562024-04-291-0/+1
| | | | | | | | | | | | | | | | Related to https://github.com/monero-project/research-lab/issues/78 Added a relay rule that enforces the `unlock_time` field is equal to 0 for non-coinbase transactions. UIs changed: * Removed `locked_transfer` and `locked_sweep_all` commands from `monero-wallet-cli` APIs changed: * Removed `unlock_time` parameters from `wallet2` transfer methods * Wallet RPC transfer endpoints send error codes when requested unlock time is not 0 * Removed `unlock_time` parameters from `construct_tx*` cryptonote core functions @tobtoht: undo rebase changes tx.dsts -> tx_dsts
* serialization: fix infinite loops and clean up dispatchingjeffro2562024-02-081-4/+4
| | | | Resolves #8687
* Merge pull request #8845luigi11112023-06-271-1/+1
|\ | | | | | | cfc6227 cryptonote_basic: fix amount overflow detection on 32-bit systems [RELEASE] (jeffro256)
| * cryptonote_basic: fix amount overflow detection on 32-bit systems [RELEASE]jeffro2562023-06-021-1/+1
| |
* | Fixed RandomX initialization when mining from scratchSChernykh2023-04-271-1/+8
|/
* cryptonote core/protocol: don't drop peers for soft offensesjeffro2562023-03-291-1/+6
| | | | | | Also: txs with tx_extra which is too large will not get published to ZMQ Co-authored-by: SChernykh <sergey.v.chernykh@gmail.com>
* Add a size limit for tx_extra in tx pooltevador2023-03-181-0/+1
|
* Refactored rx-slow-hash.cSChernykh2022-12-141-2/+3
| | | | | | | | | - Straight-forward call interface: `void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *result_hash)` - Consensus chain seed hash is now updated by calling `rx_set_main_seedhash` whenever a block is added/removed or a reorg happens - `rx_slow_hash` will compute correct hash no matter if `rx_set_main_seedhash` was called or not (the only difference is performance) - New environment variable `MONERO_RANDOMX_FULL_MEM` to force use the full dataset for PoW verification (faster block verification) - When dataset is used for PoW verification, dataset updates don't stall other threads (verification is done in light mode then) - When mining is running, PoW checks now also use dataset for faster verification
* wallet2: check wallet compatibility with daemon's hard fork versionj-berman2022-09-121-0/+5
|
* ledger support for hf 15 (BP+, view tags)j-berman2022-08-062-7/+15
|
* cryptonote_basic: catch crypto api errorsmoneromooo-monero2022-06-201-2/+2
|
* src, epee: fix a couple compiler warningsselsta2022-05-171-2/+0
|
* Preserve commitment format inside transactionsLuke Parker2022-04-211-1/+1
|
* Merge pull request #8061luigi11112022-04-194-30/+170
|\ | | | | | | ea87b30 Add view tags to outputs to reduce wallet scanning time (j-berman)
| * Add view tags to outputs to reduce wallet scanning timej-berman2022-04-184-30/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Move copyable_atomic into connection_contextJeffrey2022-04-181-4/+35
|/ | | | | Relevant commit from old PR: bd0a5119957d3ef9130a0b82599e1696995ef235
* Merge pull request #8207luigi11112022-04-181-14/+1
|\ | | | | | | 4db6aed CMake: Add missing headers via monero_find_all_headers macro (mj-xmr)
| * CMake: Add missing headers via monero_find_all_headers macromj-xmr2022-04-061-14/+1
| |
* | Fee changes from ArticMinemoneromooo-monero2022-04-102-0/+65
|/ | | | | | 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
* Merge pull request #8223luigi11112022-04-062-10/+9
|\ | | | | | | 17772ef Eliminate dependence on boost::interprocess #8223 (Jeffrey)
| * Eliminate dependence on boost::interprocess #8223Jeffrey2022-03-302-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | In this repo, `boost::interprocess` was being used soley to make `uint32_t` operations atomic. So I replaced each instance of `boost::interprocess::ipcdetail::atomic(...)32` with `std::atomic` methods. I replaced member declarations as applicable. For example, when I needed to change a `volatile uint32_t` into a `std::atomic<uint32_t>`. Sometimes, a member was being used a boolean flag, so I replaced it with `std::atomic<bool>`. You may notice that I didn't touch `levin_client_async.h`. That is because this file is entirely unused and will be deleted in PR monero-project#8211. Additional changes from review: * Make some local variables const * Change postfix operators to prefix operators where value was not need
* | Merge pull request #8197luigi11112022-04-0627-27/+32
|\ \ | | | | | | | | | da9aa1f Copyright: Update to 2022 (mj-xmr)
| * | Copyright: Update to 2022mj-xmr2022-03-0427-27/+32
| |/
* | store outPk/8 in the tx for speedmoneromooo-monero2022-04-051-1/+1
| | | | | | | | | | | | 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
* | plug bulletproofs plus into consensusmoneromooo-monero2022-04-052-14/+65
|/
* multisig key exchange update and refactorkoe2022-02-223-7/+20
|
* RPC and ZeroMQ APIs to support p2poolSChernykh2021-09-113-0/+4
| | | | | | | | | | | | | | | | | | | | Adds the following: - "get_miner_data" to RPC API - "json-miner-data" to ZeroMQ subscriber contexts Both provide the necessary data to create a custom block template. They are used by p2pool. Data provided: - major fork version - current height - previous block id - RandomX seed hash - network difficulty - median block weight - coins mined by the network so far - mineable mempool transactions
* cmake: fix undefined symbols and multiple definitionsanon2021-07-133-16/+58
|