Commit Graph

1280 Commits

Author SHA1 Message Date
moneromooo-monero 34884a4b00 store outPk/8 in the tx for speed
It avoids dividing by 8 when deserializing a tx, which is a slow
operation, and multiplies by 8 when verifying and extracing the
amount, which is much faster as well as less frequent
2021-08-30 00:18:45 +03:00
moneromooo-monero ce6db7db63 plug bulletproofs plus into consensus 2021-08-30 00:17:37 +03:00
wowario 40e30964c4 nudge estimate height 2021-08-30 00:05:02 +03:00
wowario 25e3365afb disable sanity_checks 2021-08-30 00:03:12 +03:00
wowario e1ff02c1c5 support old BP 2021-08-30 00:00:54 +03:00
wowario 952b0492d9 initial commit 2021-08-29 23:56:47 +03:00
luigi1111 317eceb725
Merge pull request #7894
c0ce4d5 Wallet2: fix optimize-coinbase for p2pool payouts (SChernykh)
2021-08-26 21:14:12 -04:00
luigi1111 d98787eb1b
Merge pull request #7825
ccfed60 cmake: test is a reserved keyword (selsta)
f0fa959 cmake: fix ccache detection (anon)
8dbe2e5 Daemon: Update average block size table (rbrunner7)
94bad34 wallet2: Don't auto lock device on process parsed blocks (tobtoht)
3c23aca ledger: don't lock for software device (tobtoht)
49beb8d ledger: use software device if we have view key (tobtoht)
d188b5f wallet_api: getPassword (tobtoht)
a395f36 depends, docker: fix bintray links (selsta)
0fecd7e blocks: fix cmake syntax (selsta)
76824bf Stop adding more outputs than bulletproof allows (Alex Opie)
67ba733 unit_tests: fix wipeable_string parse_hexstr test with latest gtest (xiphon)
402ba04 cmake: use CMAKE_CURRENT_LIST_DIR in FindLibUSB (selsta)
1565bcb epee: include public openssl header in cmake (selsta)
2e9af2a cmake: treat warnings as error in compiler flag tests (selsta)
db564ef wallet_api: fix typo in exportKeyImages (selsta)
8507917 depends: add getmonero package mirror (selsta)
8716d2a cmake: fix non portable code (selsta)
2021-08-26 21:10:56 -04:00
luigi1111 ca1b1b7332
Merge pull request #7822
99bee1c Apply gamma distr from chain tip when selecting decoys (j-berman)
2021-08-26 21:08:56 -04:00
SChernykh c0ce4d5089 Wallet2: fix optimize-coinbase for p2pool payouts
RefreshOptimizeCoinbase was an optimization to speed up scanning of coinbase transactions before RingCT (tx version 2) where they split miner reward into multiple denominations, all to the same wallet.

When RingCT was introduced, all coinbase transactions became 1 output only, so this optimization does nothing now.

With p2pool, this optimization will skip scanning p2pool payouts because they use more than 1 output in coinbase transaction.

Fix it by applying this optimization only to pre-RingCT transactions (version < 2).
2021-08-26 11:51:07 +02:00
luigi1111 a520234c51
Merge pull request #7848
adcf440 Make sure node returns to wallet that real output is unlocked (j-berman)
2021-08-20 16:49:19 -04:00
luigi1111 715ebcb744
Merge pull request #7846
2285c66 Protect client from divide by 0 caused by integer truncation (j-berman)
2021-08-20 16:48:14 -04:00
j-berman 2285c66ef1 Protect client from divide by 0 caused by integer truncation 2021-08-19 15:00:59 -07:00
j-berman 99bee1ccf0 Apply gamma distr from chain tip when selecting decoys
- matches the paper by Miller et al to apply the gamma from chain tip, rather than after unlock time
- if the gamma produces an output more recent than the unlock time, the algo packs that output into one of the first 50 spendable blocks, respecting the block density factor
2021-08-19 14:59:12 -07:00
luigi1111 f00db20a5f
Merge pull request #7792
9b84043 fix #7784 - deinit wallet in wallet dtor (Dusan Klinec)
2021-08-11 22:30:53 -04:00
j-berman adcf440dcd Make sure node returns to wallet that real output is unlocked 2021-08-11 07:26:56 -07:00
tobtoht 94bad34c26
wallet2: Don't auto lock device on process parsed blocks 2021-08-07 03:04:24 +02:00
Alex Opie 76824bf827
Stop adding more outputs than bulletproof allows
If more outputs are requested, they are split across
multiple transactions.

