Commit graph

2079 commits

Author SHA1 Message Date
moneromooo-monero
5fc36f981c
wallet2_api: fix history leak on destruction 2016-11-18 21:42:08 +00:00
moneromooo-monero
69b188c4b2
wallet2_api: fix payment ids from integrated addresses being ignored 2016-11-18 19:13:43 +00:00
Dion Ahmetaj
fd181b03bb Clamp refresh from height to blockchain height. 2016-11-18 13:40:55 -05:00
moneromooo-monero
d01f5c7f1f
wallet2: fix illegal memory access removing newlines from password 2016-11-17 20:43:58 +00:00
moneromooo-monero
e6264a2c35
wallet2: fix decrypting a bit too much in authenticated mode 2016-11-17 20:31:00 +00:00
Riccardo Spagni
dbf2ab56c5
Merge pull request #1346
4eb7347 wallet: return fee in transfer RPC (moneromooo-monero)
2016-11-17 16:40:37 +02:00
Riccardo Spagni
5df6f0be80
Merge pull request #1318
4fca34d Wallet2: calculate approximate blockchain height on offline creation (Jacob Brydolf)
2016-11-17 16:37:30 +02:00
Riccardo Spagni
2988e1be8c
Merge pull request #1344
a0131c8 wallet: auto sync outputs and key images in cold signing files (moneromooo-monero)
f806611 wallet2: fill key image and pubkey maps when importing outputs (moneromooo-monero)
5fe363c wallet: cast indices to string in logs to be nice to CLANG (moneromooo-monero)
11ae187 wallet2: try all tx keys when scanning a new transaction (moneromooo-monero)
072d646 wallet2: fill in key image map when importing key images (moneromooo-monero)
23d80b1 core: remove any tx pubkey from extra before adding one (moneromooo-monero)
d72376d simplewallet: add a verbose flag to incoming_transfers (moneromooo-monero)
47413a5 simplewallet: spell out change when signing a transfer (moneromooo-monero)
14cb088 simplewallet: print public keys too on spendkey/viewkey commands (moneromooo-monero)
a99ab49 wallet: fix serialization of new m_key_image_known member (moneromooo-monero)
2016-11-17 16:36:12 +02:00
Riccardo Spagni
b7b54b6cff
Merge pull request #1336
bd4da18 simplewallet: include amount sent in transfer confirmation (moneromooo-monero)
2016-11-17 16:26:49 +02:00
moneromooo-monero
4eb7347fdd
wallet: return fee in transfer RPC 2016-11-16 18:56:45 +00:00
moneromooo-monero
a0131c8be3
wallet: auto sync outputs and key images in cold signing files
When passing around unsigned and signed transactions, outputs
and key images are passed along (outputs are passed along unsigned
transactions from the hot wallet to the cold wallet, key images
are passed along with signed transations from the cold wallet
to the hot wallet), to allow more user friendly syncing between
hot and cold wallets.
2016-11-16 09:22:24 +00:00
moneromooo-monero
f8066116dd
wallet2: fill key image and pubkey maps when importing outputs 2016-11-16 09:22:18 +00:00
moneromooo-monero
5fe363cd22
wallet: cast indices to string in logs to be nice to CLANG 2016-11-16 09:22:13 +00:00
moneromooo-monero
11ae1873f8
wallet2: try all tx keys when scanning a new transaction
The vast majority of transactions will have just one tx pubkey,
but a bug with cold wallet signing caused two such keys to be
there, with the second one being the real one.
2016-11-16 09:22:05 +00:00
moneromooo-monero
072d646a45
wallet2: fill in key image map when importing key images 2016-11-15 21:20:08 +00:00
moneromooo-monero
23d80b15fd
core: remove any tx pubkey from extra before adding one
This will happen when signing a transaction from a cold wallet,
and we don't want the placeholder the hot wallet put in it.
2016-11-15 21:20:02 +00:00
moneromooo-monero
d72376d467
simplewallet: add a verbose flag to incoming_transfers
Prints pubkey and key image as well
2016-11-13 18:20:46 +00:00
moneromooo-monero
47413a5626
simplewallet: spell out change when signing a transfer
Also catch change to multiple addresses, this is unexpected
2016-11-13 17:48:45 +00:00
moneromooo-monero
14cb088300
simplewallet: print public keys too on spendkey/viewkey commands 2016-11-13 17:24:53 +00:00
moneromooo-monero
a99ab49dd5
wallet: fix serialization of new m_key_image_known member 2016-11-13 16:38:29 +00:00
moneromooo-monero
bd4da18525
simplewallet: include amount sent in transfer confirmation 2016-11-13 12:12:22 +00:00
moneromooo-monero
d48f2e9bc6
wallet: fix serialization of new m_key_image_known member 2016-11-13 12:02:29 +00:00
Riccardo Spagni
9363b2ac19
Merge pull request #1334
265e460 Fixed generate-from-json bug introduced in 358e068 (Lee Clagett)
2016-11-13 11:32:43 +02:00
Lee Clagett
265e4605ec Fixed generate-from-json bug introduced in 358e068 2016-11-12 21:55:08 -05:00
Jacob Brydolf
4fca34ddb4
Wallet2: calculate approximate blockchain height on offline creation
Wallet API: add approximateBlockChainHeight()
2016-11-13 03:36:44 +01:00
iDunk5400
e1dd15b050
Don't build monero-wallet-rpc when building the GUI 2016-11-12 19:22:19 +01:00
moneromooo-monero
70d4915980
wallet: add version dependency to the wallet target 2016-11-12 12:55:19 +00:00
Riccardo Spagni
6a2bb62827
Merge pull request #1316
358e068 Created monero-wallet-rpc, moving functionality from monero-wallet-cli (Lee Clagett)
2016-11-11 12:48:39 +02:00
Riccardo Spagni
524ff61ad5
Merge pull request #1321
0e418d2 rpc: bump RPC version (moneromooo-monero)
2016-11-11 12:38:01 +02:00
Riccardo Spagni
a3cd7230f8
Merge pull request #1315
9150a16 Wallet API: use stored refresh height when rebuilding cache (Jacob Brydolf)
2016-11-11 12:35:47 +02:00
Riccardo Spagni
3fd13080b7
Merge pull request #1314
63772e4 wallet: fix corner case of no recent outputs available (moneromooo-monero)
2016-11-11 12:35:25 +02:00
Riccardo Spagni
0e0bf432a4
Merge pull request #1313
1669621 wallet2_api: support for sweeping all (moneromooo-monero)
2016-11-11 12:35:04 +02:00
Riccardo Spagni
5f568533aa
Merge pull request #1263
d61bd81 add lightweight block propagation ("fluffy blocks") (Dion Ahmetaj)
2016-11-11 12:34:43 +02:00
moneromooo-monero
0e418d2a58
rpc: bump RPC version
I forgot to bump it previously when changing RPC, most notably
for the addition of the unlocked field in the histogram RPC.
This causes new wallets to not realize when they're talking to
an older daemon, and get confused trying to get outputs to use
as fake outs. This otherwise gratuitous bump ensures than old
daemons will be detected by wallets using this code.
2016-11-10 23:00:24 +00:00
Lee Clagett
358e068e87 Created monero-wallet-rpc, moving functionality from monero-wallet-cli 2016-11-10 16:39:27 -05:00
moneromooo-monero
1669621937
wallet2_api: support for sweeping all 2016-11-09 19:32:37 +00:00
Dion Ahmetaj
d61bd8187e add lightweight block propagation ("fluffy blocks")
Added a new command to the P2P protocol definitions to allow querying for support flags.

