Neil Booth
351272f0b6
Small optimization for large wallets
Previously the verifier job would scan all transactions in
unverified_tx each time it ran.
Nothing was ever removed from this map; it would essentially
be the full set of transactions.
As the job runs about 10 times a second, for a wallet with 500 txs
this would be 5,000 useless loops a second.
This patch makes unverified_tx be simply the set of confirmed
transactions that haven't yet been verified. txs are added once
confirmed, and removed once verified. Hence it will almost always be
empty.
9 years ago
Neil Booth
478bde8afa
Access to unverified_tx no longer needs a lock
Once the proxy thread jobs are created only they access this,
and they all run under the proxy thread, so there is no contention.
9 years ago
ThomasV
578a83fa30
show error message raised during sign_transaction. see issue #1422
9 years ago
Neil Booth
b64c42b1eb
Make the verifier a thread job instead of a thread
The verifier, like the synchronizer, now runs as part of the
network proxy thread.
9 years ago
Neil Booth
01491dd1d0
Have network_proxy use ThreadJob framework
Rename WalletSynchronizer to Synchronizer so that diagnostic messages,
which are based on class name, still refer to Synchronizer.
9 years ago
ThomasV
bfae04e6f0
Improved in network callbacks:
* Pass arguments
* Don't redraw history when a tx is verified.
* Fix new tx notifications.
10 years ago
ThomasV
e0939348c3
minimize calls to estimated_fee
10 years ago
ThomasV
6232a0b76c
speedup fee computation when collecting small inputs
10 years ago
ThomasV
d69da1ef43
add/remove transaction: remove unused tx_height parameter
10 years ago
ThomasV
6b87256795
sign tx with empty scriptSig inputs
10 years ago
ThomasV
714445aba8
fix: wallet.is_used
10 years ago
ThomasV
43880d452e
dynamic fees
10 years ago
ThomasV
e9f5e6866d
check www dir on daemon start
10 years ago
ThomasV
3da148f406
use local copy of javascript files
10 years ago
ThomasV
41d9c94821
don't add bip70 suffixes
10 years ago
ThomasV
8960b16e09
more sanitization
10 years ago
ThomasV
acbd434f76
cleanup request signing
10 years ago
ThomasV
a6c65b8997
change internal format of requests
10 years ago
ThomasV
380e072842
fix bug with import_key
10 years ago
ThomasV
da55d9ed6e
payment requests: cmdline fixes
10 years ago
ThomasV
cb2bc54f96
store and display signatures of own requests
10 years ago
ThomasV
0368a2cd5e
fix bug from #1281
10 years ago
ThomasV
b0f7411a0a
check and fix history on startup
10 years ago
ThomasV
e2c19ff871
fix #1344
10 years ago
Neil Booth
930304e46b
Remove apparently dead code.
10 years ago
ThomasV
65e7667eba
build reverse history index, to know when a transaction can be removed
10 years ago
ThomasV
0c37009cdb
fix is_address (forgot p2sh)
10 years ago
Michael Wozniak
523aa7c380
update restore multisig to add type
10 years ago
ThomasV
765ef338ec
fix multisig seed detection
10 years ago
ThomasV
56b3c98332
generic m of n multisig
10 years ago
ThomasV
74d26f5bdc
better error message
10 years ago
ThomasV
d09a10e0f7
fix is_used for unmatured tx
10 years ago
ThomasV
10740470cc
fix requests_dir bug
10 years ago
ThomasV
1fbbd5d65d
require network to show request status
10 years ago
ThomasV
317a9de71d
check amount before calling make_payment_request
10 years ago
Neil Booth
e8db8983ec
Make the synchronizer not a thread.
The synchronizer's work is done from the network proxy's main loop.
A minor problem with the old synchronizer was that it considered itself
out of date if the network was out of date. This was too generic: the
network can have pending requests unrelated to the synchronizer. This
resulted in the synchronizer often unnecessarily flipping the wallet
between up-to-date and not-up-to-date, and causing unnecessary calls
to wallet.save_transactions(). This was observable when opening the
network dialog box: frequently just opening it would cause a wallet
status change and transaction flush, simply because the network dialog
sends a get_parameters() request. This rework of the synchronizer does
not have that issue.
10 years ago
ThomasV
8995cdbf14
rename fields: 'time' -> 'timestamp', payment_requests
10 years ago
ThomasV
357c405ac6
fix publish_request
10 years ago
ThomasV
9bd94e5062
refactor payment requests
10 years ago
ThomasV
48e53498db
improve requests
10 years ago
Neil Booth
98bea614d8
Implement BIP-LI01.
No more need to randomly place change.
10 years ago
ThomasV
ab60da89ac
Add a help group for config variables. Change name of ssl variables
10 years ago
ThomasV
fb6a74e034
fix typo
10 years ago
ThomasV
3188ff05a3
fix is_watching_only
10 years ago
ThomasV
088d8e8415
show request status
10 years ago
ThomasV
2727df962e
requests: store path not url
10 years ago
ThomasV
b9e4825422
fix request_dir variable
10 years ago
ThomasV
d41785c783
save payment requests in requests_dir
10 years ago
ThomasV
0938299e9b
move payment requests logic to wallet, add basic commands
10 years ago
ThomasV
5cd3bfedb6
always pass coins to wallet.make_unsigned_transactions. fix \! shortcut in commands
10 years ago