Commit Graph

412 Commits

Author SHA1 Message Date
Maran
06bfb60308 Reworked notification flow and combined multiple transactions into one notification 2013-07-16 12:15:23 +02:00
Maran
468c76b66e Added notifications when receiving a new transaction 2013-07-16 12:15:23 +02:00
Maran
e319f5e0ae Save contacts to the proper key in the wallet. fixes #234 2013-06-17 22:09:28 +02:00
ecdsa
3796fceb28 bugfix: referenced transactions 2013-06-01 19:26:07 +02:00
thomasv
4a60db9733 new methods: init_menubar and load_wallet 2013-06-01 11:59:54 +02:00
thomasv
5a015bc290 increase default fee to 0.0005 btc/kb 2013-05-10 14:36:38 +02:00
ecdsa
c81d565665 add error message for import_key failure 2013-05-05 17:38:59 +02:00
ecdsa
0f661aa3a1 minor bugfix 2013-05-02 10:56:28 +02:00
ecdsa
b2c23f9ac8 deprecate wallet.save() and 'eval' command 2013-05-02 10:54:48 +02:00
ecdsa
6be62e44de wallet.delete_contact method 2013-05-02 10:19:18 +02:00
ecdsa
8104a47a3e wallet.add_contact method 2013-05-02 10:10:22 +02:00
ecdsa
19d19d9a00 wallet set_fee method 2013-05-02 10:00:52 +02:00
ecdsa
fe405c50d0 delete_imported_key method 2013-05-02 09:54:43 +02:00
ecdsa
97e849a248 move verify_message to wallet 2013-05-01 10:40:44 +02:00
ecdsa
b4f353291a fix update_password: save use_encryption after seed 2013-04-29 10:30:29 +02:00
ecdsa
c95c80163d distinction between unconfirmed and unverified transactions 2013-04-27 17:48:27 +02:00
thomasv
6585da69fe message about frozen funds 2013-04-12 14:29:11 +02:00
thomasv
98f7d36313 ask users to enter their seed on create 2013-04-09 18:08:14 +02:00
ecdsa
cc8c7c780d fix: don't raise exception in get_address_index 2013-04-08 17:02:28 +02:00
ecdsa
6609624fe0 mktx: send change to one of the accounts involved in the tx 2013-04-08 16:18:40 +02:00
ecdsa
a1f8454b14 fix mktx 2013-04-07 20:25:01 +02:00
thomasv
e89331d138 handle multiple accounts with separation 2013-04-06 18:44:31 +02:00
thomasv
ec901f54a4 keyboard shortcut to send all the coins in a wallet, with fee 2013-04-05 18:03:52 +02:00
ecdsa
84101a446b use ssl as default protocol 2013-04-05 06:01:18 +02:00
ecdsa
a54c5e88c6 fix int rounding 2013-03-24 12:44:17 +01:00
ecdsa
01d43719a6 simplify loops 2013-03-24 12:20:13 +01:00
ecdsa
7c4fa714d2 set default fee to 200 uBTC 2013-03-24 11:31:43 +01:00
ecdsa
fc7122008a implement MIN_RELAY_TX_FEE 2013-03-24 11:25:17 +01:00
ecdsa
678b00dbec prune unverified transactinos during upgrade 2013-03-24 09:52:36 +01:00
ecdsa
3ad453fafb rename fee to fee_per_kb 2013-03-24 09:24:45 +01:00
ecdsa
29b9ffac4a transaction lock 2013-03-24 07:34:28 +01:00
ecdsa
3dc9677822 remove receipt code 2013-03-23 19:17:11 +01:00
ecdsa
cac030e2ee fix transaction order in history 2013-03-23 18:10:09 +01:00
thomasv
a5168cc09f more accurate computation of transaction fees. 2013-03-23 12:36:37 +01:00
ecdsa
7e0d4a2851 fix is_change 2013-03-17 21:13:10 +01:00
ecdsa
8a720b1629 do the banner request in interface, not in wallet 2013-03-17 10:54:21 +01:00
Maran
a6ae46631f Fix export master public key 2013-03-16 23:38:49 +01:00
ecdsa
d6952228be define wallet.get_num_tx() 2013-03-16 18:17:50 +01:00
ecdsa
fefb884794 fix wallet.is_change() method 2013-03-16 17:51:58 +01:00
thomasv
93b98e1176 move http aliases to separate plugin 2013-03-15 15:48:28 +01:00
thomasv
8c71c54487 add label to internal transactions 2013-03-14 13:08:50 +01:00
thomasv
3b80ef7c60 rely only on the verifier to get the height of transactions 2013-03-14 12:22:06 +01:00
ecdsa
11552c2f23 use an abstract class SequenceClass 2013-03-13 22:05:02 +01:00
thomasv
c9a7c58323 print created address in terminal, as in previous versions 2013-03-13 15:33:50 +01:00
ecdsa
12d65f5e52 better synchronize method 2013-03-12 23:10:43 +01:00
ecdsa
5e7e002bd8 remove internal check that was too strong 2013-03-12 21:55:56 +01:00
ecdsa
0569cc283a fix exception 2013-03-12 20:59:37 +01:00
thomasv
10bfcb918b replace 'ElectrumKeyID' with more general 'KeyID' field in transactions 2013-03-12 17:54:26 +01:00
thomasv
8b08eb541a do not request banner twice 2013-03-12 17:34:06 +01:00
ecdsa
32db2aecc2 check if the wallet has a seed before signing transaction 2013-03-07 17:15:33 +01:00
ecdsa
3382354442 fix: restore wallet from master public key 2013-03-07 16:41:43 +01:00
ecdsa
e06e511e39 revert own commit 2013-03-05 23:10:18 +01:00
ecdsa
811f1ee848 do not run synchronize on deseeded wallets 2013-03-05 14:57:30 +01:00
ecdsa
df3187d9a9 fix 2013-03-04 10:49:46 +01:00
ecdsa
4019102264 rename sequence, fix bip32 2013-03-04 07:43:01 +01:00
ecdsa
f97fe02e3a fix: tx outputs 2013-03-03 19:29:03 +01:00
thomasv
383a84161e fix 2013-03-03 16:49:42 +01:00
thomasv
190f733de2 restrict plugins to the gui 2013-03-03 16:01:47 +01:00
thomasv
cd9f366735 move point of sale mode into plugins 2013-03-03 13:50:08 +01:00
thomasv
60cefeafca method get_private_keys for sequence 2013-03-03 10:43:08 +01:00
thomasv
27b8b21f9e mangle (for_change, index) everywhere 2013-03-03 10:24:30 +01:00
ecdsa
8df60928ea mktx fix: add address for imported keys 2013-03-02 23:49:32 +01:00
ecdsa
b95911e2d7 check if address is imported before index lookup 2013-03-02 23:35:43 +01:00
ecdsa
736e1253f2 add class BIP32Sequence 2013-03-02 23:31:40 +01:00
thomasv
ada36b2554 plugin handler 2013-03-02 16:29:14 +01:00
thomasv
d2aefb387b show the balance of each account 2013-03-02 14:20:21 +01:00
thomasv
08a9de688a fix: save master public key on wallet creation 2013-03-02 13:45:30 +01:00
thomasv
97e03cb738 replace wallet.all_addresses() with wallet.addresses(True) 2013-03-02 11:40:17 +01:00
thomasv
e84d087a64 accounts 2013-03-02 11:23:08 +01:00
thomasv
f72c8ee5d2 move is_valid from wallet class to bitcoin.py 2013-03-01 14:27:56 +01:00
thomasv
5ed63be948 fix: seed, password 2013-02-27 16:15:56 +01:00
thomasv
253e0bc58e move method signrawtransaction to wallet class 2013-02-27 15:49:26 +01:00
thomasv
d5ba4398ee update tx label in gui 2013-02-27 12:51:49 +01:00
thomasv
e4dc3f3752 use history to determine if the wallet has been used 2013-02-27 10:13:03 +01:00
thomasv
96d459ab88 use dumpprivkeys to efficiently dump private keys 2013-02-26 16:03:04 +01:00
thomasv
42a10164ea make most commands available in the console 2013-02-26 13:56:48 +01:00
thomasv
fd8687ce18 fix 2013-02-25 19:04:41 +01:00
thomasv
8f090e1d01 fix 2013-02-25 18:50:12 +01:00
thomasv
1bba3ffbd7 fix: addressbook 2013-02-25 18:17:02 +01:00
thomasv
41a2fa427f fix: send_tx 2013-02-25 18:15:14 +01:00
thomasv
8b8e2fd67b rename inpust_info -> input_info 2013-02-25 09:34:47 +01:00
ThomasV
b8a71ff00c offline wallets sign transactions using KeyID 2013-02-25 09:05:45 +01:00
thomasv
64ad3fc28c use serialized format in signtx 2013-02-24 21:31:11 +01:00
thomasv
5da3cab24b move seed generation function to bitcoin.py 2013-02-24 10:16:14 +01:00
thomasv
bd717897e0 fix: set tx_height when it is not None 2013-02-24 09:39:43 +01:00
thomasv
0c5f42cc29 fix history sorting function 2013-02-23 13:29:03 +01:00
thomasv
2642fa0f7d fix listunspent, add method wallet.get_unspent_coins 2013-02-23 13:18:15 +01:00
thomasv
780c5d01d5 fix get_tx_details 2013-02-23 12:11:32 +01:00
thomasv
9cfb73365b fix: use deserialized tx outputs in choose_tx_inputs 2013-02-23 12:07:46 +01:00
thomasv
03d36d91e2 remove unused method 2013-02-23 11:50:09 +01:00
thomasv
03e2160503 create separate class for deterministic key generation. add pubkeys to validateaddress 2013-02-23 11:35:46 +01:00
thomasv
f0b255acba store transactions in serialized form 2013-02-22 19:22:22 +01:00
thomasv
67283f0b1b fix verify_message calls 2013-02-22 17:50:56 +01:00
thomasv
76439beec5 simplify get_private_key, use base58 2013-02-22 17:27:19 +01:00
thomasv
5d6496f1f9 move crypto from wallet class to bitcoin.py 2013-02-22 16:17:46 +01:00
thomasv
40b397dc0f signrawtransaction: parse redeemScript 2013-02-22 13:40:42 +01:00
thomasv
0863f09a06 add dumpprivkey command; finalize private_keys parameter for signrawtransaction 2013-02-21 16:26:26 +01:00
thomasv
ea7718fc59 create Transaction class 2013-02-21 14:18:12 +01:00
ThomasV
712e0a6c4a fix bug when timestamp is None 2013-02-18 21:12:39 +01:00
ThomasV
7ae46aa413 raise exception if the method is used to overwrite the existing seed 2013-02-03 15:12:40 +01:00
ThomasV
043d6addff init_seed method. save seed and master public key separately 2013-02-03 15:08:26 +01:00
thomasv
50305e1f57 menu option to show private key 2013-02-02 11:46:02 +01:00
ThomasV
c3a0c9dd36 transform the wall into a python console 2013-02-01 18:22:36 +01:00
thomasv
e1504ba80b basic functions and tests for multisig transactions and bip 32 2013-01-30 20:13:31 +01:00
thomasv
2f6d919afc more robust synchronization method 2013-01-29 14:53:13 +01:00
thomasv
c638af7803 fix check_new_hist: transaction might not be in wallet 2013-01-29 13:19:00 +01:00
ThomasV
02f40be0d7 remove donation address 2013-01-24 08:11:48 +01:00
Neil Booth
d6eb9fb153 Place the change output in a random position 2013-01-23 13:23:15 +09:00
ThomasV
3e8099b619 check decoded seed with master public key instead of an address 2013-01-06 16:31:17 +01:00
ThomasV
04322b7cc9 fix bug with undetected incorrect password that can damage wallet 2013-01-06 09:41:06 +01:00
ThomasV
bc9e6f88e6 test password before importing key 2013-01-05 21:58:16 +01:00
ThomasV
279b85e3fe use the same syntax as bitcoind for key import 2013-01-05 21:28:12 +01:00
thomasv
e7e169888d support for compressed keys 2013-01-05 11:50:49 +01:00
ThomasV
d29aeb890f populate contacts with donation address 2013-01-02 18:41:52 +01:00
thomasv
777f423b7a parentheses 2013-01-02 11:39:44 +01:00
thomasv
4978eff7f6 fix for command line history (EagleTM) 2013-01-02 10:35:35 +01:00
ThomasV
df1d7152fd fix address balance (received coins) 2012-12-28 17:57:33 +01:00
ThomasV
0f3b70ad88 fix: do not request the same history twice 2012-12-14 19:32:10 +01:00
thomasv
33031f387c fix: misplaced repr 2012-12-07 14:52:55 +01:00
thomasv
639ef7119d fix bug: to_address -> address 2012-12-06 10:36:05 +01:00
thomasv
16a81271e4 store timestamps in verifier 2012-12-05 19:12:28 +01:00
thomasv
4e070bda57 new command: signtx (offline transaction signing) 2012-12-05 18:18:47 +01:00
thomasv
c763445734 allow multiple-outputs transactions with mktx() 2012-12-05 16:41:39 +01:00
thomasv
108dfb6140 revert to daemon threads because some clients do not seem to close their sockets cleanly 2012-12-05 10:24:30 +01:00
thomasv
d5b47fa93e separate non-modal window for QR codes (point of sale) 2012-11-28 15:38:44 +01:00
thomasv
e87ed44f84 send change to last address of the input list 2012-11-26 15:08:35 +01:00
ThomasV
9afbf21197 no daemon 2012-11-24 20:35:09 +01:00
ThomasV
0ad7f72d3d nodaemon 2012-11-24 20:35:09 +01:00
ThomasV
8308440ded rm assert clause: there is no guarantee about that 2012-11-24 20:32:50 +01:00
ThomasV
2c0f894e76 Merge branch 'master' of git://github.com/spesmilo/electrum 2012-11-23 18:36:02 +01:00
thomasv
2f04531565 fix 2012-11-23 17:11:32 +01:00
thomasv
47a3739865 save height of transaction 2012-11-23 16:11:52 +01:00
thomasv
5ae15d6100 handle case where an unconfirmed transaction is pruned by the server. also, fix bug with fee sign in details 2012-11-23 15:35:54 +01:00
thomasv
c51cf776ae fix prioritization 2012-11-23 10:16:04 +01:00
ThomasV
082d676799 minor 2012-11-22 20:14:42 +01:00
thomasv
d68fcf9884 rm testing code 2012-11-22 13:27:30 +01:00
thomasv
6cb51ea4d0 received coins need to be known before 2012-11-22 13:24:44 +01:00
thomasv
91feae01ac fix sendtx 2012-11-22 13:12:17 +01:00
thomasv
537d02977c fix balance display in flatfly's bug. restore the wallet.update() method 2012-11-22 13:10:01 +01:00
ThomasV
d2c91d9a0f simplify the create/restore procedure 2012-11-20 21:36:06 +01:00
ThomasV
2d13107897 make a regular gui module for android 2012-11-18 11:34:52 +01:00
thomasv
650a9b6074 do not include fee in the transaction amount shown in history. adapt history to the case where it was recovered from a pruning server 2012-11-16 14:39:31 +01:00
thomasv
8ec2b16e21 use None as timestamp for pending transactions 2012-11-16 10:18:35 +01:00
thomasv
0e851a5f62 fix for notifications 2012-11-15 12:14:29 +01:00
thomasv
8fc042ee22 more fixes for the 0.6 servers 2012-11-15 10:34:56 +01:00
ThomasV
cc2ef02c2b gui fixes 2012-11-15 09:14:24 +01:00
ThomasV
8ec6a60daf compatibility with 0.6 protocol 2012-11-14 15:33:44 +01:00
ThomasV
10b02b37c9 raise exception on status mismatch too 2012-11-07 21:59:06 +01:00
ThomasV
da93473ee1 raise exception on history with repeated tx 2012-11-07 20:48:42 +01:00
ThomasV
da5a69d881 raise exception in case of server error 2012-11-07 20:46:18 +01:00
ThomasV
62be41161b check that histories and transactions are consistent 2012-11-07 20:25:23 +01:00
ThomasV
a48a971ae6 check consistency of results received by get_history 2012-11-07 09:37:14 +01:00
ThomasV
e39a5c9609 init headers file 2012-11-07 08:45:53 +01:00
ThomasV
34a6cc5dee do not pass unconfirmed transactions to the verifier 2012-11-05 20:40:57 +01:00
thomasv
765201be4e wallet.get_label method 2012-11-05 11:08:16 +01:00
thomasv
73dc533e79 set timestamps on startup 2012-11-05 10:26:28 +01:00
ThomasV
39a85767a3 solve deadlock during restore 2012-11-04 20:53:27 +01:00
ThomasV
6fc0ae633d bugfix: wanted-> missing 2012-11-04 19:27:21 +01:00
ThomasV
4e4d4d33c3 fix race condition with prevout_values 2012-11-04 17:17:40 +01:00
ThomasV
e0c03d6207 request missing transactions on startup 2012-11-04 16:59:50 +01:00
ThomasV
f1d4838012 rename history -> addr_history 2012-11-04 15:47:19 +01:00
ThomasV
efccde2e8e fix: timestamps in transactions 2012-11-04 15:38:34 +01:00
thomasv
4cbee7554f new protocol: the server sends serialized tx, deserialize it in the client 2012-11-04 10:56:39 +01:00
thomasv
cdb52c30d2 do not request merkle root for unconfirmed transactions 2012-10-29 09:31:42 +01:00
ThomasV
6de8a946eb use callback instead of wallet.was_updated 2012-10-27 19:20:50 +02:00
ThomasV
cfb3aa6a12 move 'peers.subscribe' and 'server.version' calls into the interface 2012-10-27 14:15:03 +02:00
ThomasV
208e789af4 fix: synchronizer 2012-10-27 00:02:52 +02:00
ThomasV
1ecce5dffc bugfix: default to [], so that we do not create new addresses if the history was deleted 2012-10-26 18:00:32 +02:00
thomasv
1f37a330b3 bugfix: add channel when calling send 2012-10-26 16:06:54 +02:00
thomasv
b78fd6b3b6 bugfix: address->addr 2012-10-26 15:48:57 +02:00
thomasv
ee4de40c37 use WalletVerifier.add() method to register transactions 2012-10-26 10:02:09 +02:00
ThomasV
2a06a5b493 tie confirmation icons to payment verifier 2012-10-26 00:40:19 +02:00
ThomasV
b018e0ae53 simple payment verification: check targets, use block headers file. 2012-10-24 21:45:45 +02:00
thomasv
c735fcd228 more robust connection procedure: let the user start with proxy 2012-10-22 17:18:07 +02:00
thomasv
af0d8d664b save list of verified tx only when needed 2012-10-22 15:44:54 +02:00
thomasv
10d6db468a save to disk the list of verified transactions 2012-10-22 15:40:39 +02:00
thomasv
3cc382b7a0 send another banner request on reconnect 2012-10-22 15:01:13 +02:00
thomasv
8e95706763 init_up_to_date when connected 2012-10-22 14:49:29 +02:00
thomasv
0b76e16d04 allow multiple callbacks for a given name 2012-10-22 13:43:58 +02:00
thomasv
4fbd2ea66e use named callbacks with the interface 2012-10-22 11:34:21 +02:00
ThomasV
33eb749c6a interface for command line mode 2012-10-21 23:22:46 +02:00
ThomasV
2da0c0b77e big refactoring of the interface
addition of the wallet verifier class for SPV
2012-10-21 22:55:16 +02:00
thomasv
5717b43661 separate bitcoin related functions from wallet.py 2012-10-19 14:55:01 +02:00
thomasv
da4b974dfd simplification: hex encode master_public_key directly 2012-10-16 09:24:38 +02:00
ThomasV
486ebf93e2 move is_up_to_date method 2012-10-15 07:43:00 +02:00
ThomasV
69e68e9203 show waiting dialog during transaction broadcast 2012-10-14 08:25:09 +02:00
thomasv
65b13b88f4 disable setting widgets when setting is not modifiable. 2012-10-12 17:40:37 +02:00
ThomasV
d92f1991a9 move prompt_password from wallet.py to main script 2012-10-12 01:50:54 +02:00
thomasv
5444f55e6b big refactoring: command line options and electrum.conf options override settings in wallet file. 2012-10-11 20:10:12 +02:00
thomasv
596bddbf7e replace expert mode with a button for gui_detailed_view 2012-10-11 12:56:57 +02:00
thomasv
880b08f337 remove remote wallet (broken, will be replaced) 2012-10-05 15:49:03 +02:00
thomasv
e7e9e8916b fix set_server. keep compatibility with the gtk interface 2012-10-02 12:52:47 +02:00
thomasv
287c7fc643 split create_new_address, so that get_new_address can be used without the context of a wallet 2012-10-01 18:31:54 +02:00
thomasv
8fd1dbadf6 use https for aliases 2012-10-01 15:10:51 +02:00
bkkcoins
09c90c0971 Revert "Revert "Added proxy options to network dialog""
This reverts commit 6e0b3620d2.
2012-09-20 16:55:28 +07:00
bkkcoins
6e0b3620d2 Revert "Added proxy options to network dialog"
This reverts commit 83bb644135.
2012-09-20 16:55:15 +07:00
bkkcoins
83bb644135 Added proxy options to network dialog 2012-09-19 22:29:58 +07:00
Maran
6da25727f8 Refactored user_dir to utils and replaced it in wallet and config 2012-08-30 18:00:08 +02:00
Amir Taaki
ca4473c620 If wallet does not exist, then it does not even attempt to read the config (read returns on IOError exception). Ergo a new wallet will not ever set the theme name and it will stay as None. We change this to a sensible default so new wallets have a themed GUI. 2012-08-29 21:27:22 +01:00
Amir Taaki
6dfb9e12c7 Fixed bug where switching servers causes assert failure. 2012-08-27 04:02:15 +02:00