aboutsummaryrefslogtreecommitdiff
path: root/tests/functional_tests (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-07-16Merge pull request #9338luigi111130-30/+30
4a376d6 copyright: fix vector.h typo (hinto.janaiyo) d61e8e9 workflows: delete copyright.yml (plowsof) 341771a copyright: bump to 2024 (copyCat)
2024-05-24wallet: background sync with just the view keyj-berman3-35/+433
- 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.
2024-05-21copyright: bump to 2024copyCat30-30/+30
2024-05-20Merge pull request #9245luigi11112-11/+123
8e80585 functional_tests: test HTTP digest auth (jeffro256)
2024-03-11functional_tests: test HTTP digest authjeffro2562-11/+123
Test: 1. Can't login to RPC server with --rpc-login enabled, but no auth provided 2. Can access RPC server with correct login 3. Can use internal HTTP client to access RPC server with correct login With commit 0ae5c91e504b8007dedc2b89c9b2b49c404ffec6 not reverted, we fail test 3.
2024-02-24Enforce Tx unlock_time is Zero by Relay Rulejeffro2561-1/+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
2024-02-20wallet: feature: transfer amount with fee includedjeffro2561-0/+81
To transfer ~5 XMR to an address such that your balance drops by exactly 5 XMR, provide a `subtractfeefrom` flag to the `transfer` command. For example: transfer 76bDHojqFYiFCCYYtzTveJ8oFtmpNp3X1TgV2oKP7rHmZyFK1RvyE4r8vsJzf7SyNohMnbKT9wbcD3XUTgsZLX8LU5JBCfm 5 subtractfeefrom=all If my walet balance was exactly 30 XMR before this transaction, it will be exactly 25 XMR afterwards and the destination address will receive slightly less than 5 XMR. You can manually select which destinations fund the transaction fee and which ones do not by providing the destination index. For example: transfer 75sr8AAr... 3 74M7W4eg... 4 7AbWqDZ6... 5 subtractfeefrom=0,2 This will drop your balance by exactly 12 XMR including fees and will spread the fee cost proportionally (3:5 ratio) over destinations with addresses `75sr8AAr...` and `7AbWqDZ6...`, respectively. Disclaimer: This feature was paid for by @LocalMonero.
2023-10-25Merge pull request #8958luigi11112-1/+319
b0bf49a blockchain_db: add k-anonymity to txid fetching (jeffro256)
2023-08-19functional_tests: fix multisig tests noutputs assertionjeffro2561-89/+50
The changes to the multisig tests in #8914 and #8904 affected each other, this PR cleans up the code and fixes that issue.
2023-08-17Merge pull request #8914luigi11111-9/+146
45b52de wallet-rpc: restore from multisig seed (jeffro256)
2023-08-17Merge pull request #8890luigi11111-0/+10
e8cac61 core_rpc_server: return ID of submitted block (jeffro256)
2023-08-01blockchain_db: add k-anonymity to txid fetchingjeffro2562-1/+319
Read more about k-anonymity [here](https://en.wikipedia.org/wiki/K-anonymity). We implement this feature in the monero daemon for transactions by providing a "Txid Template", which is simply a txid with all but `num_matching_bits` bits zeroed out, and the number `num_matching_bits`. We add an operation to `BlockchainLMDB` called `get_txids_loose` which takes a txid template and returns all txids in the database (chain and mempool) that satisfy that template. Thus, a client can ask about a specific transaction from a daemon without revealing the exact transaction they are inquiring about. The client can control the statistical chance that other TXIDs (besides the one in question) match the txid template sent to the daemon up to a power of 2. For example, if a client sets their `num_matching_bits` to 5, then statistically any txid has a 1/(2^5) chance to match. With `num_matching_bits`=10, there is a 1/(2^10) chance, so on and so forth. Co-authored-by: ACK-J <60232273+ACK-J@users.noreply.github.com>
2023-07-28wallet-rpc: restore from multisig seedjeffro2561-9/+146
2023-07-06Merge pull request #8904luigi11111-0/+101
369a5a8 wallet: respect frozen key images in multisig wallets (jeffro256)
2023-06-30core_rpc_server: return ID of submitted blockjeffro2561-0/+10
2023-06-15wallet2: fix rescanning tx via scan_txj-berman2-7/+224
- Detach & re-process txs >= lowest scan height - ensures that if a user calls scan_tx(tx1) after scanning tx2, the wallet correctly processes tx1 and tx2 - if a user provides a tx with a height higher than the wallet's last scanned height, the wallet will scan starting from that tx's height - scan_tx requires trusted daemon iff need to re-process existing txs: in addition to querying a daemon for txids, if a user provides a txid of a tx with height *lower* than any *already* scanned txs in the wallet, then the wallet will also query the daemon for all the *higher* txs as well. This is likely unexpected behavior to a caller, and so to protect a caller from revealing txid's to an untrusted daemon in an unexpected way, require the daemon be trusted.
2023-06-12wallet: respect frozen key images in multisig walletsjeffro2561-0/+101
Before this change, if a multisig peer asked you to sign a transaction with a frozen enote, the wallet will do it without any error or warning. This change makes it so that wallets will refuse to sign multisig transactions with frozen enotes. Disclaimer: This PR was generously funded by @LocalMonero.
2023-04-25Merge pull request #8796luigi11111-0/+34
7a4a03d wallet2: do not commit transactions more than once (moneromooo-monero)
2023-03-21wallet2: do not commit transactions more than oncemoneromooo-monero1-0/+34
Fixes #8793
2023-01-16Copyright: Update to 2023mj-xmr28-28/+28
Co-authored-by: plowsof <plowsof@protonmail.com> extra files
2022-09-12wallet2: check wallet compatibility with daemon's hard fork versionj-berman1-1/+1
2022-09-09Merge pull request #8513luigi11112-19/+103
959a3e6 wallet2: ensure imported outputs subaddresses are created (moneromooo-monero) a098504 wallet2: better test on whether to allow output import (moneromooo-monero) c5579ac allow exporting outputs in chunks (moneromooo-monero) 1e912ec wallet2: fixes for export/import output flow (j-berman) 692f1d4 wallet2: do not assume imported outputs must be non empty (moneromooo-monero) 67b6d6a wallet2: prevent importing outputs in a hot wallet (moneromooo-monero) d9fc666 wallet2: fix missing subaddress indices in 'light' exported outputs (moneromooo-monero)
2022-08-22Merge pull request #8450luigi11112-2/+4
600de07 wallet_rpc_server: longer timeout for stop_mining (moneromooo-monero) ac6db92 functional_tests: silence the cpu power test program (moneromooo-monero)
2022-08-18wallet2: better test on whether to allow output importmoneromooo-monero1-0/+9
Being offline is not a good enough heuristic, so we keep track of whether the wallet ever refreshed from a daemon, which is a lot better, and probably the best we can do without manual user designation (which would break existing cold wallet setups till the user designates those wallets)
2022-08-18allow exporting outputs in chunksmoneromooo-monero1-14/+40
this will make it easier huge wallets to do so without hitting random limits (eg, max string size in node).
2022-08-16wallet2: fixes for export/import output flowj-berman2-18/+67
- only allow offline wallets to import outputs - don't import empty outputs - export subaddress indexes when exporting outputs
2022-07-21Publish submitted txs via zmqj-berman3-4/+24
2022-07-21functional_tests: silence the cpu power test programmoneromooo-monero2-2/+4
it's very spammy and drowns the test output
2022-05-17disable multisig by defaultmoneromooo-monero1-5/+5
There are vulnerabilities in multisig protocol if the parties do not trust each other, and while there is a patch for it, it has not been throroughly reviewed yet, so it is felt safer to disable multisig by default for now. If all parties in a multisig setup trust each other, then it is safe to enable multisig.
2022-05-10Merge pull request #8220luigi11111-33/+52
0d6ecb1 multisig: add post-kex verification round to check that all participants have completed the multisig address (koe)
2022-04-29multisig: add post-kex verification round to check that all participants ↵koe1-33/+52
have completed the multisig address
2022-04-18Bump ring size to 16 for v15 & remove set default in wallet clij-berman4-13/+13
2022-04-10Fee changes from ArticMinemoneromooo-monero1-4/+4
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-06tests: integrated_address: remove missing payment id assertionreemuru1-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-06Merge pull request #8197luigi111128-28/+34
da9aa1f Copyright: Update to 2022 (mj-xmr)
2022-03-18Merge pull request #8158luigi11111-5/+2
e5000a9 Balance includes unconfirmed transfers to self (woodser)
2022-03-04Copyright: Update to 2022mj-xmr28-28/+34
2022-03-02Merge pull request #7877luigi11111-19/+10
e08abaa multisig key exchange update and refactor (koe)
2022-02-22multisig key exchange update and refactorkoe1-19/+10
2022-01-31Balance includes unconfirmed transfers to selfwoodser1-5/+2
2021-12-14functional_tests: update uri test with external pidselsta1-9/+5
2021-04-27Tests: Mining test uses a parametric path for finding the calculation appmj-xmr3-41/+66
MINING_SILENT and MINING_NO_MEASUREMENT env vars
2021-04-16Split epee/string_tools.h and encapsulate boost::lexical_castmj-xmr1-0/+1
2021-03-30[CI] Adaptive mining timeout, depending on available CPU powermj-xmr4-10/+249
Printing also available RAM. Add comprehensive description.
2021-03-20[CI] Use Python3 for funcional tests, instead of Python2mj-xmr1-4/+6
2021-02-23functional_tests: hide check_missing_rpc_methods behind requests checkmoneromooo-monero1-6/+5
2021-02-18Merge pull request #7371luigi11111-1/+1
1aecdcf Increase timeout for the mining test 4 times (to 240s) (mj-xmr)
2021-02-11Increase timeout for the mining test 4 times (to 240s)mj-xmr1-1/+1
2021-02-09Remove unused variables in monero codebaseKevin Barbour1-1/+0
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.
2020-11-29Merge pull request #6937luigi11111-2/+2
8a282f6 Add RELINK_TARGETS, monero_add_target_no_relink and use monero_add_executable/monero_add_library where possible (mj-xmr) Add monero_add_minimal_executable and use in tests (mj-xmr)
2020-10-28Add RELINK_TARGETS, monero_add_target_no_relink and use ↵mj-xmr1-2/+2
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-22functional_tests: inrease mining timeoutselsta1-1/+1
2020-09-24functional_tests: rewrite mining code, clearer timeout infoiamamyth1-12/+11
2020-09-06Merge pull request #6111Riccardo Spagni3-0/+136
d20ff4f64 functional_tests: add a large (many randomx epochs) p2p reorg test (moneromooo-monero) 6a0b3b1f8 functional_tests: add randomx tests (moneromooo-monero) 9d42649d5 core: fix mining from a block that's not the current top (moneromooo-monero)
2020-08-28Bind signature to full address and signing modeSarang Noether1-0/+2
2020-08-28wallet: allow signing a message with spend or view keymoneromooo-monero1-5/+10
2020-08-27functional_tests: add a large (many randomx epochs) p2p reorg testmoneromooo-monero1-0/+19
2020-08-27functional_tests: add randomx testsmoneromooo-monero2-0/+117
2020-08-27Integrate CLSAGs into moneromoneromooo-monero1-2/+2
They are allowed from v12, and MLSAGs are rejected from v13.
2020-08-27Merge pull request #6660Alexander Blair2-8/+193
839e1f4ba functional_tests: add p2p functional tests (moneromooo-monero)
2020-08-26functional_tests: add p2p functional testsmoneromooo-monero2-8/+193
Tests tx/block propagation and reorgs
2020-08-16Merge pull request #6593Alexander Blair1-0/+1
6f5411d30 tests: fix missing error on missing python entry point (moneromooo-monero) c6dc2850c python-rpc: add missing sync_txpool python entry point (moneromooo-monero)
2020-08-09Updates InProofV1, OutProofV1, and ReserveProofV1 to new V2 variants that ↵Sarang Noether1-5/+34
include all public proof parameters in Schnorr challenges, along with hash function domain separators. Includes new randomized unit tests.
2020-07-19Merge pull request #6512Alexander Blair21-21/+21
5ef0607da Update copyright year to 2020 (SomaticFanatic)
2020-07-08Merge pull request #6599luigi11111-0/+11
6e4a55b rpc: fix relay_tx error return mixup (moneromooo-monero) 9b86e14 functional_tests: add simple relay_tx test (moneromooo-monero)
2020-06-09repo: update donation fund addressselsta3-9/+9
2020-05-28functional_tests: add simple relay_tx testmoneromooo-monero1-0/+11
2020-05-27tests: fix missing error on missing python entry pointmoneromooo-monero1-0/+1
2020-05-06Update copyright year to 2020SomaticFanatic21-21/+21
Update copyright year to 2020
2020-04-24Revert functional test changes in babf25d2e and 571546067Lee Clagett3-65/+25
2020-04-21Merge pull request #6445luigi11113-25/+65
5715460 Always reject duplicate key-images from second txid (vtnerd) babf25d Allow unrestricted rpc calls to get full txpool info (vtnerd)
2020-04-06functional_tests: ensure signatures never reuse a timestampmoneromooo-monero1-0/+2
2020-04-06functional_tests: ensure signed timestamps are freshmoneromooo-monero1-1/+3
This fixes a test failure now that timestamps are more constrained
2020-04-04Merge pull request #6309luigi11112-5/+57
e69acff functional_tests: update cookie at 10 seconds interval (moneromooo-monero) f5a11f0 functional_tests: speed up signature generation (moneromooo-monero)
2020-03-31cryptonote_basic: drop unused verification_context::m_not_rct fieldxiphon1-3/+0
2020-03-30Always reject duplicate key-images from second txidLee Clagett1-13/+39
2020-03-30Allow unrestricted rpc calls to get full txpool infoLee Clagett2-12/+26
2020-03-26functional_tests: speed up signature generationmoneromooo-monero2-5/+29
Executing a new binary for each signature can get really slow
2020-03-26functional_tests: update cookie at 10 seconds intervalmoneromooo-monero1-0/+28
Otherwise the daemon will start rejecting
2020-03-12Merge pull request #6243Alexander Blair1-2/+2
4771a7ae p2p: remove obsolete local time in handshake (moneromooo-monero) 2fbbc4a2 p2p: avoid sending the same peer list over and over (moneromooo-monero) 3004835b epee: remove backward compatible endian specific address serialization (moneromooo-monero) 39a343d7 p2p: remove backward compatible peer list (moneromooo-monero) 60631802 p2p: simplify last_seen serialization now we have optional stores (moneromooo-monero) 9467b2e4 cryptonote_protocol: omit top 64 bits of difficulty when 0 (moneromooo-monero) b595583f serialization: do not write optional fields with default value (moneromooo-monero) 5f98b46d p2p: remove obsolete local time from TIMED_SYNC (moneromooo-monero)
2020-02-28Merge pull request #6225Alexander Blair1-0/+5
987c3139 print_coinbase_tx_sum now supports 128 bits sums (moneromooo-monero)
2020-02-06Merge pull request #6069Alexander Blair1-8/+23
d64e5aa7 wallet: allow message sign/verify for subaddresses (moneromooo-monero)
2020-02-06Merge pull request #6035Alexander Blair1-0/+2
b90c4bc3 rpc: error out from get_info if the proxied call errors out (moneromooo-monero) fa16df99 make_test_signature: exit nicely on top level exception (moneromooo-monero) 054b2621 node_rpc_proxy: init some new rpc payment fields in invalidate (moneromooo-monero) d0faae2a rpc: init a few missing client_info members (moneromooo-monero) d56a483a rpc: do not propagate exceptions out of a dtor (moneromooo-monero) 3c849188 rpc: always set the update field in update on sucess (moneromooo-monero)
2020-01-26serialization: do not write optional fields with default valuemoneromooo-monero1-2/+2
2020-01-26wallet: do not split integrated addresses in address book apimoneromooo-monero1-59/+5
2019-12-31wallet: allow message sign/verify for subaddressesmoneromooo-monero1-8/+23
2019-12-12print_coinbase_tx_sum now supports 128 bits sumsmoneromooo-monero1-0/+5
The tail emission will bring the total above 64 bits
2019-11-27make_test_signature: exit nicely on top level exceptionmoneromooo-monero1-0/+2
Coverity 205411
2019-10-27functional_tests: ensure mining stops on error in mining testmoneromooo-monero1-1/+11
this prevents messing up any subsequent test too
2019-10-25functional_tests: fix rpc_payment tests with python 3moneromooo-monero1-3/+4
2019-10-25daemon, wallet: new pay for RPC use systemmoneromooo-monero7-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-15functional_tests: fix transfer test - long payment ids are gonemoneromooo-monero1-1/+1
2019-10-14wallet_rpc_server: don't report integrated addresses for 0 payment IDmoneromooo-monero1-1/+1
These are dummy ones
2019-10-14wallet: remove long payment ID sending supportmoneromooo-monero2-10/+15
2019-10-14wallet2: ignore received unencrypted payment IDs (but warn hard)moneromooo-monero1-6/+6
2019-09-24Merge pull request #5877luigi11111-1/+1
2cd4fd8 Changed the use of boost:value_initialized for C++ list initializer (JesusRami) 4ad191f Removed unused boost/value_init header (whyamiroot) 928f4be Make null hash constants constexpr (whyamiroot)
2019-09-17functional_tests: fix failure on windows removing filesmoneromooo-monero1-0/+2
2019-09-17fix wallet python test when run with ctestmoneromooo-monero2-1/+3
2019-09-17functional_tests: python3 compatibilitymoneromooo-monero7-15/+15
and add missing tests
2019-09-17functional_tests: pop exactly what we need to test before testingmoneromooo-monero10-10/+20
2019-09-17functional_tests: check for RPC methods which aren't exposedmoneromooo-monero2-0/+54
2019-09-17functional_tests: add get_transaction_pool_statsmoneromooo-monero1-0/+84
Also fix part of the RPC results being returned as binary. This makes the RPC backward incompatible.
2019-09-17functional_tests: add save_bcmoneromooo-monero1-0/+3
2019-09-17functional_tests: add is_key_image_spent testsmoneromooo-monero1-1/+45
2019-09-17functional_tests: add submitblock testmoneromooo-monero1-0/+28
2019-09-17functional_tests: check transaction fee is around what we expectmoneromooo-monero1-2/+9
2019-09-17functional_tests: add tx_notes testsmoneromooo-monero1-0/+18
2019-09-17functional_tests: add wallet attributes testmoneromooo-monero1-0/+23
2019-09-17functional_tests: add rescan_spent/rescan_blockchain testsmoneromooo-monero1-0/+39
2019-09-17functional_tests: add monero: URI testsmoneromooo-monero2-1/+235
2019-09-17wallet: add edit_address_book RPCmoneromooo-monero1-6/+71
2019-09-17functional_tests: add address book testsmoneromooo-monero2-1/+239
2019-09-17functional_tests: add wallet password change, store and tag testsmoneromooo-monero2-9/+165
2019-09-17functional_tests: add spend proof testsmoneromooo-monero1-0/+35
2019-09-17functional_tests: add test for mining via walletmoneromooo-monero1-7/+21
2019-09-17functional_tests: add multisig state testsmoneromooo-monero1-0/+68
2019-09-17functional_tests: add get_transfers testmoneromooo-monero1-0/+23
2019-09-17functional_tests: add missing sweep_dust parameters, and test itmoneromooo-monero1-0/+8
though not a very good test, but we don't have dust handy
2019-09-17functional_tests: move extraneous stuff out of the frameworkmoneromooo-monero1-5/+16
2019-09-05wallet: fix mismatch between two concepts of "balance"moneromooo-monero1-4/+4
One considers the blockchain, while the other considers the blockchain and some recent actions, such as a recently created transaction which spend some outputs, but isn't yet mined. Typically, the "balance" command wants the latter, to reflect the recent action, but things like proving ownership wants the former. This fixes a crash in get_reserve_proof, where a preliminary check and the main code used two concepts of "balance".
2019-09-02Changed the use of boost:value_initialized for C++ list initializerJesus Ramirez1-1/+1
2019-08-21Merge pull request #5511luigi11111-0/+59
914b106 wallet_rpc_server: use original addresses in destinations in get_transfers (moneromooo-monero) da694d4 functional_tests: add tests for pending/out transfer addresses (moneromooo-monero)
2019-08-17Merge pull request #5504luigi11111-2/+3
eeca5ca epee: support unicode in parsed strings (moneromooo-monero) 3e11bb5 functional_tests: test creating wallets with local language names (moneromooo-monero)
2019-08-17Merge pull request #5490luigi11111-0/+12
1a93aa4 functional_tests: add get_fee_estimate to blockchain test (moneromooo-monero)
2019-08-16functional_tests: test creating wallets with local language namesmoneromooo-monero1-2/+3
2019-08-15Merge pull request #5677luigi11111-1/+1
a5127cc tests: functional: fix python syntax (radfish)
2019-08-14Merge pull request #5498luigi11111-0/+7
6eb2638 functional_tests: add a 3/3 multisig test (moneromooo-monero)
2019-08-14Merge pull request #5487luigi11111-0/+1
df83ed7 consensus: from v12, enforce >= 2 outputs (moneromooo-monero)
2019-07-29functional_tests: add validate_address testsmoneromooo-monero1-0/+111
2019-07-24Merge pull request #5473luigi11111-4/+4
ddf7890 python-rpc: add missing getblock RPC parameters (moneromooo-monero)
2019-07-09wallet_rpc_server: fix get_bulk_payments with short payment idsmoneromooo-monero1-0/+3
2019-06-19tests: functional: fix python syntaxredfish1-1/+1
2019-06-01Merge pull request #5583Riccardo Spagni15-59/+60
77594c4f functional_tests: fix python3 compatibility (moneromooo-monero)
2019-05-29functional_tests: fix python3 compatibilitymoneromooo-monero15-59/+60
Also add missing bans test to the default tests
2019-05-20functional_tests: fix rare get_output_distribution failuremoneromooo-monero1-1/+10
When the wallet auto refreshes after mining the last two blocks but before popping them, it will then try to use outputs which are not unlocked yet. This is really a wallet problem, which will be fixed later.
2019-05-09python-rpc: add missing getblock RPC parametersmoneromooo-monero1-4/+4
2019-05-07Merge pull request #5496Riccardo Spagni2-1/+218
0eb0d6b8 rpc: improve get_output_distribution (moneromooo-monero)
2019-05-02Merge pull request #5484Riccardo Spagni1-0/+1
36ced067 functional_tests: flush stdout before popening new process (moneromooo-monero)
2019-05-02functional_tests: add tests for pending/out transfer addressesmoneromooo-monero1-0/+59
2019-04-26functional_tests: add a 3/3 multisig testmoneromooo-monero1-0/+7
2019-04-25rpc: improve get_output_distributionmoneromooo-monero2-1/+218
It can now handle small reorgs without having to rescan the whole blockchain. Also add a test for it.
2019-04-24functional_tests: add get_fee_estimate to blockchain testmoneromooo-monero1-0/+12
2019-04-23consensus: from v12, enforce >= 2 outputsmoneromooo-monero1-0/+1
2019-04-23functional_tests: flush stdout before popening new processmoneromooo-monero1-0/+1
2019-04-20functional_tests: reset blockchain on test startmoneromooo-monero8-0/+57
2019-04-18functional_tests: detect requests python modulemoneromooo-monero1-3/+9
2019-04-15functional_tests: add sweep_single testmoneromooo-monero1-0/+50
2019-04-15Merge pull request #5402Riccardo Spagni1-7/+7
cbf32241 rpc: make wide_difficulty hexadecimal (moneromooo-monero)
2019-04-11functional_tests: exit with 1 if any test failsmoneromooo-monero1-0/+2
2019-04-11functional_tests: cold signing key images/outputs import/exportmoneromooo-monero1-0/+6
2019-04-11functional_tests: add double spend detection testsmoneromooo-monero1-0/+61
2019-04-11functional_tests: add alt chains testsmoneromooo-monero1-1/+34
2019-04-11functional_tests: add wallet creation language testsmoneromooo-monero1-0/+21
2019-04-11functional_tests: add more wallet testsmoneromooo-monero2-0/+55
get_transfer_by_txid, get_height, open/close
2019-04-11functional_tests: add describe_transfer testsmoneromooo-monero2-0/+33
2019-04-11functional_tests: add more blockchain related testsmoneromooo-monero1-0/+125
Related to emission, reorgs, getting tx data back, output distribution and histogram
2019-04-11functional_tests: add bans testsmoneromooo-monero1-0/+117
2019-04-05rpc: make wide_difficulty hexadecimalmoneromooo-monero1-7/+7
This should be friendlier for clients which don't have bignum support
2019-03-23python-rpc: add console.pymoneromooo-monero1-1/+1
It allows one to connect to a running daemon or wallet, and use its RPC API from python. Usage: python -i console.py <port> It will detect whether it's talking to a daemon or wallet and initialize itself accordingly.
2019-03-22functional_tests: move RPC API to utils, it is not test specificmoneromooo-monero17-892/+25
2019-03-22functional_tests: add balance testsmoneromooo-monero1-59/+171
2019-03-22functional_tests: add missing parameters to get_balancemoneromooo-monero1-1/+6
2019-03-21functional_tests: add proofs tests (tx key, in/out tx, reserve)moneromooo-monero3-1/+350
2019-03-21functional_tests: add more transfer testsmoneromooo-monero2-6/+60
manual relay, transfer to integrated address, and a few negative transfer tests
2019-03-21functional_tests: add get_bulk_transfer testsmoneromooo-monero2-0/+49
2019-03-21functional_tests: add message signing/verification testsmoneromooo-monero3-1/+110
2019-03-21functional_tests: add multisig and cold signing testsmoneromooo-monero4-2/+544
2019-03-21functional_tests: support several daemons/walletsmoneromooo-monero3-29/+42
2019-03-21functional_tests: add txpool RPC testsmoneromooo-monero3-1/+178
2019-03-21functional_tests: add integrated address testsmoneromooo-monero3-1/+125
2019-03-21functional_tests: add basic transfer testsmoneromooo-monero3-14/+360
2019-03-21functional_tests: plug RPC tests into the cmake machinerymoneromooo-monero2-3/+120
2019-03-21functional_tests: add basic mining testsmoneromooo-monero3-0/+152
2019-03-21functional_tests: add wallet address/subaddress RPC testsmoneromooo-monero2-0/+259
2019-03-21functional_tests: improve RPC blockchain testsmoneromooo-monero6-72/+295
2019-03-05Update 2019 copyrightbinaryFate6-6/+6
2018-12-23Remove boost::lexical_cast for uuid and unused uuid functionLee Clagett1-0/+1
2018-10-15Fix Windows build after epee dependency changeiDunk54001-4/+0
2018-10-03functional_tests: fix linking on WindowsiDunk54001-0/+4
2018-09-17api/wallet: properly disable key encryptionstoffu1-2/+2
2018-09-14remove obsolete daemon selection of fake outs and old tx constructionmoneromooo-monero1-6/+6
2018-08-23wallet: store trusted-daemon flag in wallet2stoffu1-1/+1
2018-08-16store secret keys encrypted where possiblemoneromooo-monero1-2/+2
The secret spend key is kept encrypted in memory, and decrypted on the fly when needed. Both spend and view secret keys are kept encrypted in a JSON field in the keys file. This avoids leaving the keys in memory due to being manipulated by the JSON I/O API.
2018-07-19Merge pull request #3854luigi11116-0/+464
149da42 db_lmdb: enable batch transactions by default (stoffu) 34cb6b4 add --regtest and --fixed-difficulty for regression testing (vicsn) 9e1403e update get_info RPC and bump RPC version (vicsn) 207b66e first new functional tests (vicsn)
2018-06-29first new functional testsvictorsintnicolaas6-0/+464
2018-06-13wallet: on first refresh, start off with a quantized heightmoneromooo-monero1-7/+7
for privacy reasons, so an untrusted node can't easily track wallets from IP address to IP address, etc. The granularity is 1024 blocks, which is about a day and a half.
2018-03-05Stagenetstoffu1-3/+3
2018-01-26Update 2018 copyrightxmr-eric6-6/+6
2017-12-16move includes around to lessen overall loadmoneromooo-monero1-0/+1
2017-10-21Initialize openssl on startupmoneromooo-monero1-0/+2
2017-10-07Subaddresseskenshi841-4/+4
2017-05-23changed crypto to cncrypto so it generated libcncryptoGentian1-1/+1
fix a cmakelist
2017-02-21update copyright year, fix occasional lack of newline at line endRiccardo Spagni6-6/+6
2017-02-06Add server auth to monerod, and client auth to wallet-cli and wallet-rpcLee Clagett1-1/+1
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-16Change logging to easylogging++moneromooo-monero3-13/+11
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.
2016-09-18cmake: transitive deps and remove deprecated LINK_*redfish1-2/+2
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-08-28New "Halfway RingCT" outputs for coinbase transactionsmoneromooo-monero1-0/+1
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-28wallet: do not store signatures in the wallet cachemoneromooo-monero1-1/+1
Saves some substantial space. Also avoid calculating tx hashes we don't need.
2016-08-28remove original Cryptonote blockchain_storage blockchain formatmoneromooo-monero1-1/+0