Implemented handling of new support flags command in net_node. Changed for_each callback template to include support flags. Updated print_connections command to show peer support flags.

Added p2p constant for signaling fluffy block support.

Added get_pool_transaction function to cryptnote_core.

Added new commands to cryptonote protocol for relaying fluffy blocks.

Implemented handling of fluffy block command in cryptonote protocol.

Enabled fluffy block support in node initial configuration.

Implemented get_testnet function in cryptonote_core.

Made it so that fluffy blocks only run on testnet.
2016-11-09 14:24:27 -05:00
Jacob Brydolf
9150a16ed1
Wallet API: use stored refresh height when rebuilding cache 2016-11-09 18:46:03 +01:00
moneromooo-monero
63772e4048
wallet: fix corner case of no recent outputs available
Also clarify related logs
2016-11-09 14:01:54 +00:00
Riccardo Spagni
38727f7d2f
Merge pull request #1312
acf908c thread_group: fix build with asserts enabled (moneromooo-monero)
2016-11-09 14:13:35 +02:00
Riccardo Spagni
7931cb19ef
Merge pull request #1311
5c4cb96 cryptonote_protocol: drop connection when find_blockchain_supplement fails (moneromooo-monero)
2016-11-09 14:13:06 +02:00
Riccardo Spagni
dc5e0e45cd
Merge pull request #1310
40a68e2 wallet2_api: add API for create_unmixable_sweep_transactions (moneromooo-monero)
2016-11-09 14:11:57 +02:00
Riccardo Spagni
56c594a8fe
Merge pull request #1309
c441a61 wallet2_api: API to sign and verify a message (moneromooo-monero)
2016-11-09 14:10:39 +02:00
Riccardo Spagni
06ca304b06
Merge pull request #1307
4dcb74f wallet_api: PendingTransaction::txCount - number of split transactions (Ilya Kitaev)
2016-11-09 14:10:12 +02:00
Riccardo Spagni
144a7f090a
Merge pull request #1305
c80f4d4 wallet: fix output collision detection for view wallets (moneromooo-monero)
2016-11-09 14:08:34 +02:00
moneromooo-monero
acf908c834
thread_group: fix build with asserts enabled
See https://github.com/monero-project/monero/pull/1291
2016-11-09 11:29:06 +00:00
moneromooo-monero
5c4cb96cfb
cryptonote_protocol: drop connection when find_blockchain_supplement fails
This will be when we can't find common ground between the peer's
short chain history and our blockchain.

