| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |\
| |
| |
| |
| |
| | |
ef7a86c wallet2: guard optimized coinbase refresh against empty vout (selsta)
ACKs: tobtoht, SChernykh
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | |
| | | |
b99d15f wallet2: reject non-monotonic rct output distributions (selsta)
ACKs: jeffro256, vtnerd
|
| | |/ |
|
| |/ |
|
| | |
|
| | |
|
| |\
| |
| |
| | |
afb9a1f use latest hard fork block for get_approximate_blockchain_height & update approximate_rolled_back_blocks (SNeedlewoods)
|
| | |
| |
| |
| | |
approximate_rolled_back_blocks
|
| | | |
|
| |\ \
| | |
| | |
| | | |
f855ffe wallet2: throw if reserve proof can't be parsed (tobtoht)
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | | |
1154314 wallet2: use decodeRct for reserve proof amount validation (selsta)
|
| | |/ /
| | |
| | |
| | | |
also update check_tx_key_helper for consistency
|
| |/ / |
|
| |\ \
| | |
| | |
| | | |
54abe12 wallet2: remove deprecated txs_as_hex (selsta)
|
| | | |
| | |
| | |
| | | |
also add missing underflow check
|
| |\ \ \
| | | |
| | | |
| | | | |
874c771 cryptonote_basic: pruned hash return bool (j-berman)
|
| | | | | |
|
| |\ \ \ \
| |/ / /
|/| | |
| | | | |
2094d38 wallet2: add parse multisig tx sanity checks (selsta)
|
| | |/ / |
|
| |/ /
| |
| |
| | |
(cherry picked from commit 23e29a5074f01cbb781f7e76b0c17ad2b6797af0)
|
| |\ \
| | |
| | |
| | | |
e7b121a wallet2: fix background wallet detection in verify_password() (selsta)
|
| | |/ |
|
| |/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
If a tx is marked as failed (because it never shows up in the
daemon's pool), its key images get reset back to unspent so they
can be used in future txs.
If the tx re-enters the daemon's pool (e.g. it's removed from the
pool and then relayed back), then the wallet incorrectly maintains
that the tx's key images are unspent.
This change ensures the wallet re-marks the tx's key images as
spent if the tx re-appears in the node's pool.
|
| |\
| |
| |
| | |
9239d36 wallet: identify spends in pool when scanning (j-berman)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Make sure to mark identified spends in the pool as spends. The
wallet might not know these have been spent if it wasn't the wallet
that relayed the tx to the daemon, or the wallet was cleared via
rescan_bc.
- Make sure to add spends to m_unconfirmed_txs if not present.
- Make sure to process the entire pool again if refreshing for
the first time. The wallet fetches pool and blocks at the same
time. The wallet scans blocks first, then pool. If the wallet
identifies received outputs in the chain, then it may have spent
those received outputs in the pool. So we make sure to re-process
the entire pool again after scanning the chain for the first time.
- Multisig wallets that know about spent key images can now detect
spend txs in the pool. Update tests for that.
|
| |/
|
|
|
|
|
|
|
|
| |
A reorg can end up causing an output's position in the chain to
move. Since the wallet doesn't update the RingDB on reorg, it
may refer to the output's stale position in the chain.
This seems a reasonable solution rather than introducing complex
logic to update the stale ring member's value on rerog, since
RingDB can be deprecated with FCMP++.
|
| |
|
|
|
|
|
| |
Rings for outgoing transactions are stored within the scanning code since the last hardfork,
so this code is largely unneccessary now.
Co-authored-by: j-berman <justinberman@protonmail.com>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\
| |
| |
| | |
e44e8b164 wallet: background sync with just the view key (j-berman)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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.
|
| |\ \
| | |
| | |
| | | |
34c7d31 wallet: shortchain history should include base block (0xFFFC0000)
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | | |
cd1c060 Daemon-specific proxy for the wallet-rpc. 1. Daemon-specific proxy is exclusive with global proxy (--proxy). 2. If you set global proxy (--proxy) you cannot set daemon-specific proxy. 3. If you don't set global proxy, you can set proxy (or not set) proxy for each daemon connection with the proxy field in jsonrpc to the wallet-rpc. (0xFFFC0000)
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
1. Daemon-specific proxy is exclusive with global proxy (--proxy).
2. If you set global proxy (--proxy) you cannot set daemon-specific proxy.
3. If you don't set global proxy, you can set proxy (or not set) proxy for
each daemon connection with the proxy field in jsonrpc to the wallet-rpc.
|
| |\ \ \
| |/ /
|/| |
| | | |
a928cbc wallet2: fix error throw if unable to load cache (tobtoht)
|
| | | | |
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[RELEASE]
1. Use std::is_standard_layout and std::is_trivially_copyable instead of std::is_pod for KV byte-wise serialization, which fixes compile issue for Boost UUIDs
2. Removed reimplementation of std::hash for boost::uuids::uuid
3. Removed << operator overload for crypto::secret_key
4. Removed instances in code where private view key was dumped to the log in plaintext
Release version of #9450, containing C++14 modified assertions
|
| | | |
|
| |/ |
|
| |\
| |
| |
| | |
dd47d03 Enforce Tx unlock_time is Zero by Relay Rule [RELEASE] (jeffro256)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
@tobtoht: undo rebase changes tx.dsts -> tx_dsts
|