moneromooo-monero
56b07f7b89
tests: add performance test for keypair::generate
2016-10-26 22:10:05 +01:00
moneromooo-monero
069d688cf7
simplewallet: log transactions to submit in submit_transfer
...
Not as trustworthy as this is in the view wallet, the one
that's considered compromised.
2016-10-26 13:17:29 +01:00
moneromooo-monero
31abac4daf
wallet: fix pre-rct cold wallet signing not splitting change
...
Re-creating the transaction on the cold wallet was not splitting
the change, causing the transaction to be rejected by the network.
This worked on testnet since amounts do not have to be split.
Also add selected_transfers, which can now be saved since they're
size_t rather than iterators. This allows the view wallet to
properly set the sent outputs as spent and update balance.
Bump transfer file version numbers to match.
2016-10-25 21:44:31 +01:00
moneromooo-monero
eb4ecd442d
daemon: fix min/max tracking using the wrong size
...
Reported by iDunk
2016-10-23 23:18:34 +01:00
moneromooo-monero
30946700a3
daemon: even when switching branches, compile the damn thing ffs
2016-10-23 20:21:00 +01:00
moneromooo-monero
2f4f6c7c26
daemon: do not divide by 0 when the pool is empty
2016-10-23 20:05:13 +01:00
moneromooo-monero
ff8825210d
simplewallet: factor locked_transfer, and fix a few rough edges
...
Factor locked_transfer into transfer_main, which brings various
improvements for free (multiple addresses, proper detection of
multiple payment ids, obeying the prompt settings).
Also fix a few things, such as using uint64_t instead of int
for block heights, actually checking whether getting blockchain
height succeeded, etc.
2016-10-23 18:21:30 +01:00
moneromooo-monero
839280d5fc
daemon: add a print_pool_stats daemon command
...
Helps see what's going on now that Monero is getting used
2016-10-23 16:11:20 +01:00
moneromooo-monero
59f0d4b574
ringct: some more small optimizations
2016-10-23 16:10:17 +01:00
moneromooo-monero
10a79eae24
daemon: report transaction relay status in print_pool* commands
2016-10-23 00:32:55 +01:00
moneromooo-monero
1e163666f3
core: notify the txpool when transactions are relayed
2016-10-23 00:32:49 +01:00
moneromooo-monero
f3c374fe08
tx_pool: set relayed flag on relay
2016-10-22 20:46:19 +01:00
moneromooo-monero
372f338682
wallet: sanity check on selected transfer indices in signed ptx
2016-10-22 18:07:26 +01:00
moneromooo-monero
12d861694d
perf_timer: format string fix for 32 bits
2016-10-20 18:43:33 +01:00
moneromooo-monero
4fd56a52bc
unit_tests: fix build after get_output_histogram signature change
2016-10-19 09:34:12 +01:00
moneromooo-monero
bfc1de7aa2
CONTRIBUTING: somes notes about how to contribute
2016-10-17 23:18:34 +01:00
moneromooo-monero
06b642dfe4
wallet_api: add address validation functions
...
The payment id from integrated addresses is also parsed
2016-10-16 16:52:45 +01:00
moneromooo-monero
b6b86ab347
wallet2_api: recognize full size payment ids as valid
2016-10-16 13:54:53 +01:00
moneromooo-monero
2bf65dfb8d
wallet_api: do not override invalid payment id
...
Instead, return an empty string to mark the error
2016-10-16 13:17:29 +01:00
moneromooo-monero
8231997b66
simplewallet: fix sweep_all misreporting sweeped amount for rct outputs
...
RingCT outputs will be 0 in the vin, so we need to get the actual
amount from elsewhere.
2016-10-15 19:18:52 +01:00
moneromooo-monero
985f61a4ec
wallet: force 0 mixin transactions to use pre-rct txes
...
rct transactions does not support 0 mixin, and those are
now typically dust sweep transactions, for which a lower
fee is a must.
2016-10-15 18:42:04 +01:00
moneromooo-monero
88faec75fe
wallet: select part of the fake outs from recent outputs
...
25% of the outputs are selected from the last 5 days (if possible),
in order to avoid the common case of sending recently received
outputs again. 25% and 5 days are subject to review later, since
it's just a wallet level change.
2016-10-15 18:17:16 +01:00
moneromooo-monero
0950be9e34
wallet: speed up output selection, and fix bug with relatedness calculation
2016-10-15 16:32:08 +01:00
moneromooo-monero
0eba1335be
wallet: fix mixup between mixin 2 and 4 before/after v5
2016-10-15 16:07:18 +01:00
moneromooo-monero
5e10fb042d
rpc: add blockchain cumulative difficulty to getinfo call
2016-10-15 15:00:21 +01:00
moneromooo-monero
094f4c8cc6
rpc: add missing top block hash to json getinfo call
2016-10-15 14:35:29 +01:00
moneromooo-monero
e76dcdd810
wallet: improve error messages when not enough money for transfer
2016-10-15 14:31:40 +01:00
moneromooo-monero
2d7083ca56
wallet_api: fix wrong amount in tx history
2016-10-15 13:56:25 +01:00
moneromooo-monero
b5f20012d3
simplewallet: fix wrong amount in show_transfers
2016-10-15 13:56:09 +01:00
moneromooo-monero
3429bfb71d
ringct: thread verRct and verRctSimple
2016-10-15 13:32:13 +01:00
moneromooo-monero
e06a4daf33
ringct: remove unneeded type conversions
2016-10-15 11:58:39 +01:00
moneromooo-monero
afc70df7ea
ringct: reserve space in vectors to avoid excessive reallocation
2016-10-15 11:58:34 +01:00
moneromooo-monero
9ebf7b6dcf
ringct: avoid unnecessary memcpy
2016-10-15 11:58:29 +01:00
moneromooo-monero
1fe75c1ea7
ringct: add a few consts where possible
2016-10-15 11:58:24 +01:00
moneromooo-monero
ab002a1d97
ringct: pass vectors by const ref where possible
2016-10-15 11:58:18 +01:00
moneromooo-monero
4038e86527
Add performance timers for ringct tx verification
2016-10-10 21:24:21 +01:00
moneromooo-monero
74dfdb0b30
perf_timer: new class and macros to make performance logs easier
...
Call PERF_TIMER(name), which is scoped.
2016-10-10 21:24:15 +01:00
moneromooo-monero
3126ba7425
ringct: use const refs as parameters where appropriate
2016-10-08 22:16:23 +01:00
moneromooo-monero
d8eae67ef2
tests: add performance test for ge_frombytes_vartime
...
At luigi1111's request
2016-10-08 19:35:47 +01:00
moneromooo-monero
3cb2436528
core: remove some unused code
2016-10-08 19:35:40 +01:00
moneromooo-monero
1eaa3e8040
tests: add performance tests for rct signatures
2016-10-08 19:35:34 +01:00
moneromooo-monero
9f31e2d8c0
wallet: do not announce pool txes as money spent/received (yet)
2016-10-07 19:52:05 +01:00
moneromooo-monero
4e6d70808d
wallet: better implementation of sweep_unmixable
...
This was still using the old transaction creation algorithm,
coupled with a deterministic output selection scheme, which
made it ill suited to the job, since it'd loop indefinitely
in case the fee increased between the test tx and adding the
fee.
2016-10-04 17:44:56 +01:00
moneromooo-monero
2a0ad8b2fe
simplewallet: add mixin and payment id to sweep_all help
2016-10-04 17:44:30 +01:00
moneromooo-monero
3644aa94f3
blockchain: avoid using a reference to a temporary
2016-10-03 23:20:50 +01:00
moneromooo-monero
e57379a819
p2p: drop any existing connection to a banned IP
2016-10-02 19:23:35 +01:00
moneromooo-monero
179b1f43af
daemon: implement missing print_bc and matching RPC
2016-10-02 10:21:21 +01:00
moneromooo-monero
80b4da3330
wallet: wallet option to confirm transfers with no payment id
...
set confirm-missing-payment-id 0|1
Defaults to true.
2016-10-01 17:03:53 +01:00
moneromooo-monero
baa3e80140
tests: fix build after addition of cryptonote_core::get_block_sync_size
2016-10-01 10:09:51 +01:00
moneromooo-monero
bba6af9064
wallet: cold wallet transaction signing
...
This change adds the ability to create a new unsigned transaction
from a watch only wallet, and save it to a file. This file can
then be moved to another computer/VM where a cold wallet may load
it, sign it, and save it. That cold wallet does not need to have
a blockchain nor daemon. The signed transaction file can then be
moved back to the watch only wallet, which can load it and send
it to the daemon.
Two new simplewallet commands to use it:
sign_transfer (on the cold wallet)
submit_transfer (on the watch only wallet)
The transfer command used on a watch only wallet now writes an
unsigned transaction set in a file called 'unsigned_monero_tx'
instead of submitting the tx to the daemon as a normal wallet does.
The signed tx file is called 'signed_monero_tx'.
2016-09-27 07:46:39 +01:00
moneromooo-monero
9872dcbbe3
wallet: fix log confusion between bytes and kilobytes
2016-09-26 23:12:43 +01:00
moneromooo-monero
d9b0bf9f35
cryptonote_core: make extra field removal more generic
2016-09-26 23:12:38 +01:00
moneromooo-monero
98f19d40aa
serialization: add support for serializing std::pair and std::list
2016-09-26 23:12:28 +01:00
moneromooo-monero
cec090fc8a
Revert "Fix fake 'network synchronized, begin using' messages"
...
This reverts commit 78035d2b6c .
The patch doesn't work, and causes constant SYNCHRONIZED OK spam.
2016-09-25 19:08:35 +01:00
moneromooo-monero
5e3e362c85
core: make the sync chunk block count overridable
2016-09-24 17:00:19 +01:00
moneromooo-monero
d2e11f374a
db_lmdb: do not error if dropping a non existent hard fork table
2016-09-24 16:15:50 +01:00
moneromooo-monero
7b09e9ff77
wallet: update min mixin for sweep_unmixable on v4
2016-09-24 14:48:34 +01:00
moneromooo-monero
8b4e7c6c9c
daemon: report status at 99.9% rather than 100% when not quite synced
...
Less confusing for users.
2016-09-24 11:45:19 +01:00
moneromooo-monero
0d036bec26
blockchain: do not reject chain histories matching only genesis
...
This is fine if our local chain is so small that it is entirely
contained within the last jump in the peer's short chain history.
2016-09-24 11:19:00 +01:00
moneromooo-monero
eeb2bbc0fc
epee: optionally restrict HTTP service to a configurable user agent
...
This is intended to catch traffic coming from a web browser,
so we avoid issues with a web page sending a transfer RPC to
the wallet. Requiring a particular user agent can act as a
simple password scheme, while we wait for 0MQ and proper
authentication to be merged.
2016-09-18 20:32:02 +01:00
moneromooo-monero
d0fa9e74fb
gpg_keys: update my keys' expiration dates
2016-09-18 19:17:47 +01:00
moneromooo-monero
1dd5b0b7df
wallet: keep change dest separate from other dests
...
This fixes misreporting of amount/fee in rct txes, as the rct
tx construction code was lumping all dests (whether change or
not) in the same dests vector, while the pre-rct code was
keeping it separate.
2016-09-18 12:04:23 +01:00
moneromooo-monero
5f5d7279b6
wallet: fix empty tx in corner case sending nothing
2016-09-18 10:44:32 +01:00
moneromooo-monero
c2491b91c0
README: make TORSOCKS_ALLOW_INBOUND optional
2016-09-18 10:34:45 +01:00
moneromooo-monero
f06882f1bc
README: mention --max-concurrency 1 for Mac
2016-09-18 10:23:02 +01:00
moneromooo-monero
e86c5b9b53
miner: do not try to save config if the path isn't set
...
This saves on an exception dump when trying to write to /
after finding a block.
2016-09-18 09:57:42 +01:00
moneromooo-monero
368485d518
simplewallet: do not expose the details of tx splitting to the user
...
They're confusing, as people think it reports their balance.
2016-09-17 22:23:03 +01:00
moneromooo-monero
925086346a
simplewallet: fix wrong amount in show_transfers for pending transactions
...
Change was not taken into consideration
2016-09-17 17:18:24 +01:00
moneromooo-monero
297e5836ca
README: mention rlwrap pitfall when inputting seed and private keys
2016-09-17 15:55:27 +01:00
moneromooo-monero
423776f9b1
daemon: log version when starting
...
Helps with investigating bug reports
2016-09-16 20:47:52 +01:00
moneromooo-monero
9c7b0cb28e
wallet: change priority/fee to ArticMine's recommendation
...
We keep 1, 2, 3 multipliers till the fee decrase from 0.01/kB
to 0.002/kB, where we start using 1, 20, 166 multipliers.
This ensures the higher multiplier will compensate for the
block reward penalty when pushing past 100% of the past median.
The fee-multiplier wallet setting is now rename to priority,
since it keeps its [0..3] range, but maps to different multiplier
values.
2016-09-16 11:50:52 +01:00
moneromooo-monero
cd01bae735
Decrease minimum fee from 0.01/kB to 0.002/kB
...
The wallet will start using that fee about two weeks after hard
fork 3, when most people will likely have updated their daemons.
2016-09-15 09:28:33 +01:00
moneromooo-monero
70b78bb2c8
wallet: fix misdetection of duplicates
2016-09-14 20:23:28 +01:00
moneromooo-monero
7d413f635f
rct: rework serialization to avoid storing vector sizes
2016-09-14 20:23:06 +01:00
moneromooo-monero
0ce79ef10e
core: cleanup some typecasting
2016-09-14 20:22:16 +01:00
moneromooo-monero
0d7ce00793
epee: do not try network resolution if loopback worked
...
Fixes the wallet being unable to connect to the daemon
when there is no NIC.
2016-09-01 18:12:39 +01:00
moneromooo-monero
f1d87c8064
simplewallet: add magic and public keys to key image export file
...
This ensures it's hard to mix files up
2016-09-01 11:32:44 +01:00
moneromooo-monero
f4e894a526
simplewallet: make the key image export format binary
...
Saves on space, and on some pointless hex conversions
2016-09-01 11:04:53 +01:00
moneromooo-monero
85dc0ce3a5
wallet: sanity check on histogram response
2016-09-01 09:04:45 +01:00
moneromooo-monero
6cf8ca2a7f
core: faster find_blockchain_supplement
...
Since this queries block heights for blocks that may or may not
exist, queries for non existing blocks would throw an exception,
and that would slow down the loop a lot. 7 seconds to go through
a 30 hash list.
Fix this by adding an optional return block height to block_exists
and using this instead. Actual errors will still throw an
exception.
This also cuts down on log exception spam.
2016-08-31 10:03:32 +01:00
moneromooo-monero
3112e24aa7
wallet: interpret 0 fee multiplier as default for sweep_all too
2016-08-30 13:19:20 +01:00
moneromooo-monero
1cdba42a77
db_lmdb: fix reorg with "halfway rct" coinbase outputs
2016-08-29 22:44:17 +01:00
moneromooo-monero
73b9b4ba34
wallet: fix not finding enough rct fake outputs
...
If picking coinbase outputs, those are locked for a longer time
than other outputs, so we ask for more of those
2016-08-29 20:51:21 +01:00
moneromooo-monero
adca903589
wallet_rpc_server: return payment id in make_integrated_address RPC
...
It is useful, especially when requesting a random one
2016-08-29 12:18:22 +01:00
moneromooo-monero
91ca0b4065
core: allow empty global indices for txes with empty vout
2016-08-29 09:28:32 +01:00
moneromooo-monero
887db9f936
blockchain: testnet heights for v3, v4, and v5
2016-08-28 21:30:54 +01:00
moneromooo-monero
f24ab58d18
ringct: remove unused code
2016-08-28 21:30:53 +01:00
moneromooo-monero
b38452bd55
ringct: pass structure by const ref, not value
2016-08-28 21:30:51 +01:00
moneromooo-monero
fd11271eea
ringct: use memcpy/memset instead of handwritten loop where appropriate
2016-08-28 21:30:49 +01:00
moneromooo-monero
5d38206fcc
ringct: remove spurious copies
2016-08-28 21:30:47 +01:00
moneromooo-monero
16732a85d7
rct: faster Cryptonote/rct conversions
2016-08-28 21:30:45 +01:00
moneromooo-monero
fbd7c359ee
wallet: fix some "may be used uninitialized" warnings
...
The compiler can't always work out the _found booleans are
set iff the value is initialized.
2016-08-28 21:30:44 +01:00
moneromooo-monero
4a41dd4068
wallet: do not generate 0 change
2016-08-28 21:30:42 +01:00
moneromooo-monero
a0925e628e
core: use full rct signatures if just one input
...
It is slightly smaller, but requires all rings to have the real
input on the same index, so can only be used for single input txes.
2016-08-28 21:30:40 +01:00
moneromooo-monero
94fd881f74
rct: early out on failure on verRange
2016-08-28 21:30:38 +01:00
moneromooo-monero
45349b6f7c
wallet: do not ask for duplicate histograms
2016-08-28 21:30:36 +01:00
moneromooo-monero
b951bc8780
wallet: transfer_selected_rct now also selects fake outs
2016-08-28 21:30:34 +01:00
moneromooo-monero
4f887dea6e
increase minimum mixin to 4 on hard fork 5
2016-08-28 21:30:33 +01:00
moneromooo-monero
0815c72df7
core: allow v1 txes after HF 5 when sweeping unmixable outputs
2016-08-28 21:30:31 +01:00
moneromooo-monero
f782d45827
tests: hard fork list must end with a 0
2016-08-28 21:30:29 +01:00