This fixes bad peers claiming a higher blockchain height from never
dropped, and keeping the node in synchronizing state forever, since
we will never get blocks from that peer.
2016-11-09 11:04:20 +00:00
moneromooo-monero
c441a61ef6
wallet2_api: API to sign and verify a message 2016-11-08 21:21:08 +00:00
Ilya Kitaev
4dcb74f97f wallet_api: PendingTransaction::txCount - number of split transactions 2016-11-09 00:13:18 +03:00
Riccardo Spagni
e8a55db29d
Merge pull request #1308
0c530de Wallet API: Pause refresh while creating transaction (Jacob Brydolf)
2016-11-08 22:57:04 +02:00
Riccardo Spagni
18fdd8116e
Merge pull request #1306
8aba0d4 wallet: encrypt outputs and key images files with the view key (moneromooo-monero)
2016-11-08 22:55:56 +02:00
Riccardo Spagni
7c7a6cf2f8
Merge pull request #1302
63fe6fd wallet2_api: allow connection to return "yes, but wrong version" (moneromooo-monero)
2016-11-08 22:53:13 +02:00
Riccardo Spagni
96e0138ebf
Merge pull request #1301
35da3cb Wallet API: added getTxKey() (Jacob Brydolf)
2016-11-08 22:50:13 +02:00
Jacob Brydolf
35da3cb074 Wallet API: added getTxKey() 2016-11-08 21:48:26 +01:00
Riccardo Spagni
c57ce06a97
Merge pull request #1300
eb19492 wallet2_api: do not copy the whole pending tx when iterating (moneromooo-monero)
2016-11-08 22:48:04 +02:00
Riccardo Spagni
af2ceb29fa
Merge pull request #1298
97288a5 wallet2_api: add API for tx notes (moneromooo-monero)
2016-11-08 22:45:54 +02:00
Riccardo Spagni
c05cecf036
Merge pull request #1297
af8a260 wallet_api: txkey checking functions for the GUI (moneromooo.monero)
2016-11-08 22:44:15 +02:00
Riccardo Spagni
dce47d52af
Merge pull request #1291
64094e5 adding thread_group for managing async tasks (Lee Clagett)
2016-11-08 22:37:43 +02:00
Riccardo Spagni
4c44d896d3
Merge pull request #1285
a970a4e refresh speedup (luigi1111)
2016-11-08 22:34:26 +02:00
Riccardo Spagni
0fa6cbef3f
Merge pull request #1276
18f66f4 wallet: use the dynamic per kB fee (moneromooo-monero)
e6deb8a rpc: add a dynamic fee estimation RPC call (moneromooo-monero)
82dbba1 core: dynamic fee algorithm from ArticMine (moneromooo-monero)
2016-11-08 22:33:13 +02:00
moneromooo-monero
40a68e22fa
wallet2_api: add API for create_unmixable_sweep_transactions 2016-11-08 20:03:07 +00:00
Jacob Brydolf
0c530de057
Wallet API: Pause refresh while creating transaction 2016-11-08 13:20:42 +01:00
moneromooo-monero
8aba0d4b4c
wallet: encrypt outputs and key images files with the view key
This key is available to both cold and hot wallet.
Authenticated encryption will guard against interception and/or
modification of the file.
2016-11-07 20:01:05 +00:00
moneromooo-monero
c80f4d416d
wallet: fix output collision detection for view wallets
View wallets do not have the spend secret key, and are thus
unable to derive key images for incoming outputs. Moreover,
a previous patch set key images to zero as a means to mark
an output as having an unknown key image, so they could be
filled in when importing key images at a later time. That
later patch caused spurious collisions. We now use public
keys to detect duplicate outputs. Public keys obtained from
the blockchain are checked to be identical to the ones
derived locally, so can't be spoofed.
2016-11-07 18:59:30 +00:00
moneromooo-monero
63fe6fd9ba
wallet2_api: allow connection to return "yes, but wrong version" 2016-11-07 12:00:29 +00:00
moneromooo-monero
eb194925ec
wallet2_api: do not copy the whole pending tx when iterating 2016-11-06 10:36:08 +00:00
moneromooo-monero
97288a5ce2
wallet2_api: add API for tx notes 2016-11-05 21:19:08 +00:00
moneromooo.monero
af8a2600aa
wallet_api: txkey checking functions for the GUI 2016-11-05 15:24:05 +00:00
Lee Clagett
64094e5f4e adding thread_group for managing async tasks 2016-11-02 19:21:55 -04:00
moneromooo-monero
b5d6faada3
wallet: fix bad amounts/fees again
m_amount_out was sometimes getting initialized with the sum of
an transaction's outputs, and sometimes with the sum of outputs
that were not change. This caused confusion and bugs. We now
always set it to the sum of outputs. This reverts an earlier
fix for bad amounts as this used the other semantics. The wallet
data should be converted automatically in a percentage of cases
that I'm hesitant to estimate. In any case, restoring from seed
or keys or rebuilding the cache will get it right.
2016-11-02 23:11:30 +00:00
Riccardo Spagni
d51f1af75f
Merge pull request #1272
48b57d8 monero.supp: valgrind suppressions file (moneromooo-monero)
ffd8c41 ringct: check the size of amount_keys is the same as destinations (moneromooo-monero)
836669d ringct: always shutdown the boost io service (moneromooo-monero)
2016-11-01 21:49:30 +02:00
luigi1111
a970a4e3cf
refresh speedup
Compute derivation only once per tx, instead of once per output. Approx 33% faster while using 75% as much CPU on my machine. Note old functions in cryptonote_core (lookup_acc_outs and is_out_to_acc) are still used by tests.
2016-11-01 11:24:04 -05:00
Riccardo Spagni
b06c1abaa6
Merge pull request #1278
43ec2d0 Wallet API: added walletExists logic (Jacob Brydolf)
2016-11-01 15:29:44 +02:00
Riccardo Spagni
6f85b20d92
Merge pull request #1283
4869db7 adding static_assert to pod functions in string tools (Lee Clagett)
2016-11-01 15:13:10 +02:00
Riccardo Spagni
f189fe51ac
Merge pull request #1282
f5ccfa4 core: fix removal of extra nonce using wrong type (moneromooo-monero)
3c2cad2 Revert "remove cn_deserialize" (moneromooo-monero)
2016-11-01 15:12:30 +02:00
Riccardo Spagni
d53bc2eddf
Merge pull request #1281
bb560dd wallet: new import_outputs/export_outputs commands (moneromooo-monero)
2016-11-01 15:12:03 +02:00
Riccardo Spagni
95e0010fbb
Merge pull request #1277
7e6d3cf wallet: set incoming outputs' key image to 0 on view wallets (moneromooo-monero)
1f9e6a4 wallet: print tx overview on submit_transfer too (moneromooo-monero)
2016-11-01 15:06:51 +02:00
Riccardo Spagni
77284c026f
Merge pull request #1275
4bfb81a simplewallet: remove destinations with zero amount in sign_transfer (moneromooo-monero)
2016-11-01 15:03:08 +02:00
Lee Clagett
4869db702a adding static_assert to pod functions in string tools 2016-10-31 13:22:21 -04:00
moneromooo-monero
18f66f44ef
wallet: use the dynamic per kB fee 2016-10-31 08:38:06 +00:00
moneromooo-monero
e6deb8abda
rpc: add a dynamic fee estimation RPC call 2016-10-31 08:38:00 +00:00
moneromooo-monero
82dbba10d4
core: dynamic fee algorithm from ArticMine
The fee will vary based on the base reward and the current
block size limit:

