Pieter Wuille
11529c6e4f
Compressed pubkeys
...
This patch enabled compressed pubkeys when -compressedpubkeys is passed.
These are 33 bytes instead of 65, and require only marginally more CPU
power when verifying. Compressed pubkeys have a different corresponding
address, so it is determined at generation. When -compressedpubkeys is
given, all newly generated addresses will use a compressed key, while
older/other addresses keep using normal keys. Unpatched clients will
relay and verify these transactions.
2012-01-09 15:18:19 +01:00
Pieter Wuille
67a42f929b
Network stack refactor
...
This introduces CNetAddr and CService, respectively wrapping an
(IPv6) IP address and an IP+port combination. This functionality used
to be part of CAddress, which also contains network flags and
connection attempt information. These extra fields are however not
always necessary.
These classes, along with logic for creating connections and doing
name lookups, are moved to netbase.{h,cpp}, which does not depend on
headers.h.
Furthermore, CNetAddr is mostly IPv6-ready, though IPv6
functionality is not yet enabled for the application itself.
2012-01-06 18:55:37 +01:00
Wladimir J. van der Laan
7453497ee4
make transaction description read-only (UI fix)
2012-01-06 06:57:14 +01:00
Matt Corallo
7d145a0f59
Add support for opening bitcoin: URIs directly.
2012-01-05 00:29:28 -05:00
Matt Corallo
9a93c4c024
Automatically refocus on new SendCoinsEntrys and scroll to them.
2012-01-05 00:29:28 -05:00
Matt Corallo
f7a9a11391
Fix horrific performance found by gmaxwell.
2012-01-04 19:46:16 -05:00
Gavin Andresen
d237f62c23
-blocknotify=command argument, implemented using system() and boost::thread
2012-01-03 15:48:59 -05:00
Gavin Andresen
96d3bcb996
Merge pull request #731 from laanwj/txshowfix
...
Fix transaction type in UI
2012-01-03 09:24:54 -08:00
Gavin Andresen
af8c56f8be
Merge branch 'getblock'
2012-01-03 12:16:56 -05:00
Gavin Andresen
8677f9c751
I broke -testnet with my TOR option-parsing fixes.
2012-01-03 11:17:24 -05:00
Gavin Andresen
112b0e97d4
Merge pull request #741 from laanwj/typo734fix
...
Fix typo (#734 )
2012-01-03 07:54:38 -08:00
Gavin Andresen
73e86eedd5
Merge branch 'bugfix_multisig' of https://github.com/coderrr/bitcoin
2012-01-03 10:23:20 -05:00
Gavin Andresen
daad9a9a71
Merge branch 'gitianfix' of https://github.com/TheBlueMatt/bitcoin
2012-01-03 10:22:24 -05:00
Gavin Andresen
0fcf91ea1e
Fix issue #659 , and cleanup wallet/command-line argument handling a bit
2012-01-03 10:17:28 -05:00
Wladimir J. van der Laan
ecaa91d1df
Fix typo ( #734 )
2012-01-03 11:57:24 +01:00
Pieter Wuille
a75d7066b8
Fix some address-handling deadlocks
...
Made three critical blocks for cs_mapAddresses smaller, and moved
writing to the database out of them. This should also improve the
concurrency of the code.
2012-01-03 02:01:56 +01:00
coderrr
6ec76ca09e
make sure IsMine only returns true when we own all keys
2012-01-03 06:24:52 +07:00
Wladimir J. van der Laan
56c6e3696d
Fix transaction type in UI: not all tx'es with "from"/"to" field are necessarily IP tx'es
...
- Also, prepare for OP_EVAL by calling all transactions without bitcoin address "SendToOther"/"RecvFromOther",
(IP tx'es are so rare they can be put together with funky EV_EVAL scripts)
2011-12-28 11:14:05 +01:00
Gavin Andresen
625b56de64
Merge branch 'opevalcountfix' of https://github.com/laanwj/bitcoin
2011-12-27 16:42:29 -05:00
Gavin Andresen
6d6d392b22
Fixed OP_EVAL recursion unit test, checks for both infinite and exactly-3-deep recursion
2011-12-27 16:41:56 -05:00
Wladimir J. van der Laan
89772f932a
Fix OP_EVAL recursion depth counting
2011-12-27 10:02:28 +01:00
Gavin Andresen
61977f956c
Check all prevout.n if one transaction provides multiple inputs
2011-12-25 10:32:05 -05:00
Gavin Andresen
60835d9627
assert condition in previous commit was backwards
2011-12-25 10:08:01 -05:00
Gavin Andresen
6996a9d713
Check for valid prevout.n in FetchInputs.
...
IsStandardInputs could crash if given invalid input index.
2011-12-25 08:45:09 -05:00
Matt Corallo
56690a69d6
No reason to have any qrcode stuff in the bitcoind osx makefile.
2011-12-23 15:28:35 -08:00
Gavin Andresen
fe358165e3
Be more conservative: check all transactions in blocks after last checkpoint.
2011-12-23 17:13:10 -05:00
Gavin Andresen
8a53cb0b9d
New RPC commands: getblockhash and getblock
2011-12-23 16:26:38 -05:00
Wladimir J. van der Laan
c58e7d4e01
Copy amount to clipboard (implements #657 )
...
- Also, unify similar code related to copying transaction fields to clipboard
2011-12-23 12:07:23 +01:00
Wladimir J. van der Laan
c4a4a4b886
Add context menu for address book page (implements part 1 of issue #648 )
2011-12-23 12:07:23 +01:00
Wladimir J. van der Laan
e073457191
Move HtmlEscape (escape for qt rich text controls) to qt gui utilities
2011-12-23 12:07:23 +01:00
Wladimir J. van der Laan
c75abc9f7e
Comments update
2011-12-23 12:07:23 +01:00
Wladimir J. van der Laan
96b1e085c3
Merge pull request #629 from sje397/master
...
QR Code generation via libqrencode
2011-12-23 02:50:28 -08:00
Gavin Andresen
2e17ac83c6
Fix broken ExtractAddress (refactored, made callers check for addresses in keystore if they care)
2011-12-22 15:57:31 -05:00
Gavin Andresen
ce336fdc21
Back out testnet default address change, it breaks accounts on old wallets.
2011-12-22 15:56:45 -05:00
Wladimir J. van der Laan
bde280b9a4
Revert "Use standard C99 (and Qt) types for 64-bit integers"
...
This reverts commit 21d9f36781
.
2011-12-21 22:33:19 +01:00
Luke Dashjr
21d9f36781
Use standard C99 (and Qt) types for 64-bit integers
2011-12-20 16:52:59 -05:00
Gavin Andresen
781c06c0f5
Merge pull request #677 from luke-jr/minfee_modes
...
API: GetMinFee modes
2011-12-20 13:09:18 -08:00
Gavin Andresen
595925592d
Merge branch 'op_eval'
2011-12-20 14:43:31 -05:00
Gavin Andresen
f06e3e0ea6
Merge pull request #717 from TheBlueMatt/installerqtupgrade
...
Implement "Start on window system startup" on Win32 + Linux.
2011-12-20 11:42:53 -08:00
Matt Corallo
f18a119ac0
Implement "Start on window system startup" on Win32 + Linux.
2011-12-20 13:51:06 -05:00
Gavin Andresen
77f21f1583
include util.h to get SecureString definition.
2011-12-20 12:21:47 -05:00
Gavin Andresen
0e87f34bed
Include limits, not climints (using std::numeric_limits now)
2011-12-20 12:04:33 -05:00
Gavin Andresen
387c8e3c5b
Merge pull request #673 from mndrix/less-time-data
...
Store fewer time samples
2011-12-20 08:55:55 -08:00
sje397
22123c85f3
Added QRCode generation functions via libqrencode. Switch on with USE_QRENCODE=1.
...
Amended build docs for Linux and OSX, and OSX makefile.
Added package 'qrencode' to gitian.yml
2011-12-20 22:11:24 +11:00
Gavin Andresen
9ef7fa3447
Code cleanup: use ECDSA_size() instead of fixed 10,000 byte sig buffer, and explicity init static var
2011-12-19 19:10:34 -05:00
Gavin Andresen
26ce92b352
Use std::numeric_limits<> for typesafe INT_MAX/etc
2011-12-19 19:10:34 -05:00
Gavin Andresen
bd846c0e56
Cleanup: removed dead code, and use C99 typedefs for int64 (supported by all modern c++ compilers)
2011-12-19 19:10:34 -05:00
Gavin Andresen
3528650560
Merge pull request #690 from runeksvendsen/qt-cmdline-options-parsing
...
When using Qt GUI, move parameter-parsing to start of qt/bitcoin.cpp:main()
2011-12-19 12:23:00 -08:00
Gavin Andresen
bafb43d6c1
Merge branch 'txn_block_info' of https://github.com/luke-jr/bitcoin
2011-12-19 15:14:22 -05:00
Gavin Andresen
9e470585b3
Update bitcoin address numbers for latest luke-jr/sipa scheme
2011-12-19 13:24:51 -05:00
Gavin Andresen
be237c119e
Fix logic for IsChange() for send-to-self transactions.
2011-12-19 13:24:49 -05:00
Gavin Andresen
2a45a494b0
Use block times for 'hard' OP_EVAL switchover, and refactored EvalScript
...
so it takes a flag for how to interpret OP_EVAL.
Also increased IsStandard size of scriptSigs to 500 bytes, so
a 3-of-3 multisig transaction IsStandard.
2011-12-19 13:24:48 -05:00
Gavin Andresen
a0871afb2b
Interpret OP_EVAL as OP_NOP until Feb 1, 2012
2011-12-19 13:24:48 -05:00
Gavin Andresen
fae3e2aab6
Disable addmultisigaddress if not testnet
2011-12-19 13:24:48 -05:00
Gavin Andresen
d7062ef1bd
Put OP_EVAL string in coinbase of generated blocks
2011-12-19 13:24:48 -05:00
Pieter Wuille
3ae65166b5
add key.o and rpcdump.o to makefile.linux-mingw
2011-12-19 19:20:53 +01:00
Gavin Andresen
e679ec969c
OP_EVAL implementation
...
OP_EVAL is a new opcode that evaluates an item on the stack as a script.
It enables a new type of bitcoin address that needs an arbitrarily
complex script to redeem.
2011-12-19 12:40:19 -05:00
Gavin Andresen
cc40ba2151
Global fixture to send output to console instead of debug.log
2011-12-19 12:40:19 -05:00
Gavin Andresen
bf798734db
Support 3 new multisignature IsStandard transactions
...
Initial support for (a and b), (a or b), and 2-of-3 escrow
transactions (where a, b, and c are keys).
2011-12-19 12:40:19 -05:00
Gavin Andresen
1466b8b78a
Rework unit tests so test_bitcoin.cpp does not #include them all
2011-12-19 12:39:47 -05:00
Gavin Andresen
7e55c1ab65
Collapse no-op ExtractAddress/ExtractAddressInner
2011-12-19 12:39:47 -05:00
Gavin Andresen
99a289f531
Merge pull request #574 from sipa/dumpprivkey
...
Dumpprivkey
2011-12-19 07:27:25 -08:00
Gavin Andresen
fc90967876
Merge pull request #699 from laanwj/about_qt
...
Add "About Qt" menu option to show built-in Qt About dialog
2011-12-19 07:26:14 -08:00
Gavin Andresen
1f3bc1c239
Merge pull request #707 from gavinandresen/BIP14
...
Implement BIP 14 : separate protocol version from client version
2011-12-19 07:25:16 -08:00
Gavin Andresen
f8ded588a2
Implement BIP 14 : separate protocol version from client version
2011-12-19 10:24:23 -05:00
Gavin Andresen
cd2b8832fd
Merge pull request #709 from luke-jr/newdnsseeds
...
New DNS seeds
2011-12-19 07:12:30 -08:00
Pieter Wuille
95d888a6d1
Key import and export
...
Introduces two new RPC calls:
* dumpprivkey: retrieve the private key corresponding to an address
* importprivkey: add a private key to your wallet
The private key format is analoguous to the address format. It is
a 51-character base58-encoded string, that includes a version number
and a checksum.
Includes patch by mhanne:
* add optional account parameter for importprivkey, if omitted use default
2011-12-17 21:49:48 +01:00
Pieter Wuille
30ab2c9c46
Preparations for key import/export
2011-12-17 21:49:48 +01:00
Pieter Wuille
15a8590ecf
CBitcoinSecret added (base58 encoded privkey)
2011-12-17 21:49:48 +01:00
Pieter Wuille
93db3fceac
Add GetSecret() and GetKeys() to CKeyStore
2011-12-17 21:49:47 +01:00
Pieter Wuille
4c6e22953e
Make CWalletTx::pwallet private
2011-12-17 21:49:47 +01:00
Luke Dashjr
cce16fdc68
Add blockhash and blockindex to transaction info
2011-12-16 19:05:41 -05:00
Luke Dashjr
647734881c
Add my DNS seed domain
2011-12-16 18:34:47 -05:00
Gavin Andresen
6e39e7c9b3
Move more newlines out of strings, and fix translations.
2011-12-16 17:13:45 -05:00
Gavin Andresen
ab6c45372c
Merge branch 'fix-help-translations' of https://github.com/tcatm/bitcoin
2011-12-16 16:37:24 -05:00
Gavin Andresen
8896c2d9d6
Bump version 0.5.99 (prep for pulling for version 0.6)
2011-12-16 12:31:59 -05:00
Matt Corallo
61a8c0569e
Add sipa's new dnsseed.
2011-12-16 11:30:36 -05:00
Luke Dashjr
dbbf1d4a48
GetMinFee takes a mode parameter (GMF_{BLOCK,RELAY,SEND}) instead of fForRelay
2011-12-14 01:07:43 -05:00
Luke Dashjr
a880b29cab
Bugfix: fForRelay should be false when deciding required fee to include in blocks
...
During the rushed transition from 0.01 BTC to 0.0005 BTC fees, we took the
approach of dropping the relay and block-inclusion fee to 0.0005 BTC
immediately, and only delayed adjusting the sending fee for the next release.
Afterward, the relay fee was lowered to 0.0001 BTC to avoid having the same
problem in the future. However, the block inclusion code was left setting
fForRelay to true! This fixes that, so the lower 0.0001 BTC allowance is (as
intended) only permitted for real relaying.
2011-12-14 01:06:21 -05:00
Matt Corallo
7ca47cece7
Fix status bar not displaying Alerts.
2011-12-13 15:29:17 -05:00
Wladimir J. van der Laan
01ea41b203
Add "About Qt" menu option to show built-in Qt About dialog
...
- Most Qt programs do this, and it can be useful to find out what version of Qt was built against.
2011-12-13 17:35:17 +01:00
Wladimir J. van der Laan
857aa73783
Enable wordwrap for long message in passphrase dialog
...
- Remove explicit resizing from constructor to prevent potential hang
2011-12-13 16:32:25 +01:00
Nils Schneider
43421af2e4
move \\n outside _() in --help
2011-12-13 06:46:37 +01:00
Gavin Andresen
5491c310a6
Merge commit '7298ebb'
2011-12-12 15:03:16 -05:00
Nils Schneider
1d8b4cd544
added translations: pt_BR zh_CN
2011-12-12 20:56:34 +01:00
Nils Schneider
7ad4ca9c17
updated translations: es es_CL nb ru
2011-12-12 20:53:18 +01:00
Gavin Andresen
ca287d66f2
Merge pull request #694 from luke-jr/restore_old_miniupnp_compat
...
Restore compatibility with miniupnpc 1.5 (without breaking miniupnp 1.6)
2011-12-12 11:32:48 -08:00
Luke Dashjr
94b97046fd
Restore compatibility with miniupnpc 1.5 (without breaking miniupnp 1.6)
2011-12-10 11:52:50 -05:00
Wladimir J. van der Laan
45198af2be
Prevent window from being shown momentarily when using -min
...
- In a previous patch, show() was added to all the page switcher functions. As the contructor calls showOverviewPage(), this means the window is shown in the constructor.
- This change prevents this by connecting show() to the signal instead.
2011-12-09 22:41:19 +01:00
Rune K Svendsen
4dba26620c
When using Qt GUI, move parameter-parsing to start of qt/bitcoin.cpp:main()
2011-12-09 19:19:27 +01:00
Gavin Andresen
8848a70ba1
Merge pull request #679 from laanwj/cmdline_minimize
...
Implement -min option to start minimized
2011-12-05 07:53:15 -08:00
Wladimir J. van der Laan
7915370cb9
Implement -min option to start minimized
2011-12-04 10:03:57 +01:00
Gavin Andresen
43ae68b5ef
Merge pull request #654 from TheBlueMatt/dnsseed-thread
...
Move DNS Seed lookup to a new thread.
2011-12-02 07:09:41 -08:00
Michael Hendricks
1c4aab926e
Retain only the most recent time samples
...
Remembering all time samples makes nTimeOffset slow to respond to
system clock corrections. For instance, I start my node with a system
clock that's 30 minutes slow and run it for a few days. During that
time, I accumulate 10,000 offset samples with a median of 1800
seconds. Now I correct my system clock. Without this change, my node
must collect another 10,000 samples before nTimeOffset is correct
again. With this change, I must only accumulate 100 samples to
correct the offset.
Storing unlimited time samples also allows an attacker with many IP
addresses (ex, a large botnet) to perform a memory exhaustion attack
against Bitcoin nodes. The attacker sends a version message from each
IP to his target, consuming more of the target's memory each time.
Time samples are small, so this attack might be impractical under the
old code, but it's impossible with the new code.
2011-12-01 17:28:14 -07:00
Michael Hendricks
5e1ddc4210
Only log time samples in debug mode
...
The full list of time samples is rarely useful outside of debugging.
The node's time offset, however is useful for discovering local clock
drift, so it's displayed in all logging modes.
2011-12-01 17:28:14 -07:00
Gavin Andresen
173efb1865
Merge pull request #670 from gavinandresen/rpcauth_speedup
...
Speed up RPC authentication (reworked pull from Joel Katz)
2011-12-01 13:01:59 -08:00
Gavin Andresen
f81ce5bd6d
Speed up RPC authentication (reworked pull from Joel Katz)
2011-12-01 15:55:25 -05:00
Gavin Andresen
10fd7f6689
Orphan block fill-up-memory attack prevention
2011-12-01 13:53:38 -05:00
Gavin Andresen
eb5fff9e16
Moved checkpoints out of main, to prep for using them to help prevent DoS attacks
2011-12-01 12:18:50 -05:00
Gavin Andresen
a7120a3647
Merge pull request #666 from nobled/secstrings
...
Implement an mlock()'d string class for storing passphrases
2011-11-30 17:30:54 -08:00