#7322
2021-08-01 15:47:11 +02:00
Dusan Klinec 9b840439b9
fix #7784 - deinit wallet in wallet dtor 2021-07-14 15:08:06 +02:00
Dusan Klinec 7e3f211791
wallet: rephrase error message on invalid device address 2021-07-14 15:05:28 +02:00
Nathan Dorfman 70c5c81670 wallet2: Fix rescan_bc keep_ki option 2021-04-22 16:15:01 -06:00
moneromooo-monero 4a9ae3eb8b
fix serialization being different on mac
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.
2021-03-05 23:41:19 +00:00
moneromooo-monero 5c3e84b6ae
restrict public node checks a little
do not include blocked hosts in peer lists or public node lists by default,
warn about no https on clearnet and about untrusted peers likely being spies
2020-12-22 23:39:19 +00:00
selsta 93135907dd wallet2: set propagation timeout to current max timeout 2020-12-03 02:24:52 +01:00
Crypto City efca5b8af9
wallet2: check imported multisig curve points are in main subgroup 2020-11-24 16:24:03 +00:00
xiphon f9a9d2ee28 wallet2: wait for propagation timeout before marking tx as failed 2020-10-18 13:59:54 +00:00
moneromooo-monero 9e6187a736
fix a couple bugs found by OSS-fuzz
- index out of bounds when importing outputs
- accessing invalid CLSAG data
2020-09-24 15:33:40 +00:00
luigi1111 2b1488ef6f
Merge pull request #6793
de9a9fb update error message 'No unlocked balance in the specified account' (woodser)
2020-09-15 19:56:49 -05:00
TheCharlatan 80e535c95a
wallet2: adapt to deterministic unlock time 2020-09-15 11:40:31 +00:00
luigi1111 9bba1a24ea Merge pull request #6815
ef4325f wallet2: fix tx sanity check triggering on pre-rct outputs (monermooo-monero)
2020-09-14 11:47:06 -05:00
moneromooo-monero ef4325fd41
wallet2: fix tx sanity check triggering on pre-rct outputs 2020-09-12 17:51:41 +00:00
Reinaldulin a3844e257e
Fix typo in command line argument description 2020-09-09 10:18:32 -04:00
luigi1111 fd657c7706
Merge pull request #6798
4e44306 enable CLSAG support for Trezor client (ph4r05)
2020-09-07 14:30:41 -05:00
Dusan Klinec 4e4430603f
enable CLSAG support for Trezor client 2020-09-04 01:24:58 +02:00
luigi1111 ee0b02d0db
Merge pull request #6757
6a37da8 threadpool: guard against exceptions in jobs, and armour plating (moneromooo-monero)
2020-09-03 12:25:59 -05:00
woodser de9a9fb340 update error message "No unlocked balance in the specified account" 2020-09-01 17:30:00 -04:00
moneromooo-monero 6a37da837e
threadpool: guard against exceptions in jobs, and armour plating
Those would, if uncaught, exit run and leave the waiter to wait
indefinitely for the number of active jobs to reach 0
2020-09-01 14:33:33 +00:00
Sarang Noether fa06c39d97 Bind signature to full address and signing mode 2020-08-28 19:38:00 -04:00
moneromooo-monero 743608ec16 wallet: allow signing a message with spend or view key 2020-08-28 19:25:17 -04:00
moneromooo-monero 82ee01699c
Integrate CLSAGs into monero
They are allowed from v12, and MLSAGs are rejected from v13.
2020-08-27 12:44:04 +00:00
Alexander Blair 4fe2858b4d
Merge pull request #6746
20f603c6b Fix broken multisig pubkey sorting (Jason Rhinelander)
2020-08-27 02:58:53 -07:00
Alexander Blair a06c83db73
Merge pull request #6752
85899230d simplewallet: allow setting tx keys when sending to a subaddress (moneromooo-monero)
e916201f1 wallet2: fix setting tx keys when another is already set (moneromooo-monero)
2020-08-27 02:58:23 -07:00
Alexander Blair 42519b48a7
Merge pull request #6731
db5d6e460 wallet2: fix wrong name when checking RPC cost (moneromooo-monero)
2020-08-27 02:55:48 -07:00
Alexander Blair bad5d8d6f0
Merge pull request #6690
7175dcb10 replace most boost serialization with existing monero serialization (moneromooo-monero)
2020-08-27 02:54:30 -07:00
luigi1111 765db1ae7a
Revert "Use domain-separated ChaCha20 for in-memory key encryption"
This reverts commit 921dd8dde5.
2020-08-17 14:08:59 -05:00
moneromooo-monero 7175dcb107
replace most boost serialization with existing monero serialization
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-17 16:23:58 +00:00
Alexander Blair 01b512f3a9
Merge pull request #6716
76c16822d wallet2_api: implement runtime proxy configuration (xiphon)
2020-08-16 12:52:21 -07:00
Alexander Blair f40b9e34e0
Merge pull request #6715
3d6bc0a68 wallet2: throw a error on wallet initialization failure (xiphon)
2020-08-16 12:51:57 -07:00
Alexander Blair 8f02e7a7fc
Merge pull request #6632
ef694d028 fix warning by removing std::move() on temporary http_client object (woodser)
2020-08-16 12:44:59 -07:00
Alexander Blair 6d29ee6c52
Merge pull request #6493
921dd8dde Use domain-separated ChaCha20 for in-memory key encryption (Sarang Noether)
2020-08-16 12:39:59 -07:00