fee = (R/R0) * (M0/M) * F0

R: base reward
R0: reference base reward (10 monero)
M: block size limit
M0: minimum block size limit (60000)
F0: 0.002 monero

Starts applying at v4
2016-10-31 08:37:08 +00:00
moneromooo-monero
f5ccfa4001
core: fix removal of extra nonce using wrong type 2016-10-30 20:44:45 +00:00
moneromooo-monero
3c2cad2d46
Revert "remove cn_deserialize"
This is useful (to me).

This reverts commit f968ccb9d3.
2016-10-30 20:34:48 +00:00
moneromooo-monero
bb560dd814
wallet: new import_outputs/export_outputs commands
The intended use is to export outputs from a hot wallet, which
can scan incoming transfers from the network, and import them
in the cold wallet, which can't. The cold wallet can then compute
key images for those outputs, which can then be exported with
export_key_images, etc.
2016-10-30 19:37:09 +00:00
Jacob Brydolf
43ec2d002a
Wallet API: added walletExists logic 2016-10-30 15:34:50 +01:00
moneromooo-monero
7e6d3cf441
wallet: set incoming outputs' key image to 0 on view wallets
This allows rescan_spent to know the daemon response to those
is not valid.
2016-10-30 12:14:33 +00:00
moneromooo-monero
1f9e6a46d8
wallet: print tx overview on submit_transfer too
This is on the potentially compromised wallet, but still guards
against stupid mistakes.
2016-10-30 10:49:22 +00:00
moneromooo-monero
4bfb81a7f5
simplewallet: remove destinations with zero amount in sign_transfer
This will happen when sending to another address, after removing
the fee.
2016-10-30 09:15:04 +00:00
NanoAkron
f71b06770b
Changed to ..._HASHBITS everywhere for consistency 2016-10-29 14:59:06 +01:00
moneromooo-monero
ffd8c41f36
ringct: check the size of amount_keys is the same as destinations 2016-10-29 13:33:48 +01:00
moneromooo-monero
836669d276
ringct: always shutdown the boost io service
Even if no worker threads were started, it needs shutting down
or it will cause an invalid access in the io service thread
2016-10-29 13:31:53 +01:00
Riccardo Spagni
83b0511731
Merge pull request #1270
fdef09f Wallet API: make sure path exists before searching for wallets (Jacob Brydolf)
2016-10-29 11:35:48 +02:00
Riccardo Spagni
3365f770dd
Merge pull request #1261
069d688 simplewallet: log transactions to submit in submit_transfer (moneromooo-monero)
31abac4 wallet: fix pre-rct cold wallet signing not splitting change (moneromooo-monero)
2016-10-29 11:30:21 +02:00
Riccardo Spagni
6a303b9a3a
Merge pull request #1254
eb4ecd4 daemon: fix min/max tracking using the wrong size (moneromooo-monero)
2016-10-29 11:23:08 +02:00
Riccardo Spagni
971f3ae031
Merge pull request #1251
59f0d4b ringct: some more small optimizations (moneromooo-monero)
2016-10-29 11:22:27 +02:00
Jacob Brydolf
fdef09f11c Wallet API: make sure path exists before searching for wallets 2016-10-28 22:29:33 +02: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