aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/wallet_rpc_server.cpp (follow)
AgeCommit message (Collapse)AuthorFilesLines
2021-08-12support freeze, thaw, and frozen in wallet rpcwoodser1-0/+84
2021-08-07provide key images of spent outputs in wallet rpcwoodser1-7/+18
2021-03-05fix serialization being different on macmoneromooo-monero1-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.
2020-08-28Bind signature to full address and signing modeSarang Noether1-3/+0
2020-08-28wallet: allow signing a message with spend or view keymoneromooo-monero1-2/+25
2020-08-17replace most boost serialization with existing monero serializationmoneromooo-monero1-5/+23
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-16Merge pull request #6546Alexander Blair1-5/+17
eda167585 wallet_rpc_server: use unlock_time in suggested confirmations calc (moneromooo-monero)
2020-05-17wallet_rpc_server: use unlock_time in suggested confirmations calcmoneromooo-monero1-5/+17
2020-05-06Update copyright year to 2020SomaticFanatic1-1/+1
Update copyright year to 2020
2020-04-22simplewallet: report timestamp based expected unlock time on balancemoneromooo-monero1-4/+5
2020-03-12Merge pull request #6268Alexander Blair1-2/+2
a6c24412 wallet: fix exceptions getting the hash of a pruned tx (moneromooo-monero)
2020-02-28Merge pull request #6241Alexander Blair1-1/+12
ae84ec90 wallet-cli/rpc: allow sweep_all to use outputs in all subaddresses within an account (stoffu)
2020-02-28Merge pull request #6203Alexander Blair1-1/+0
ef95a76d remove unused variable 'ptx' from on_describe_transfer() (woodser)
2020-02-19Merge pull request #6190luigi11111-0/+2
096a9db Wallet: Distingush amounts for a single subaddress (tmoravec)
2020-02-06Merge pull request #6102Alexander Blair1-6/+7
b328de6b wallet_rpc_server: add tx weight in transfer commands responses (moneromooo-monero)
2020-02-06Merge pull request #6069Alexander Blair1-1/+1
d64e5aa7 wallet: allow message sign/verify for subaddresses (moneromooo-monero)
2020-01-26wallet: do not split integrated addresses in address book apimoneromooo-monero1-78/+17
2020-01-16Merge pull request #6144Alexander Blair1-3/+23
0e0351c4 wallet_rpc_server: add count parameter to create_address (Matt Smith)
2020-01-11Wallet: Distingush amounts for a single subaddressTadeas Moravec1-0/+2
Adding a new `amounts` field ot the output of `get_transfers` RPC method. This field specifies individual payments made to a single subaddress in a single transaction, e.g., made by this command: transfer <addr1> <amount1> <addr1> <amount2>
2019-12-31wallet: allow message sign/verify for subaddressesmoneromooo-monero1-1/+1
2019-12-30wallet: fix exceptions getting the hash of a pruned txmoneromooo-monero1-2/+2
2019-12-16wallet-cli/rpc: allow sweep_all to use outputs in all subaddresses within an ↵stoffu1-1/+12
account
2019-12-01remove unused variable 'ptx' from on_describe_transfer()woodser1-1/+0
2019-11-22wallet_rpc_server: add count parameter to create_addressMatt Smith1-3/+23
2019-11-06wallet_rpc_server: new estimate_tx_size_and_weight RPCmoneromooo-monero1-0/+19
2019-11-05wallet_rpc_server: add tx weight in transfer commands responsesmoneromooo-monero1-6/+7
2019-11-01wallet: fix another facet of "did I get some monero" information leakmoneromooo-monero1-2/+8
We get new pool txes before processing any tx, pool or not. This ensures that if we're asked for a password, this does not cause a measurable delay in the txpool query after the last block query.
2019-10-25Merge pull request #6019luigi11111-2/+2
d60c1b6 changed 'batttery' to 'battery' (jakehemmerle)
2019-10-25daemon, wallet: new pay for RPC use systemmoneromooo-monero1-0/+14
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-24changed 'batttery' to 'battery'Jake Hemmerle1-2/+2
2019-10-14Merge pull request #5940luigi11111-0/+7
6b4bc0d RPC on_transfer_split error consistent with on_transfer if no tx sent (binaryFate)
2019-10-14wallet_rpc_server: don't report integrated addresses for 0 payment IDmoneromooo-monero1-2/+5
These are dummy ones
2019-10-14wallet: remove long payment ID sending supportmoneromooo-monero1-24/+3
2019-09-28RPC on_transfer_split error consistent with on_transfer if no tx sentbinaryFate1-0/+7
2019-09-17wallet: add edit_address_book RPCmoneromooo-monero1-0/+102
2019-09-14Merge pull request #5871luigi11111-0/+7
3407743 wallet_rpc_server: add locked field to get_transfers/get_{bulk_,}_payments (moneromooo-monero)
2019-09-14Merge pull request #5870luigi11111-0/+1
83ca764 wallet_rpc_server: call deinit on exit (moneromooo-monero)
2019-09-08Merge pull request #5855luigi11111-8/+8
2ec455d wallet: fix mismatch between two concepts of 'balance' (moneromooo-monero)
2019-09-05wallet: fix mismatch between two concepts of "balance"moneromooo-monero1-8/+8
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-05wallet_rpc_server: add locked field to get_transfers/get_{bulk_,}_paymentsmoneromooo-monero1-0/+7
Much easier to work with than the raw unlock_time field
2019-08-28wallet_rpc_server: call deinit on exitmoneromooo-monero1-0/+1
2019-08-26wallet, rpc: add a release field to get_versionmoneromooo-monero1-0/+2
It does not leak much since you can make a fair guess by RPC version already, and some people want to avoid non release clients when using third parties' nodes (because they'd never lie about it)
2019-08-21Merge pull request #5750luigi11111-2/+2
884df82 wallet: provide original address for outgoing transfers (xiphon)
2019-08-14Merge pull request #5478luigi11111-3/+2
7d9b7fe functional_tests: add validate_address tests (moneromooo-monero)
2019-07-31Add IPv6 supportThomas Winget1-1/+3
new cli options (RPC ones also apply to wallet): --p2p-bind-ipv6-address (default = "::") --p2p-bind-port-ipv6 (default same as ipv4 port for given nettype) --rpc-bind-ipv6-address (default = "::1") --p2p-use-ipv6 (default false) --rpc-use-ipv6 (default false) --p2p-require-ipv4 (default true, if ipv4 bind fails and this is true, will not continue even if ipv6 bind successful) --rpc-require-ipv4 (default true, description as above) ipv6 addresses are to be specified as "[xx:xx:xx::xx:xx]:port" except in the cases of the cli args for bind address. For those the square braces can be omitted.
2019-07-29functional_tests: add validate_address testsmoneromooo-monero1-3/+2
2019-07-24Merge pull request #5513luigi11111-1/+6
bc94ba4 wallet: distinguish between empty and absent attributes (moneromooo-monero)
2019-07-24Merge pull request #5457luigi11111-2/+0
3b9ce45 wallet_rpc_server: remove unused variable (moneromooo-monero)
2019-07-10wallet: provide original address for outgoing transfersxiphon1-2/+2
2019-07-09wallet_rpc_server: fix get_bulk_payments with short payment idsmoneromooo-monero1-0/+5
2019-05-22Fix allow any cert mode in wallet rpc when configured over rpcLee Clagett1-1/+5
2019-05-22Add ssl_options support to monerod's rpc mode.Lee Clagett1-50/+1
2019-05-14Merge pull request #5538luigi11111-1/+1
615f287 wallet: fix certificate fingerprint length check (moneromooo-monero)
2019-05-11wallet: fix certificate fingerprint length checkmoneromooo-monero1-1/+1
Fixed by crCr62U0
2019-05-10wallet_rpc_server: use original addresses in destinations in get_transfersmoneromooo-monero1-1/+9
And add them for pending transfers, where they were missing
2019-05-07Merge pull request #5503Riccardo Spagni1-4/+4
ccc1e311 wallet_rpc_server: reject standalone short payment id in address book (moneromooo-monero)
2019-05-02wallet: distinguish between empty and absent attributesmoneromooo-monero1-1/+6
2019-05-02Merge pull request #5493Riccardo Spagni1-0/+9
5e0da6fb change SSL certificate fingerprint whitelisting from SHA1 to SHA-256 (moneromooo-monero)
2019-05-02Merge pull request #5491Riccardo Spagni1-2/+4
98fb98f9 wallet_rpc_server: adding missing return on error in set_daemon (moneromooo-monero) 9074c0d8 wallet_rpc_server: return false on error in set_log_categories (moneromooo-monero) 968848a7 wallet_rpc_server: fix crash in validate_address if no wallet is loaded (moneromooo-monero)
2019-04-30wallet_rpc_server: reject standalone short payment id in address bookmoneromooo-monero1-4/+4
2019-04-26change SSL certificate fingerprint whitelisting from SHA1 to SHA-256moneromooo-monero1-0/+9
SHA1 is too close to bruteforceable
2019-04-25wallet_rpc_server: adding missing return on error in set_daemonmoneromooo-monero1-0/+1
2019-04-25wallet_rpc_server: return false on error in set_log_categoriesmoneromooo-monero1-1/+1
Reported by SmajeNz0
2019-04-25wallet_rpc_server: fix crash in validate_address if no wallet is loadedmoneromooo-monero1-1/+2
Reported by SmajeNz0
2019-04-20wallet_rpc_server: add block_height and frozen to incoming_transfersmoneromooo-monero1-0/+2
2019-04-18Merge pull request #5458Riccardo Spagni1-0/+1
84047cb7 wallet_rpc_server: add unlocked field to incoming_transfers output (moneromooo-monero)
2019-04-17wallet_rpc_server: add unlocked field to incoming_transfers outputmoneromooo-monero1-0/+1
2019-04-17wallet_rpc_server: remove unused variablemoneromooo-monero1-2/+0
2019-04-16wallet_rpc_server: set suggested_confirmations_threshold for pool txesmoneromooo-monero1-5/+3
2019-04-16wallet_rpc_server: add set_log_level/set_log_categoriesmoneromooo-monero1-0/+33
2019-04-16Merge pull request #5446Riccardo Spagni1-5/+1
7d79222f daemon: remove debug info (moneromooo-monero) 8fec0f98 functional_tests: add sweep_single test (moneromooo-monero) 9880d61b wallet_rpc_server: remove unused code (moneromooo-monero) 8a61b33d rpc: omit irrelevant fields for pool txes in gettransactions (moneromooo-monero) 56508524 rpc: add relayed in get_transaction output (moneromooo-monero) 82e510f1 rpc: set default log category in core_rpc_server.h (moneromooo-monero)
2019-04-16Merge pull request #5429Riccardo Spagni1-41/+48
bcb86ae6 wallet_rpc_server: fix inconsistent wallet caches on reload (moneromooo-monero)
2019-04-16Merge pull request #5418Riccardo Spagni1-1/+1
374f388d wallet_rpc_server: add a all flag to export_outputs (moneromooo-monero)
2019-04-15wallet_rpc_server: remove unused codemoneromooo-monero1-5/+1
2019-04-12wallet_rpc_server: fix inconsistent wallet caches on reloadmoneromooo-monero1-41/+48
Loading the same wallet as the currently loaded one would autosave the current state after loading it, leading to some kind of rollback effect. We now save before loading to avoid this. If loading fails, it means the current wallet will be saved (or maybe not, depending on where the failure occurs: most of the sanity checks occur before saving). There is a new autosave_current flag to open/restore calls so the (enabled by default) autosave can be skipped.
2019-04-11Merge pull request #5382Riccardo Spagni1-4/+5
c12b43cb wallet: add number of blocks required for the balance to fully unlock (moneromooo-monero) 3f1e9e84 wallet2: set confirmations to 0 for pool txes in proofs (moneromooo-monero) 36c037ec wallet_rpc_server: error out on getting the spend key from a hot wallet (moneromooo-monero) cd1eaff2 wallet_rpc_server: always fill out subaddr_indices in get_transfers (moneromooo-monero)
2019-04-11Merge pull request #5374Riccardo Spagni1-0/+56
a2561653 wallet: new option to start background mining (moneromooo-monero)
2019-04-10wallet_rpc_server: add a all flag to export_outputsmoneromooo-monero1-1/+1
if we don't want to export new outputs only
2019-04-07Enabling daemon-rpc SSL now requires non-system CA verificationLee Clagett1-7/+16
If `--daemon-ssl enabled` is set in the wallet, then a user certificate, fingerprint, or onion/i2p address must be provided.
2019-04-07Pass SSL arguments via one class and use shared_ptr instead of referenceLee Clagett1-9/+29
2019-04-06Change default SSL to "enabled" if user specifies fingerprint/certificateLee Clagett1-4/+9
Currently if a user specifies a ca file or fingerprint to verify peer, the default behavior is SSL autodetect which allows for mitm downgrade attacks. It should be investigated whether a manual override should be allowed - the configuration is likely always invalid.
2019-04-06Change SSL certificate file list to OpenSSL builtin load_verify_locationLee Clagett1-15/+5
Specifying SSL certificates for peer verification does an exact match, making it a not-so-obvious alias for the fingerprints option. This changes the checks to OpenSSL which loads concatenated certificate(s) from a single file and does a certificate-authority (chain of trust) check instead. There is no drop in security - a compromised exact match fingerprint has the same worse case failure. There is increased security in allowing separate long-term CA key and short-term SSL server keys. This also removes loading of the system-default CA files if a custom CA file or certificate fingerprint is specified.
2019-04-06Merge pull request #5345Riccardo Spagni1-3/+9
678262ab wallet_rpc_server: allow english/local language names in create_wallet (moneromooo-monero)
2019-04-06Merge pull request #5340Riccardo Spagni1-1/+1
16eda54b wallet: use original user address if we have a short payment id (moneromooo-monero)
2019-04-04wallet: new option to start background miningmoneromooo-monero1-0/+56
The setup-background-mining option can be used to select background mining when a wallet loads. The user will be asked the first time the wallet is created.
2019-04-01wallet: add number of blocks required for the balance to fully unlockmoneromooo-monero1-4/+5
2019-04-01wallet_rpc_server: error out on getting the spend key from a hot walletmoneromooo-monero1-1/+7
2019-04-01wallet_rpc_server: always fill out subaddr_indices in get_transfersmoneromooo-monero1-0/+2
It was not filled out for in and pool types
2019-04-01wallet_rpc_server: error out on getting the spend key from a hot walletmoneromooo-monero1-1/+7
2019-04-01wallet_rpc_server: add a set_daemon RPCmoneromooo-monero1-0/+34
2019-04-01wallet_rpc_server: always fill out subaddr_indices in get_transfersmoneromooo-monero1-0/+2
It was not filled out for in and pool types
2019-04-01wallet_rpc_server: set confirmations to 0 for pending/pool txesmoneromooo-monero1-1/+1
2019-04-01Merge pull request #5329Riccardo Spagni1-36/+4
023f2c77 wallet_rpc_server: remove mixin from transfer RPCs (moneromooo-monero)
2019-04-01Merge pull request #5302Riccardo Spagni1-1/+33
23fb056a wallet_rpc_server: new auto_refresh RPC (moneromooo-monero)
2019-04-01Merge pull request #5299Riccardo Spagni1-1/+1
4ee15655 wallet_rpc_server: fix buffer read overflow in string assignment (moneromooo-monero)
2019-04-01Merge pull request #5297Riccardo Spagni1-16/+5
a8b98a0b wallet: fix memory only wallets (moneromooo-monero)
2019-03-25wallet_rpc_server: allow english/local language names in create_walletmoneromooo-monero1-3/+9
and return both in get_languages
2019-03-25wallet: fix memory only walletsmoneromooo-monero1-16/+5
at least when using restore_deterministic_wallet
2019-03-24Merge pull request #5282Riccardo Spagni1-0/+4
f962449d wallet_rpc_server: include out subaddress indices in get_transfers (moneromooo-monero)
2019-03-24wallet: use original user address if we have a short payment idmoneromooo-monero1-1/+1
2019-03-21wallet_rpc_server: remove mixin from transfer RPCsmoneromooo-monero1-36/+4
it's been a while, only use ring_size now
2019-03-19Merge pull request #5203Riccardo Spagni1-22/+52
8b514645 add multisig tx sets to describe_transfer rpc endpoint (spoke0)
2019-03-17Merge pull request #5165Riccardo Spagni1-0/+168
36451697 Simplify RPC endpoint, emoving second RPC endpoint generate_from_view_key (Joel) c17c8188 Remove code duplication (Joel) acb14c10 Add generate_from_view_key RPC method (Joel) 7dd7a3b7 Add generate_from_keys RPC method (Joel)
2019-03-17Merge pull request #5061Riccardo Spagni1-1/+1
1f2930ce Update 2019 copyright (binaryFate)
2019-03-17wallet_rpc_server: new auto_refresh RPCmoneromooo-monero1-1/+33
It can enable/disable auto refresh, and set auto refresh period
2019-03-15wallet_rpc_server: fix buffer read overflow in string assignmentmoneromooo-monero1-1/+1
2019-03-13wallet_rpc_server: include out subaddress indices in get_transfersmoneromooo-monero1-0/+4
2019-03-13wallet_rpc_server: add missing --rpc-ssl-allowed-fingerprintsmoneromooo-monero1-0/+1
2019-03-05Update 2019 copyrightbinaryFate1-1/+1
2019-03-05Merge pull request #4852Riccardo Spagni1-1/+6
057c279c epee: add SSL support (Martijn Otto)
2019-03-05add multisig tx sets to describe_transfer rpc endpointspoke01-22/+52
2019-03-05epee: add SSL supportMartijn Otto1-1/+6
RPC connections now have optional tranparent SSL. An optional private key and certificate file can be passed, using the --{rpc,daemon}-ssl-private-key and --{rpc,daemon}-ssl-certificate options. Those have as argument a path to a PEM format private private key and certificate, respectively. If not given, a temporary self signed certificate will be used. SSL can be enabled or disabled using --{rpc}-ssl, which accepts autodetect (default), disabled or enabled. Access can be restricted to particular certificates using the --rpc-ssl-allowed-certificates, which takes a list of paths to PEM encoded certificates. This can allow a wallet to connect to only the daemon they think they're connected to, by forcing SSL and listing the paths to the known good certificates. To generate long term certificates: openssl genrsa -out /tmp/KEY 4096 openssl req -new -key /tmp/KEY -out /tmp/REQ openssl x509 -req -days 999999 -sha256 -in /tmp/REQ -signkey /tmp/KEY -out /tmp/CERT /tmp/KEY is the private key, and /tmp/CERT is the certificate, both in PEM format. /tmp/REQ can be removed. Adjust the last command to set expiration date, etc, as needed. It doesn't make a whole lot of sense for monero anyway, since most servers will run with one time temporary self signed certificates anyway. SSL support is transparent, so all communication is done on the existing ports, with SSL autodetection. This means you can start using an SSL daemon now, but you should not enforce SSL yet or nothing will talk to you.
2019-03-05wallet_rpc_server: avoid repeated string allocations when parsingmoneromooo-monero1-20/+14
2019-03-04various: remove unused variablesmoneromooo-monero1-5/+0
2019-03-04Merge pull request #5156Riccardo Spagni1-20/+44
3d2772a0 wallet-rpc: get balance for all accounts and subaddresses (stoffu)
2019-03-04Merge pull request #5154Riccardo Spagni1-4/+12
8a1ff079 wallet-rpc: get transfers for all accounts and subaddresses (Jethro Grassie)
2019-03-04Merge pull request #5141Riccardo Spagni1-0/+51
5c81a9f1 wallet_rpc_server: add a validate_address RPC (moneromooo-monero)
2019-03-04Merge pull request #4054Riccardo Spagni1-1/+31
24569454 epee: add SSL support (moneromooo-monero)
2019-03-02Simplify RPC endpoint, emoving second RPC endpoint generate_from_view_keyJoel1-15/+4
2019-02-21Remove code duplicationJoel1-157/+18
2019-02-20wallet-rpc: get balance for all accounts and subaddressesstoffu1-20/+44
2019-02-19Add generate_from_view_key RPC methodJoel1-0/+152
2019-02-19Add generate_from_keys RPC methodJoel1-0/+166
2019-02-17wallet-rpc: get transfers for all accounts and subaddressesJethro Grassie1-4/+12
2019-02-14wallet_rpc_server: add a validate_address RPCmoneromooo-monero1-0/+51
2019-02-02epee: add SSL supportmoneromooo-monero1-1/+31
RPC connections now have optional tranparent SSL. An optional private key and certificate file can be passed, using the --{rpc,daemon}-ssl-private-key and --{rpc,daemon}-ssl-certificate options. Those have as argument a path to a PEM format private private key and certificate, respectively. If not given, a temporary self signed certificate will be used. SSL can be enabled or disabled using --{rpc}-ssl, which accepts autodetect (default), disabled or enabled. Access can be restricted to particular certificates using the --rpc-ssl-allowed-certificates, which takes a list of paths to PEM encoded certificates. This can allow a wallet to connect to only the daemon they think they're connected to, by forcing SSL and listing the paths to the known good certificates. To generate long term certificates: openssl genrsa -out /tmp/KEY 4096 openssl req -new -key /tmp/KEY -out /tmp/REQ openssl x509 -req -days 999999 -sha256 -in /tmp/REQ -signkey /tmp/KEY -out /tmp/CERT /tmp/KEY is the private key, and /tmp/CERT is the certificate, both in PEM format. /tmp/REQ can be removed. Adjust the last command to set expiration date, etc, as needed. It doesn't make a whole lot of sense for monero anyway, since most servers will run with one time temporary self signed certificates anyway. SSL support is transparent, so all communication is done on the existing ports, with SSL autodetection. This means you can start using an SSL daemon now, but you should not enforce SSL yet or nothing will talk to you.
2019-02-02wallet_rpc_server: remove detached short payment ids supportmoneromooo-monero1-5/+1
2019-01-28rpc: fix internal daemon calls in restricted rpc getting partial datamoneromooo-monero1-76/+76
2019-01-18core, wallet: remember original text version of destination addressmoneromooo-monero1-0/+2
2018-12-24wallet_rpc_server: add all field to export_key_imagesmoneromooo-monero1-1/+1
To use if you want all key images, not just the ones for recently imported outputs
2018-11-23wallet_rpc_server: do not use RPC data if the call failedmoneromooo-monero1-1/+2
Found by codacy.com
2018-11-16Merge pull request #4801Riccardo Spagni1-1/+32
7ae36e91 wallet_rpc_server: account for watch-only/non-deterministic/multisig when querying seed (stoffu)
2018-11-16Merge pull request #4784Riccardo Spagni1-0/+4
1c04c21d wallet_rpc_server: include additional tx keys in sign_transfer response (stoffu)
2018-11-14Merge pull request #4746Riccardo Spagni1-0/+194
f3019efe wallet-rpc: add on_restore_deterministic RPC call. (Hasan Pekdemir)
2018-11-06Merge pull request #4731Riccardo Spagni1-1/+1
f26ce08c wallet: add a non destructive blockchain rescan (moneromooo-monero)
2018-11-05wallet_rpc_server: account for watch-only/non-deterministic/multisig when ↵stoffu1-1/+32
querying seed Followup on #4653
2018-11-04wallet2: only export necessary outputs and key imagesmoneromooo-monero1-6/+7
and disable annoying test that requires ridiculous amounts of skullduggery every time some format changes
2018-11-03wallet: add a non destructive blockchain rescanmoneromooo-monero1-1/+1
2018-11-02wallet_rpc_server: include additional tx keys in sign_transfer responsestoffu1-0/+4
Followup on #4552
2018-11-01Merge pull request #4653Riccardo Spagni1-0/+1
ade369f9 Add RPC error code for non-deterministic wallet (Michał Sałaban)
2018-10-29wallet-rpc: add on_restore_deterministic RPC call.Hasan Pekdemir1-0/+194
2018-10-26Merge pull request #4561Riccardo Spagni1-0/+5
04ddf02e Return appropriate RPC error code when key image signature check fails (Michał Sałaban)
2018-10-26Merge pull request #4552Riccardo Spagni1-0/+2
67e76aa0 wallet_rpc_server: optionally return tx keys in sign_transfer (moneromooo-monero)
2018-10-26Merge pull request #4539Riccardo Spagni1-0/+165
977fc1bc wallet_rpc_server: add describe_transfer RPC (moneromooo-monero)
2018-10-18Add RPC error code for non-deterministic walletMichał Sałaban1-0/+1
2018-10-16wallet_rpc_server: fix change_wallet_password RPCmoneromooo-monero1-2/+1
2018-10-11Return appropriate RPC error code when key image signature check failsMichał Sałaban1-0/+5
2018-10-10wallet_rpc_server: optionally return tx keys in sign_transfermoneromooo-monero1-0/+2
2018-10-09wallet_rpc_server: add describe_transfer RPCmoneromooo-monero1-0/+165
for unsigned tx sets using a view only wallet
2018-10-07Merge pull request #4036Riccardo Spagni1-1/+50
9acf42d3 Multisig M/N functionality core tests added (naughtyfox) 9f3963e8 Arbitrary M/N multisig schemes: * support in wallet2 * support in monero-wallet-cli * support in monero-wallet-rpc * support in wallet api * support in monero-gen-trusted-multisig * unit tests for multisig wallets creation (naughtyfox)
2018-10-02Merge pull request #4484Riccardo Spagni1-8/+14
2c74b1a1 wallet_rpc_server: include all transfer records for a txid (moneromooo-monero)
2018-10-01Arbitrary M/N multisig schemes:naughtyfox1-1/+50
* support in wallet2 * support in monero-wallet-cli * support in monero-wallet-rpc * support in wallet api * support in monero-gen-trusted-multisig * unit tests for multisig wallets creation
2018-10-01wallet_rpc_server: include all transfer records for a txidmoneromooo-monero1-8/+14
Since subaddresses were added, a tx can now create more than one payment
2018-10-01wallet: fix --generate-from-json using wrong passwordmoneromooo-monero1-1/+2
2018-09-29Merge pull request #4459Riccardo Spagni1-0/+3
bcf3f6af fuzz_tests: catch unhandled exceptions (moneromooo-monero) 3ebd05d4 miner: restore stream flags after changing them (moneromooo-monero) a093092e levin_protocol_handler_async: do not propagate exception through dtor (moneromooo-monero) 1eebb82b net_helper: do not propagate exceptions through dtor (moneromooo-monero) fb6a3630 miner: do not propagate exceptions through dtor (moneromooo-monero) 2e2139ff epee: do not propagate exception through dtor (moneromooo-monero) 0749a8bd db_lmdb: do not propagate exceptions in dtor (moneromooo-monero) 1b0afeeb wallet_rpc_server: exit cleanly on unhandled exceptions (moneromooo-monero) 418a9936 unit_tests: catch unhandled exceptions (moneromooo-monero) ea7f9543 threadpool: do not propagate exceptions through the dtor (moneromooo-monero) 6e855422 gen_multisig: nice exit on unhandled exception (moneromooo-monero) 53df2deb db_lmdb: catch error in mdb_stat calls during migration (moneromooo-monero) e67016dd blockchain_blackball: catch failure to commit db transaction (moneromooo-monero) 661439f4 mlog: don't remove old logs if we failed to rename the current file (moneromooo-monero) 5fdcda50 easylogging++: test for NULL before dereference (moneromooo-monero) 7ece1550 performance_test: fix bad last argument calling add_arg (moneromooo-monero) a085da32 unit_tests: add check for page size > 0 before dividing (moneromooo-monero) d8b1ec8b unit_tests: use std::shared_ptr to shut coverity up about leaks (moneromooo-monero) 02563bf4 simplewallet: top level exception catcher to print nicer messages (moneromooo-monero) c57a65b2 blockchain_blackball: fix shift range for 32 bit archs (moneromooo-monero)
2018-09-29Merge pull request #4427Riccardo Spagni1-1/+1
83debef9 wallet_rpc_server: remove verbose field in incoming_transfers query (moneromooo-monero)
2018-09-25Merge pull request #4433Riccardo Spagni1-1/+1
b35beaa8 wallet_rpc_server: include account index in incoming_transfers RPC (moneromooo-monero)
2018-09-24wallet_rpc_server: include account index in incoming_transfers RPCmoneromooo-monero1-1/+1
2018-09-22wallet_rpc_server: fix --run-as-service on Windowsmoneromooo-monero1-0/+1
Thanks iDunk for the windows testing
2018-09-21wallet_rpc_server: fix build for windowsmoneromooo-monero1-8/+17
Thanks iDunk for building patches on windows
2018-09-21Merge pull request #4401Riccardo Spagni1-2/+16
66901901 README: harmonize command formatting inside README.md (Andrea) 8cd98408 disable AES on s390x architecture (Tuan M. Hoang) 4ed30bab wallet: implement coin splitting for sweep_* 'outputs' option (whythat) 24f52396 wallet: add 'outputs' option for sweep_* commands (whythat) 52e19d69 README: Compile boost with cxxflags=-fPIC cflags=-fPIC (Italocoin Project) 0c77523d README: fill in libsodium package name for Arch (phloatingman)
2018-09-18Merge pull request #4306Riccardo Spagni1-15/+24
56b50faa wallet: use wipeable_string in more places where a secret is used (moneromooo-monero) 07ec748c wipeable_string: add hex_to_pod function (moneromooo-monero)
2018-09-18wallet: add 'outputs' option for sweep_* commandswhythat1-2/+16
'outputs' option allows to specify the number of separate outputs of smaller denomination that will be created by sweep operation. rebased by moneromooo
2018-09-15add daemonizer to rpc walletjcktm1-111/+164
2018-09-14Merge pull request #4337Riccardo Spagni1-1/+6
97764bae wallet_rpc_server: error out if wallet-file and wallet-dir are both used (moneromooo-monero)
2018-09-12wallet: use wipeable_string in more places where a secret is usedmoneromooo-monero1-15/+24
2018-09-11Merge pull request #4352Riccardo Spagni1-9/+0
0664a984 wallet_rpc_server: remove some unused code (moneroexamples)
2018-09-11v8: per byte fee, pad bulletproofs, fixed 11 ring sizemoneromooo-monero1-1/+0
2018-09-09wallet_rpc_server: remove some unused codemoneroexamples1-9/+0
2018-09-08wallet_rpc_server: error out if wallet-file and wallet-dir are both usedmoneromooo-monero1-1/+6
2018-09-05wallet rpc: Add close_wallet RPCGuillaume LE VAILLANT1-0/+42
And close the current wallet automatically if necessary when opening another wallet.
2018-09-04Merge pull request #4269luigi11111-0/+32
3d5abbe [#4027] add change_wallet_password wallet rpc command (artyomsol)
2018-08-23wallet: store trusted-daemon flag in wallet2stoffu1-23/+12
2018-08-22Merge pull request #4242luigi11111-0/+22
6fcdc9e rpc-wallet: refresh command added (ph4r05)
2018-08-22rpc-wallet: refresh command addedDusan Klinec1-0/+22
2018-08-17[#4027] add change_wallet_password wallet rpc commandartyomsol1-0/+32
2018-08-16store secret keys encrypted where possiblemoneromooo-monero1-5/+5
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-08-16wallet: wipe seed from memory where appropriatemoneromooo-monero1-1/+3
2018-08-16wallet2: make --restricted-rpc available for wallet RPC onlystoffu1-32/+35
2018-08-15Merge pull request #4171luigi11111-4/+10
9127a8b wallet-rpc: filter getbalance response by address index (stoffu)
2018-08-15Merge pull request #4170luigi11111-0/+21
1c6cfd3 wallet-rpc: add get_address_index command (stoffu)
2018-08-15Merge pull request #4158luigi11111-1/+33
7db7ec8 wallet rpc: support making integrated address of given standard address (stoffu)
2018-08-03wallet: distinguish coinbase from other txes in show_transfersmoneromooo-monero1-1/+1
2018-07-31wallet-rpc: add get_address_index commandstoffu1-0/+21
2018-07-31wallet-rpc: filter getbalance response by address indexstoffu1-4/+10
2018-07-20wallet rpc: support making integrated address of given standard addressstoffu1-1/+33
2018-07-03Merge pull request #4035Riccardo Spagni1-0/+2
66df13a5 wallet-rpc.getaddress: throw if index is out of bound (stoffu)
2018-07-03Merge pull request #4005Riccardo Spagni1-0/+6
b85acb4c Fix RPC crashes that didn't check for an open wallet (Howard Chu)
2018-06-27Merge pull request #3907luigi11111-0/+19
dcbc17e wallet: include a suggested number of confirmations based on amount (moneromooo-monero)
2018-06-27Merge pull request #3998luigi11111-2/+2
8db23df wallet: on first refresh, start off with a quantized height (moneromooo-monero)
2018-06-27wallet: include a suggested number of confirmations based on amountmoneromooo-monero1-0/+19
This is based on how much an attacking miner stands to lose in block rewardy by mining a private chain which double spends a payment. This is not foolproof, since mining is based on luck, and breaks down as the attacking miner nears 50% of the network hash rate, and the estimation is based on a constant block reward.
2018-06-21wallet-rpc.getaddress: throw if index is out of boundstoffu1-0/+2
2018-06-16Merge pull request #3780luigi11111-7/+217
9c2a7b4 wallet-rpc: watch-only and cold wallet features added (ph4r05)
2018-06-15Fix RPC crashes that didn't check for an open walletHoward Chu1-0/+6
2018-06-13wallet: on first refresh, start off with a quantized heightmoneromooo-monero1-2/+2
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-06-03wallet-rpc: watch-only and cold wallet features addedDusan Klinec1-7/+217
- unsigned_txset, signed_txset in transfer / submit_transfer / sign_transfer - export_outputs, import_outputs Squashed commits: [f4d9f3d4] wallet-rpc: do_not_relay removed from submit_transfer [5b16a86f] wallet-rpc: review-fix - method signature changes, renaming [b7fbb10a] wallet-rpc: naming fixes (unsigned vs signed), consts renamed [8c7d2727] wallet-rpc: sign_transfer added [481d024a] wallet2: sign_tx splitted to work with strings and structs, more granular [2a474db9] wallet-rpc: wallet2::load_unsigned_tx split to load from str, file [b1e3a018] wallet-rpc: review fix, load_tx_from_str variable rename [1f6373be] wallet-rpc: review fix: save_tx_to_{str,file} [2a08eafc] wallet-rpc: review comments fixes - redundant this removed from wallet2.cpp - load_tx_from_str, load_tx_from_file [43498052] wallet-rpc: submit_transfer added [9c45d1ad] wallet-rpc: watch_only check, return unsigned_txset [62831396] wallet2: added string variants to load_tx, save_tx - analogously to save_multisig_tx - required for monero-wallet-rpc to support watch-only wallet
2018-05-31Merge pull request #3640luigi11111-1/+7
f36132a wallet cli/rpc: terminate execution with code 0 when --help or --version is given (stoffu)
2018-04-22wallet cli/rpc: terminate execution with code 0 when --help or --version is ↵stoffu1-1/+7
given
2018-04-14wallet_rpc_server: add a get_version RPCmoneromooo-monero1-0/+6
2018-03-16Merge pull request #3336Riccardo Spagni1-1/+1
57c0b1ed Fix typos in various files (Dimitris Apostolou)