forked from libbitcoin/libbitcoin-system
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
1414 lines (1412 loc) · 79.7 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Updated on Thu May 22 09:35:11 CEST 2014
If working with git repository, use command 'git log --oneline --decorate' for latest change log
1554046 (HEAD, 2014_05_changelog) add a script for ChangeLog regeneration
7810d7f (origin/develop, master) generate changelog using 'git log --oneline --decorate'
4ae40d1 added NEWS file.
5efb64e Track previous stable release, not next version.
cf72d8d next release is 3.0
6d77dea Merge pull request #21 from evoskuil/develop
88e8028 Make implicit cast explicit.
0c586fe Add missing source files to VS projects.
4e9198d Remove dead comments.
68a70b7 update version numbers to be consistent.
712dfee remove duplicate file.
6a3c395 Merge pull request #17 from evoskuil/develop
eef9344 Make implicit casts explicit, document a lossy implicit cast.
0bb0d8b bug from veox: fix for windows hosts files to not crash.
02c7892 bugfix: hash_number copying hash in reverse + add a unit test
f7ac085 use boost::dynamic_bitset<uint8_t> to represent stealth prefixes now.
05423dc Merge pull request #14 from genjix/uint256
86068ed add hash_number which uses bitcoind's uint256
c89452b Merge pull request #12 from evoskuil/develop
9367909 Updated nuget references.
9b7e8b6 msvc build config workaround for lack of ltcg gmp
33e0a26 remove unintended nuget reference
dc9a6a3 Add Windows DLL version resource.
1ed17a0 Fix Windows break in sha1.c (<endian.h> not defined).
176a667 Conditionally disable non-portable code.
e78152f Optimize VS project and props using updated common props.
2c5ea29 Update VS readme.md
1a5fb9b Ignore *.log
1902aa6 Remove outdated VS readme.
50ed10e Update VS common props to make project files less verbose.
637787a Add VS build script.
287b81e updated debian package
1be7269 ability to resize memory mapped files.
40256f2 added README for unit tests
b4aaa88 Merge pull request #10 from evoskuil/develop
cf6cddd Integrate BOOST_TEST_DYN_LINK into MSVC builds and remove comment.
5863f3b Temp fix up for lack of dynamic build of secp256k1 library.
3f83f82 Add/fix ec_keys, script and scriptnum tests in msvc build.
a2b1aa1 Incorrect secp256k1 linkage for one msvc build.
7b3632c msvc min/max constexpr no use "LEAST", comment on msvc sign warning
3a8dc6d Add script_number to VS builds.
db14534 re-enable SHA1 script tests now that it's fixed.
63fb9b0 switch to oauth sha1 code.
cd84abe suppress log_fatal() messages
fdb6866 added unit test code generator READMEs
ee2dd92 script fixes.
f85f227 added script unit test.
4741ee5 add hash test case + python code generator.
ca3fdb1 sha1 unit test.
1025099 avoid extraneous = data_chunk(...)
e11fe9c bugfix: stack being popped twice in op_hash256
546003c Merge pull request #9 from evoskuil/develop
98a1191 Merge branch 'develop' of github.com:libbitcoin/libbitcoin into develop
73fb5c8 remove cruft
f96ebd0 migrate script code to use script_number (dropping openssl-dependent big_number)
cc48107 Update NuGet dependencies for updated EC.
ca8f290 Add ec_keys.hpp/cpp to VS project.
2d74811 Avoid casting int to bool in c++.
0884255 split off script_number into its own header.
0f816f6 scriptnum unit test
86f824f Change to compiler (vs. Windows) test for export defines.
f9ac4a9 Fix msvc compile error on base58 unit test.
9c2c736 Make implicit casts explicit, eliminate msvc warnings.
91c8d56 Implement deprecated attribute for msvc12.
314a178 Merge branch 'debian_packaging' into develop
91a4870 Merge branch 'stealth_idx_every_block' into develop
bd81543 add comment to testcase bout libsecp256k1
bc34a8d add BC_DEPRECATED macro to mark objects as deprecated for removal.
c1ea202 tidied up base58 encoding.
942783a copied non-ssl base58 functions from satoshi src + added unit tests.
b516ec5 added doxygen comments to format.hpp functions
7de56a8 (origin/master) remove decode_hex_digest<HashType> from public API. use decode_hash or decode_short_hash specialisations instead.
719563b remove cast_chunk and uncast_type
fad8bdb clean up format.hpp, move functions to format.ipp
0c40f04 decode_hash() / decode_short_hash() aliases for decode_hex_digest<foobar>()
3514bce s/tweak_add/ec_tweak_add/ and s/ec_mul/ec_multiply/
76645e1 Merge branch 'develop' of github.com:libbitcoin/libbitcoin into stealth_idx_every_block
b13e476 Clarify the EC math operations
7c0c08b Revert "add *temporary* ec addition function (using OpenSSL)."
76b5ea4 Merge pull request #7 from evoskuil/develop
02fecbf don't skip blocks, index every block.
45b06a9 add another unit test for ec
8e9f078 Update VS projects and packaging.
01d7060 Fix array initializer.
4f83cd1 Remove comment-only bigint files.
5cee9bb add *temporary* ec addition function (using OpenSSL).
3324ae0 allow to select custom path for libsecp256k1 during configure.
39453db Update the documentation for the new ec_keys types
382fa8c Integrate the secp256k1 library
d317f26 move calculate_stealth_bitfield() into public API.
b43f411 dont reverse bytes in script::op_hash160
658c07e avoid calling pretty() twice.
a045d6e add warning for orphans too
883d1e0 style correction: spaces in "template <typename whatever...>"
bf96a70 bugfix: script pushdatas using to_big_endian() instead of to_little_endian().
1ed3f91 add failing serialization test
2193013 expose methods used by templated serialization code.
b14d889 extend broadcast to also send to manually added connections
5060717 Include the checksum system in bitcoin.hpp
feff2a7 Sort bitcoin.hpp
608b6f7 Create a checksum utility subsystem
7aee55e Ignore the unit-test binary
54267a2 Move base58 unit test into the new framework
1df0739 Sort the makefiles
e376f4a Do not use uncast_type or cast_chunk anywhere
e4c4d80 Clean up endian handling
778099d template arguments use caps case as per STL/boost style.
9f25743 Revert buggy, untested elliptic_curve_key changes
7b11890 Silence the sha512 unit test
43c57f8 Create a byte_array type
426119e Fix trailing whitespace in the license header
ec09b48 Fix hmac_sha512 to return correct results
bfa330a Fix refactoring crash bugs
71aae13 Add unit tests for sha512
009c2ba Merge pull request #4 from evoskuil/develop
1fbc6cb deconflict remaining test names
b484d4f Move BOOST_TEST_DYN_LINK preprocessor define to build script.
2f87992 Merge pull request #3 from evoskuil/develop
92ebfd2 Add boost test to nuget dependencies, remove source-wired dynamic link symbol.
73930c9 Deconflict templated test names from public symbols and update test references.
e0b8741 Add current boost-based tests to VS test project.
654d4fe Merge pull request #2 from evoskuil/develop
63fd0fb fix struct export attributes
64df926 remove missing header ref
3e33027 update hash endianess test to include word endian.
11a8fb5 Update header references for size_t.
8298694 Add sha512 w/hmac, rem C hash refs from script, rationalize ec wrapper, disable curl.
14243e8 Hash function cosmetics.
afcb074 bugfix: ripemd was being passed wrong size. now generates correct hashes.
7211694 move ripemd test into its own thing
f71d45c remove comment (I've verified sha256 stuff works)
7292e5c added ripemd hash unit test
f672138 rename hash functions to terser forms.
405119e add alg detail to comments for hash.hpp
f15b72b add some comments.
73ef873 add proposed functions.
291d304 add sha256 hash test case
60d9690 bugfix: makefile not install external/ headers into subdir
b1dcb5f Merge pull request #1 from evoskuil/develop
ef4b671 missed conditionally-compiled macro call
c0c49bf fix lousy macro declarations
af703a7 update includes and fix one parameter
321766b Remove for loop initializers from C code.
197bf21 use boost for endian tests in hash fns
a81f3f0 sha1, sha256, ripemd160 without openssl
bc2aabd add new testnet dns seeds.
59270dd make autogen.sh +x
1e6d5fe integrate ripemd without openssl
3f3dc3c ripemd160 files with slight derived from openbsd hash/rmd160.c
03efdcd Merge pull request #47 from evoskuil/develop
0c60efd Add defines to common libbitcoin header.
9e282e1 remove function definitions from .ipp files - they don't belong there.
0410041 Merge pull request #46 from evoskuil/develop
e9b56f0 Additional exports.
9f68f55 Merge branch 'master' into develop
4c69e3f add export visibility symbols and set everything to internal visibility by default.
4c8f51d Merge pull request #45 from lclc/lclc2
82f2b7d Merge pull request #41 from bardiharborow/master
4c9a1f0 added HACKING file.
9b14ae2 added HACKING file.
9d09441 ability to set compressed of ec key manually/
682d34e Merge pull request #44 from evoskuil/master
2635089 Update README.md
392e5c4 Create README.md
37b2555 Centralize .gitignore for VS projects.
9edeab3 Change filters file tools version.
1614896 Remove VS .props files tool versioning.
2e8fb11 Updated initchain example to latest (stealth) version
9610491 Add examples project to VS solution.
cadde12 Update README.md
5a98d27 Create README.md
44a8d6e Update VS build configuration.
2264608 Merge pull request #43 from evoskuil/master
d93eeeb Add define.hpp to VS project, modify public symbol names.
d3e5870 Merge branch 'spesmilo/master'
116f4ff don't change state until after ec is checked.
e31ea45 added protocol outbound connection state-change debug log output.
1ef85bf use stronger internal linkage attribute
c464442 rename BC_HIDDEN to BC_INTERNAL
4d816f3 prefer BC_API/BC_HIDDEN over potentially confusing BC_PUBLIC/BC_PRIVATE
e35a216 typo.
561765c added define.hpp with shared lib / DLL visibility macros.
8e843a3 Merge branch 'spesmilo/master'
48fd8ff tidy up code so loop looks less confusing.
70b146b switch to static_cast instead of c style cast.
a167047 switch to new big_number set_compact()/compact() code from bitcoind for compatibility.
f538c13 remove constexpr from base_value(opcode) in script.cpp
5ad1775 cleanup handshake code slightly.
1f8cdf5 bugfix: alloc error because of overflow.
8de24f9 Update Visual Studio standard project props.
ce59696 added detail of returned result to documentation comment for blockchain::fetch_stealth().
007ad0e added documentation comments to serializer header.
c40a86b tidy serializer by moving implementation to .ipp file.
24e8268 README: added Gentoo instructions
7184aba anticipate a future where a large stealth_bitfield is needed and don't make the 4 bytes hardcoded in the db.
36954bc updated authors file.
f79f77a add assert to check whether system is 64bit.
189fc96 Add bitnodes.io dns seed.
4a843ce Merge pull request #40 from evoskuil/master
800380f Workaround generic lambda (C++14) limitation and remove guard.
66c5b77 [doc] Include missing pages in toctree
993b7bd Update 64bit warning fix.
d772f6d Remove tabs.
059bf2e Move conditional build guards to VS UI.
b1f549a Revert unnecessary change.
b2c6933 Clean builds for VS2013.
8c45abe Deconflict overrides (not sure why gcc can't handle).
a1ac835 Change _WIN32 to _MSC_VER where compiler (vs. target) is issue.
59a29ae Remove unused variable.
d691b98 Fix unsigned/signed comparison.
d0c54a6 Missing reference for linux builds.
638bbaa Windows build work in progress.
15669f0 Cosmetic
d23954b Revert cosmetic changes.
e2514da Merge branch 'spesmilo/master', integrate build work in progress.
d73e6f0 lower connection watermark from 2000 every 5 seconds to 10 per second.
0e0ec6d Merge branch 'spes'
825b6e8 verifying of history for address against blockchain.info
0b8dd13 switch protocol to async_strand so std::bind(...) cruft isn't needed everywhere.
91d1c5c beautified code, by removing posix_time:: prefixes.
ae5f9b3 watermark to prevent too many reconnection attempts when there's no internet from exhausting resources. the watermark places a fixed upper limit on the number of connection attempts within a fixed interval (2000 ever 5 secs).
f5a1dad all magic constants must have a name.
9e0da36 assert in network connect timeout section.
2c5421a autogen.sh runs "autoreconf -i"
f7ba2dd set version in payment_address to payment_address::invalid_version during construction.
0e9f940 pass parameter as a reference instead of a copy
cd861d0 Re-add a function used by the libwallet URI parser
a3288cf Use the right constant for madvise
4c6d4ab Do not use 64-bit file IO calls in mmfile
4a1aeda verifying of history for address against blockchain.info
c893601 Update filters and proj files, remove _WINDOWS symbol.
f92dab8 switch protocol to async_strand so std::bind(...) cruft isn't needed everywhere.
19f78c9 beautified code, by removing posix_time:: prefixes.
9104dfa watermark to prevent too many reconnection attempts when there's no internet from exhausting resources. the watermark places a fixed upper limit on the number of connection attempts within a fixed interval (2000 ever 5 secs).
643b06b all magic constants must have a name.
38ffbb5 assert in network connect timeout section.
eb55043 autogen.sh runs "autoreconf -i"
c3eeeab set version in payment_address to payment_address::invalid_version during construction.
ff31869 Merge pull request #39 from kdomanski/master
c6b609d pass parameter as a reference instead of a copy
344a9c8 [debian] Bump version to 2.0.0
b9ee9e5 Merge pull request #38 from swansontec/master
6b44e5b Comments
6ae80c8 Enable leveldb switch.
715fe53 Clean up VS project.
30fa64b Re-add a function used by the libwallet URI parser
506ab18 Build updates.
6c7fd8e Use the right constant for madvise
d64669a Do not use 64-bit file IO calls in mmfile
628e304 Ignore bin/.
d7bacf6 Lost a file.
1db96f4 Move python scrjson to test/ and remove bin/.
a4cf82c Catch up VS build to spesmilo repo.
335489f readded namespace 'bc' alias
6c4b180 Merge branch 'master' of github.com:spesmilo/libbitcoin
c7900cf conditional macro to use UINT_LEAST32_MAX on Windows, and numeric_limits on Linux.
50d08b0 Merge branch 'master' of git://github.com/evoskuil/libbitcoin into evoskuil-master
db1a0dc Merge pull request #35 from kdomanski/master
63839a7 minor stylistic changes.
40729cb remove assert that can cause a remote crash.
fe712a1 Add LEVELDB_ENABLED preproc definition to build configurations. Remove unused/cryptic bc namespace declaration.
482bbdc Formatting.
1a7a705 Revert "Fix build break in examples/priv.cpp resulting from library changes to elliptic_curve_key."
dbdd7ce Swap a few residual tabs for spaces.
4f63088 Solution and project files for VS2013 x86 builds. Related changes: work around a vs compiler bug, fix invalid initializers, fix and document hazardous implicit numeric casts, fix string and integer type mismatches, add missing header references, add conditional compile of new win impl of clock_gettime.
8a0a7eb Merge pull request #36 from swansontec/base58
bf4678c Added myself to AUTHORS
3e6ddc3 [debian] Include database folder with .hpp files
6a50305 [debian] Make it clear that our AGPL3 has additional permissions
5a4b7b8 [debian] Sort files
e63e0ec [debian] Missing dependency and last changes in Description
66dfdf0 Added instructions to build Debian package to README
cec595e [debian] Rename package to libbitcoin0
52efdfa [debian] Added .ipp files
034da12 [debian] Fixed more lintian warnings
7cc366e [debian] Fix some lintian warnings
b153456 [debian] Removed --enable-bdb build flag
95d2484 Added debian folder with rules to build .deb package
10d3c7e Optimize the base58 decoder
1973ed7 Detect wrongly-encoded bitcoin addresses
d0d1f4f pass parameters as references instead of copies (performance)
df4079d implement bitcoind checkmultisig bug
53f1829 implement script op_counter (nOpCount from EvalScript())
218cc3e update checkpoints.
71a68f4 patch by William Swanson fixing my erroneous C++: see ML thread called [Libbitcoin] [PATCH] Fix C++11 language violations. Archive link: http://lists.dyne.org/lurker/message/20140214.055052.2d0bc4dd.en.html
5c66451 index stealth transactions in the database (write).
506494b link with info with stealth_database
b7d82d3 correct error message.
b1ca693 fix typo and warning
59486a4 add state to nodes in getx_responder so we can track hash_continue value for remote node downloading blocks.
bb7d0b0 stealth database part of blockchain, and able to query values.
ac66781 add mmap file utility class.
ff2f364 stealth functions.
ff68281 ported detwallet mnemonic stuff to libwallet
c6443fe remove obsolete detwallet test
313034e protocol start doesn't stop if handshake ip resolution fails.
e1e56d7 rename hosts filename to hosts.p2p (more descriptive)
ebadde8 Merge pull request #34 from veox/issue33
946d637 examples/priv: Use new elliptic_curve_key.
140255e Support for setting compressed flag on new_keypair and set_secret (set by default).
af5b513 Fix build break in examples/priv.cpp resulting from library changes to elliptic_curve_key.
cbce83c enable compressed keys, and remove redundant/obsolete set_private_key()/private_key() methods for elliptic_curve_key.
e90de86 remove get_data from session: already implemented in getx_responder.
7d2a34a downgrade error to warning (thanks Noel Maersk): http://lists.dyne.org/lurker/message/20140113.093843.531c548b.en.html
79d6eb0 downgrade scary looking error to warning.
03d769e (tag: v2.0) bump version number to 2.0
e0aac62 set checkpoint to 702
fa76ee0 update last checkpoint to block 278700
3a07aa4 remove redundant chain reference in leveldb_organizer (only base organizer needs it)
f1e9541 comments for sighash script stuff
a7f3264 crypto stuff now uses libwallet.
1b5f609 updated quickstart doc.
3816080 remove determ from examples.
c936659 tidied up serialize code.
d0cb6e9 cleaned up and fixed txpool validate code.
cd9b8bb moved select_outputs to libwallet.
67c70db ported key formats code over to libwallet.
7d8ff6c Merge pull request #28 from changlan/master
1eb9dc6 Merge pull request #29 from PabloCastellano/master
a57bf36 Last recommended changes to clarify License
6214753 ability to maintain connections
b57bccd ability to disable listening for incoming connections in protocol service.
fef52aa refactored connections code to be nicer.
e7735b2 removed deterministic_wallet (now in libwallet).
0c06018 slight modification to copyright notices on files.
660960c added doc comment to async_parallel header.
651d6c3 fixed bug where connect() was calling completion handler twice. bug was in handshake when a node is stopped and receive_* get called with error::service_stopped. the code was incorrectly handling errors. fix is to correctly stop subsequent calls by setting the counter to the clearance_count. this is now done through the new async_parallel mechanism (see last commit before this). async_parallel takes a callback and calls it exactly once on the condition it is either called N times or with an error.
c37bfbe async_parallel header.
203f723 add some debug assert info to network protocol outgoing connect code.
bba6c58 fix template function missing auto keyword.
53f7106 simplify maintain connections code.
64a97c4 Merge pull request #24 from dhuseby/forgot-automake
d9bbf12 added copyright header to source and include files.
4a6c40d Added note about why Ubuntu 12.04 is not supported
06cc1a3 disable aggressive reconnect policy in favour of having slots that always reconnect. see the comments for more details.
46777af Fix Mac OS X compilation issue
f759bf4 Fixes issue when generating pub key.
01982a1 correct mistaken legacy sigops count thanks to peter todd.
898d934 improved deserializer's read_variable_uint()
7d47602 updated doc examples.
b86797f updated doc examples.
b1d0c6f [doc] Describe optional configure flags in README
946b4e1 I had to install automake on ubuntu for autoreconf -i to work
070189e oops! add missing check. corresponding Satoshi code:
bd7a6ea comment out assert which can sometimes trigger.
ce9e841 Fixes for testnet script_version and wallet import format prefix.
1deb4ab some output scripts are unspendable and cannot be deserialized. instead set those output scripts as opcode::raw_data (like with coinbase scripts).
f7d7f75 rename coinbase_script() to raw_data_script()
e543599 added stuff needed for libtool to properly link
8b4084c only check spend_height > from_height if the spend exists.
3a4f1c1 stop infinite recursive loop caused by error handling code not returning.
638382e corrected lambda style.
9823165 up the strictness of compiler, and fix warnings.
1121f45 fix mistake where log_debug() is by default outputing to stderr
5cc8521 add timed_section to installation. it's useful.
c4bb4dd set_iterator() and other small changes to serializer.
c6d2aab remove obselete tool now we have bootstrap and faster initial download.
03bf99f threadpool: ability to specify number of threads for spawn(n) to create.
0921187 Added detect-network to tools, to detect which network the libbitcoin.so is compiled for.
de298dd Support bootstrapping of testnet and faster bootstrapping using bootstrap-fast, which does not check the transactions inside blocks. If they can be deserialized they are considered valid and added to the chain.
a517332 changed magic_value to from uint32_t to function.
0cd3b04 (tag: v1.4) incorrect version number in version.hpp - corrected it.
cb006d4 missing Makefile.
6b4780e drop excessive logging. not helpful to users.
3742d44 no need for expensive duplicate check anymore. duplicate tx are no longer part of bitcoin.
3e8c64f typo: missing brackets.
b64387c double timed_section::elapsed()
d609076 updated checkpoints.
e7fa3f7 skip expensive checks when behind last checkpoint.
506b25e put decorator header in namespace.
d0cd847 time a section of code to find bottlenecks. not included in default dist.
cedf67b update version macro in version.hpp
b1d676d bugfix: output is found but spend already exists, so skip insertion instead of continuing to loop. also set found = true so assert doesn't trigger.
adcfeae accept inconsistency and conflicts as a fact of life. try our best to resolve these.
b473fe8 contextual logging using LOG_TXIDX and LOG_TXPOOL
44222b0 safer transaction_pool - re-subscribe to blockchain reorgs right away so as not to miss any blocks.
07a3c25 i like the debug logging. lets do more of this.
c9983b8 in fetch_history(chain, indexer, ...), height=0 => unconfirmed tx, height=max => non-existent.
63113ec fixed assert problem with tx getting indexed twice. see output below for debug logs.
b51cd6b swap order of outputs and spends for indexer to be consistent.
ccec0e8 fixed problem with inconsistent debits db caused by 1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T (for example). use a simpler strategy for loading debits instead of trying to be smart.
b895c6c Merge branch 'master' of https://github.com/spesmilo/libbitcoin
9ff8a3c pool/indexer detailed debug logging isn't needed in main code though.
11fd896 just some debug logging to poller and indexer. might be useful in the future.
73b8c86 increase credits/debits checksum to 8 bytes up from 4 to protect against collisions.
43bb840 Merge pull request #22 from PabloCastellano/master
14c2e0d sha256 minor tidying.
fe6dc6b bugfix: zero out beginning bytes (before most significant digit) for deterministic wallet secret generation.
8eab1f1 fullnode: wait for session to stop.
783af17 Update .gitignore
a38db70 Use AM_SILENT_RULES when building
95e349d Remove BerkeleyDB from doc and INSTALL (--enable-bdb)
a6e41a8 Added "clean" rule to examples/Makefile
050649c [doc] Fix some typos and add some links
6413455 Merge branch 'master' of https://github.com/spesmilo/libbitcoin
fb25412 bootstrap.cpp changed break out of loop after reading the last block in the file. changed usleep(1000) to nanosleep. Even sleeping for just 1ns prevents the import from stalling.
0064959 bugfix: pass unconfirmed list to validate handler in txpool.
d5b33ba better debug logging for transaction pool stuff.
b7b5748 always deindex even if confirm error (like error::forced_removal)
ce1aca7 reorg test with double spending and everything.
ee9199f fix reorg testing tool.
6b42301 create a transaction.
2cc34a8 create a prefix of 100 blocks so coinbase tx is spendable (cannot spend immature coinbase txs).
82a87ba added missing warning output for validate_block::connect_input about spending immature coinbase.
fa646d3 fakechain adding txs (signature is not yet correct though)
cb856e3 nicer scrjson unit test.
fc3aaca move step(..., n) to a separate file to make it more obvious you're meant to customize that function.
b4f2c28 tester to generate fake chains. customise the function step(..., n) to generate different chains for testing.
18308da bugfix: optimisation with only reading bits field from block header was missing offset when deserializing bits field. result was that block version is substituted for bits field.
eabe628 update script unit test.
24d75cb when depth was renamed to height in libbitcoin, script opcode DEPTH inadvertently got renamed too.
15b2b3a stricter asserts in transaction indexer.
57766fd replace main std promise with a spinlock.
cf90a7e not a fan of inheritance. prefer composition always.
fb27202 Added: (outputs, change) = select_outputs(unspent, min_value)
c4a9960 Merge branch 'master' of https://github.com/spesmilo/libbitcoin
d723327 Added tools folder, tools Makefile and bootstrap.cpp for importing blocks from a bootstrap.dat file.
c1e19fb decode_hex_digest was using hash_digest_size. make it use actual HashType size.
e955016 mpk copy unit test.
3889a3a satoshi_to_btc
9d5d58e tidied up the repo.
91d2912 comment for last_non_special_bits() [testnet func] in work_required()
f93025c pblaa -> previous_blaa.
b25a8b3 updated AUTHORS file.
2a283d0 logic error in testnet work_required() calculation.
18c400a Merge branch 'spesmilo' into testnet
6820b8f stylistic changes: - unindent macros so they are on the same column always. - clip long lines to 80 char max horizontal limit. - comments always on their own line. - refactored work_required() to look nicer. - { and } always on a separate line.
bee8946 cancel disconnect timer when connected.
2d804ff logic error in timeout stuff.
c77a75d stop channel if connection times out.
87aede1 network::connect() timeout.
6d83811 Merge pull request #19 from wingsuit/master
025cc36 Added support for testnet, enable when running configure.
519a564 updated docstrings for async_strand.
95d20de Added AUR link to README
f695714 decode_hex: move scope of decoder inside main loop so it gets cleared.
64b79cf bugfix: decode_hex throwing on invalid input.
e3f0c26 renamed async_strand::push() to randomly_queue() (name is more specific)
7706d12 input.input_script -> input.script, output.output_script -> output.script
109d037 split assert in indexer. makes tracking down bugs easier.
e7a3853 updated examples.
4b154c4 s/script/script_type/
849274b nicer address with less code.
b4f170b Revert "use compressed public keys."
4cdfe88 show the failed input if validate_inputs_failed for tx pool validate.
29ebf64 tx_pool::set_capacity() instead of passing param to constructor.
50e7153 use compressed public keys.
374442d since transaction_pool expires items when they are forced out of the circular buffer, we don't need to expire transactions based on time in the indexer. we rely on the txpool implicit expiry instead and use less code.
e31a167 split transaction pool store() method into validate() and store() methods.
de8f81f bugfix: handle_confirm() doesn't get called when the circular buffer drops it out of memory so it wasn't getting deindexed in the transaction_indexer.
3d90b68 bugfix thanks to shunyata <empty@cqdr.es>: if bignum value begins with 0x00, then SSL will skip to the first significant digit.
57ade12 Merge pull request #15 from shunyata/master
25ca42d Ignore some artifacts of checkinstall
388cc68 Bugfix regarding leading 00 bytes not being counted by BN_num_bytes
44598b9 bugfix: decode_hex_digest should let decode_hex handle the string decoding stuff. just check the returned number of bytes is correct.
a5bbfac enable all address types now for fetch_history()
7d3c4d3 we now use the end_of_stream exception, not script::empty() for script deserial.
09c8f3b use deserializer for parsing script.
cf6ab7a add <atomic> to types.hpp header.
309429e added script::empty() method.
ae33ec5 fix interger overflow in decode_hex when 0 size hex_str is used.
708bb28 assert was checking size wrongly. script code has min 4 ops, not the input script itself.
40a9a1c single extract() function for both input and output scripts. tx input BIP16 addr are now indexed.
5c768b2 payment_type script::type() method can now detect input script types also.
43f4d16 downgrade misleading 'error' messages.
c3613ac Revert "bugfix: set_script should use the back value not the serialized script!"
6517772 bugfix: set_script should use the back value not the serialized script!
bf53d10 implicitlly use std::bind in async_strand methods.
e87da02 use blockchain/ for database path not the less obvious 'database'
1af39bc typo: log_to_both should also output to file.
bd43797 added extra error checking to fetch_history() composed operation.
a7ed126 provided composed operation: fetch_history() (gets history for an address from both the blockchain and transaction memory pool)
0bd9cd0 bugfix: height was being dirtied before we used it. now have a separate dirty flag.
a18eaea add expiry of txs to indexer (thanks vitalik buterin for his input).
924f9f7 example of using transaction_indexer in fullnode example.
551115a build stuff for transaction_indexer (see previous commit).
bc5c412 transaction_indexer class - makes an index of unconfirmed transactions. you can query this index using a Bitcoin address to see all related input and point points (returned as a txhash/index) with their relevant data (previous_output point for spends, and the Bitcoin value for outputs).
9e76479 poll for "stop" command from user in fullnode.
6fe2a43 made logging stuff in fullnode more intuitive.
0a21bd2 ability to compare 2 payment_address or use it as a key in a std::*map.
7f5a462 ability to std::cout << both output_point and input_point types.
43ef730 install download-blockchain.sh script.
8ca4149 install download-blockchain.sh
3879627 install some doc with libbitcoin.
6b288e7 use rsync for blockchain download. display command.
bd0bfae use rsync for blockchain download.
394c0f1 tx deserial/serial tests
ff4e2ec make tx deserialization less strict so that asserts aren't triggered by bad streams.
0fd9337 bugfix: typo in deserialize from last change.
10267ad prettified serialize code by putting non-public stuff in impl/*.ipp files
e3daeef add from_height optimisation.
7c65f6e ha ha wth satoshi?? generate_signature_hash() returns 1 and doesn't fail. http://permalink.gmane.org/gmane.comp.bitcoin.devel/1411
20e6616 added url to pkgconfig file.
ba55570 pkg-config use -std=c++11 not -std=gnu++0x
bde4b04 12 words mnemonic.
ab73514 added human stop message to README.
20580d0 be more forgiving on user provided data. this data is usually small in size and not performance critical.
3ea20af channel_loader_module impl doesn't need to be publically exposed.
f9271e9 protocol: continue accepting nodes and perform handshake with them.
6bf5aa8 download-blockchain.sh
c9f660b added "sudo ldconfig" line.
d90c8b6 made a more friendly README.
147df99 moved data_stack to types.hpp (made it a public type).
3901890 removed "typedef uint8_t byte" - just use uint8_t instead.
bc33da4 fetch_history returns a history structure.
25e66ea add depth to db_debit
bc01403 height is now part of debit too.
8563628 formatting of comments.
0c6b0aa removed ancient bitcoin.sql schema.
34c3a3d Now we use the technically correct term 'height' not 'depth'. End of an era.
1c29cab got rid of checksum hashmap for fetch_history. queries are twice as fast.
f6f25ee subscriber_ptr typedef.
0e2cad7 exposed extract_input_address()
21bf682 balance tool actually calculates the balance now.
77e55fb broadcast send handler
62169a0 query balances for an address.
2d3e369 make protocol max_outbound configurable.
4ea09fe bugfix: actually save inpoint in debit db (not previous outpoint)
1ffc0ac renamed serializer2 to serializer.
caaa544 replaced chain.fetch_outputs(), fetch_history(chain), fetch_output_values(chain) with chain.fetch_history()
b01da97 protobuf is no longer needed.
d14f066 clarified readme further about where to add env variables to ~/.bashrc
6af8c80 updated readme for clarity.
4905035 made the instructions in blocks.sh file to a README file.
b7c9fd1 added blocks.sh starting script.
9192e1c updated readme instructions.
c3e23ee address debits now stored in database.
62a784c cleanup database batch code.
52138be cleanup of databases in leveldb backend.
e0cc563 additional test case for serialize unit test.
b05e7ce bugfix: properly return end iterator during block write serialize.
0600eb5 serial/deserial test.
5628d24 added beginning of test case suite.
d6cc12d moved out of date unit tests.
d97a7d2 bugfix - detail hash wasn't getting recomputed when we change the header.
4bd0213 assert that db ptr is good in db_open()
9fa0455 update reorg test.
11f1f31 updated doc for recent changes.
47e78f8 tidy up sliced_detail a little (not much).
570237e remove misleading block comparison operator.
4373abe purged protobuf. introduced new hash_digest_list, short_hash_list and block_header_type. database is storing block directly on disk with hashes now.
a1c42cc switch to new serializer.
0e43299 deleted bdb backend (obselete).
a9513b5 new style serializer using iterators.
46e7a43 write tx data to disk in native format.
6315204 add reasons why connect_input fail.
b4e7c5c load deserialized objects directly instead of creating a temporary buffer.
592dae5 make end iterator for deserializer const, and add doxygen doc.
9535960 proper deserializer making using of iterators rather than buffers.
f0de237 Merge branch 'pcastell'
0a7beea commented out incomplete section of sphinx tutorial doc.
0d72963 added author to sphinx documentation.
131b5b7 Added author to doxygen documentation.
a54fad8 better build system checking for c++11 and adding to CXXFLAGS
e6f7d00 Update version in configure.ac too
90cf2ba updated copyright year range.
19b0110 (tag: v1.0.10) update version.hpp
f090251 (tag: v1.0.9) enable-debug mode for configure. turns off debug output.
2d3701c rename post() to queue()
dd6bb3a blockchain write optimisation: call user given callbacks in a seperate thread exclusion queue (async_queue) so users can't hold up main write queue.
5fa1cf4 updated README with mac osx mountain lion build instructions.
d10cfe8 bugfix: increment and compare in atomic call.
4cfe4e4 inside composed operations: count increment and compare MUST be atomic.
03bdd9b fetch_history and fetch_output_values composed operations.
a3b284e doc: tutorial nice highlighting for error_code values in network stuff
43a2fe9 doc: tutorial missing argument in fullnode::connection_started function
9b5417b (tag: v1.0.2) doc: updated fullnode tutorial.
2ea7947 rename to format functions: pretty_hex -> encode_hex, bytes_from_pretty -> decode_hex, hash_from_pretty -> decode_hex_digest
bd90bf6 add std::error_code to protocol::subscribe_channel handler to signal when service has stopped.
ff458ad comment assert in loading version message.
e60d583 doxygen comments for threadpool.
e32bddc added riak link on optimising leveldb.
2e873a5 fRelayTxes is not included in the version message in any deterministic way.
29a3930 bigger list of seed nodes.
2bae671 typo remove semicolon from block validation check.
f7a7a78 oops! tried to join() threads from inside when error condition triggers. don't do that...
032f9e5 doc: add section about file limits.
83b823e bugfix in fullnode example: start blockchain and WAIT before anything else.
91596f0 fullnode blockchain should start before anything else.
fae2ae0 recommendation to set ulimit higher.
732acfa raise it further.
1339078 raise low value for max_open_files in LevelDB.
64152ae doc: added section on optimization to blockchain chapter.
b80b143 updated version primitive with 'relay_transactions' field, and bumped protocol_version to 70001
4cb78c6 nicer function names for logger (output_cout() instead of output_to_cout())
aef2c6e logger default, same func for both normal stdout and error stderr messages.
7e3236f deleted outdated documentation.
a0601c1 readme for generating the docs.
9e1bda0 doc: updated examples.
12633dc doc: updated examples list in intro.
5780c90 doc: clarify tx_pool
fa76977 replace mentions of Vidalia with libbitcoin in LICENSE.
ba4905e chapter 7 complete!
f1ae805 doc: header for tutorial main page.
cf79e81 doc: title underline too short.
6b210a9 mac osx build instructions.
e717c5a fix to build on mac osx.
4fa3e71 fix warning in leveldb about initialization order of vars in contrsutctor.
29a81b4 bugfix: race condition in fetch block locator
a7d7f1b add comment clarifying sleep inside seqloop loop.
6c0851f don't print block depth for not confirmed blocks.
9ab50ba show_chain(blockchain)
c186839 reorg test.
69c4971 cleanup seqlock fetch read spinlock.
0b5c83a fully using seqlock for leveldb blockchain.
00e5c87 seqlock skeleton.
dc0f1a3 doc: clarified unclear section in network doc.
383a18e doc: txrad part of network documentation.
19d4a8c logtst updated.
c4be94e Added short title description to examples.
1dd1fd8 Added transaction radar example.
284163b doc: blockchain reorganize.
cfdcea4 doxygen comment in blockchain: better param names for handle_reorganize example.
0a25f71 doc: logging system.
55aa054 BUGFIX: avoid counting sigops twice (once for legacy and once for p2sh)
96a0be5 expand checks to skip old blocks with version 2 as there are loads of blocks with the version incorrectly set.
f08ea8e fix to work on Mac OSX.
4c967b8 block 189565 has version incorrectly set to 2. add workaround to skip that block.
b89774d section about subscribing to new channels.
7bf8a32 doxygen comments for protocol API.
ba44088 proto example: display message when new connection.
56b4aeb typo in docs.
c7c5986 added program to connect to random bitcoin nodes in network.
81d287a added comment about catching c signal to example proto.
8020600 catch signal in protocol test example.
9706266 protocol example.
3c9c854 doc: info about network services.
b469cdb added info about handshake service and connect composed operation.
2598617 doc: more terse description for connect example src.
a830a15 deleting dud lines from net documentation.
b8e7533 doc for accept/connect stuff.
358344e accept/connect daemon examples.
822c29d section on poller.
ad09f5d doc: section about word of satoshi.
8f7bcae added display-last tutorial.
8b9d7c3 display last example.
ab236d4 fullnode explanation text.
8287d90 test reorganising the blockchain.
50064b4 leak-check example for tests.
b2f91db use set_seed when calling new_seed() so that MPK also gets set too.
f5f0480 poller's ask_blocks duplicates filter policy is too strict. make it more permissive by also checking the hash_stop (not just locator.begin())
b8a98a4 only check coinbase_depth() in accept_block() if version 2.0 block.
c320681 missing return for when adding block to pool fails.
4de27e6 need to serialize the expect script before doing comparison.
1fbc0c1 enforce block number in coinbase of blocks.
b1fa8e2 remove old CXX compat stuff in blockchain interface.
ae598e8 doc: fullnode example
e0749ad fullnode example implementation.
3e19603 doc: further design info.
41ef5dc added example source code listings.
4fff57c doc: little pargraph about blockchain::store.
6ebde0b beginning of blockchain documentation.
1c6f603 init leveldb_blockchain example.
de2fa70 full node code listing in doc.
601cfed import genesis block code listing in doc.
ae8a51d added fullnode. needs code cleanup.
68d570d bugfix: output_cerr_and_file forgot to make it actually output to file before.
2848c80 added missing Makefile.
e76f05a deleted .pyc file and added *.pyc to .gitignore
2f8d05d fatten section about threadpools
1e634f3 bugfix: check stack size for OP_WITHIN before popping items from stack.
a0be931 bugfix: python doesnt cast str -> bool properly. do str -> int -> bool.
d0b24fb script test: use a tmp file indicate pass or fail to python wrapper.
4821e64 doc: moved section about services to libbitcoin anatomy
b113309 updated documentation info.
8ec2efb added leveldb_blockchain to doxygen doc.
e243f4c updated README instructions.
7adf615 updated install instructions.
06fe31b edited README.
80a0917 finished crypto section.
5e0e973 added section about secret parameter.
e2a0823 deterministic key documentation,
3731e79 libbitcoin quickstart.
bd91272 crypto documentation.
4b787c7 first example! priv command from subvertx project.
e3f6593 removed unused deprecated _ptr definitions for services in types.hpp
5f9fa44 more documentation on overview page (std::* and core data types).
1310c27 document different key formats
0c9ab0c offline txs documentation.
54fd718 sphinx Makefile.
20de551 new logging system (uses DEFINES for domains).
dba6ed7 Beginnings of documentation.
c71d9f6 (tag: v1.0) payment_address: added doxygen comment and fixed variable name (address_type) which is already a type name in primitives.hpp
eaa3b8e zero out hash for payment_address in constructor.
4a15cf4 added missing primitives file.
e98844d add stop point for import.
0fe1cd9 rename async_service to threadpool.
77858bb just use a random value for the counter.
dd5ea60 use a proper counter that we read off from the keys.
8b46d69 different kind of duplicate key using suffix instead of huge value.
5858a16 only store last 16 bytes of block hash in leveldb database index.
13abc94 show more output in import.
9f33c51 Merge branch 'rename'
deebb7d Merge branch 'leveldb'
abcb969 naming migration complete.
7a84044 migration to new names for messages (now primitives).
5632eb6 remove ugly block variable name prefixes.
27fbc44 new names in bitcoin.hpp doc
4c14425 first step migration to new naming scheme for messages (now called primitives)
451fe81 increase number of locks.
bed69b7 full leveldb backend working.
71e82eb depth_comparator to order blocks by depth logically.
533f4d8 download blockchain from SOURCE to DEST. can resume from last place if stopped.
dd04cb5 leveldb and bdb can work alongside each other now.
688154c fetch block depth
e0e8300 save_transaction and fetch_outputs.
e3bb6eb fetch_last_depth.
2e017d1 fetch block header by hash.
6138a3c purged out bdb txn_guard.
3d637e7 fetch and store block headers only.
aa80905 missing leveldb_blockchain file.
6c085d5 leveldb_blockchain initialisation and uninitialisation.
c1bd3f3 basic framework for a leveldb blockchain. copied over bdb blockchain and renamed class prefixes to leveldb. methods need to be slowly migrated to using leveldb.
91194bf remove kyoto cabinet incomplete blockchain impl.
a15f1b3 added const modifier to deterministic wallet methods.
2142ab3 blockchain import() function.
c907d61 changed some of the log levels for networking stuff.
7966c0e simplified and improved logger filter() method.
3c0bfa9 changed header guards to end in _HPP.
d36dbee Added latest checkpoint for block 225430
be59eaf skip last output in sighash single.
7a36ba4 session_params wasn't being deleted.
0c5c246 fix unitiatlised last_block_hash_ in poller variable.
66d84d0 valgrind suppression file.
94dde5d simple checksig test.
c38d963 move op.data size check out of if because (!allow_execution && !is_condition_opcode(op.code)) can return beforehand.
4aa6ce1 if script fails to parse then check and fail in scritp unit test.
a184e0e build a byte stream when parsing script strings before parsing that byte stream into a script.
81c81ed updated checkpoints.
96a5efa better shutdown for net app.
44e3832 cleanup curl before possibly returning.
019ec0b updated block hash.
d77a00b shutdown protobuf before exit.
4afc8f2 set DB_DBT_READONLY on readable_data_type for bdb
42fcc4f added blocks to test forking at block #191809
4228031 bugfix: don't attempt to remove spends from coinbase txs.
07e5926 bugfix: coinbase output addresses not getting indexed.
3884709 added feeder test program.
e3c5133 assert with message displaying raw script on assert failure during parsing.
c6e37b0 hmac stuff. TODO: long_hash/short_hash? maybe rename *_from_* functions to consistent *_to_* or use conversion classes?
ddef898 Added doc for deterministic wallet.
a0f0d1d use newer and clearer std::to_string(int) instead of boost::lexical_cast<std::string>(int)
47234b3 updated ec-key unit test.
8a02a35 open flags contained some flags which arent env->open(...) flags.
fc30a8c turn off durability
30c8d4f logic error: check input_index < parent_tx.inputs.size() before sighash::anyone_can_pay which resizes number of inputs to 1.
1eed6a2 missing async_service destructor.
f893bd6 Electrum compatible deterministic wallet.
fee9d4f valgrind prefers this.
c07faaf fixed memory leak on async_service destruction.
4bd8285 unitialised variable.
f4130e7 add input_point_list to be consistent with us having output_point_list
40b4b3b tx locktime in block validation code (first appears in block #198358).
6f16e91 add payment_type::pubkey to extract from output_script function
d6dfba3 Add example orphan block (block 191810, 000000000000073335b2c6ccdfeff59658a1714b6c6de3eadf9ee3954aad0562)
4fbe803 virtual destructor in polymorphic base class.
85fb5aa fetch last block and show its hash.
e5d12fd bugfix uninit variable for scr size.
c563a03 script_size(...)
cad6fcb fail if stack + altstack > 1000
b702b35 count_non_push use std::count_if
040d047 bugfix: uninitialised variable (counter var inside count_non_push).
ec46375 added disabled opcodes so they get parsed but running script fails.
0fd580e op_return
f5eb029 data size max of 520. max ops of 201.
382e967 op_verif and op_vernotif should always stop the script even if not executed.
8397f3a bugfix: hash160 digest should not be reversed.
1dfc639 script: within, ripemd160, sha1, hash256
49a1d82 op_max
d695238 script: numequal, numequalverify, numnotequal, lessthan, greaterthan, lessthanorequal
d01a430 booland
43d6578 op_0notequal
5ed6ee0 op_negate
4dc942d op_sub
e31da95 op_1add, op_1sub, abs
cd4570b op_2over, op_2rot, op_2swap
2383d21 enable -1 in scritp json testing tool for scripts.
6935a58 op_2dup, op_3dup
19d5a1c op_2drop, op_tuck
a12fa36 op_swap
298b2ba op_rot
9095911 op_pick()
fd582f2 op_depth and op_nip
1455770 script ifdup
6a199c9 script alternate stack commands
7c8c178 added reserved (auto-fail) opcodes.
c2a98fc refactor script run method into nicer flat style
1c0bbc1 hackish addition of if/notif, else and endif.
3051fe0 bugfix: special/push operations may also push empty data (opcode zero). Hence we check the opcode over the shorter !op.data.empty()
2cf4ef8 hex strings should be treated as raw_scripts to be appended to current script.
b51dea9 opcode::negative_1
e9ea4b7 op_add
82681a8 use actual pushdata* not raw_data which is for coinbase scripts.
df06313 Removed coroutine stuff because in practice using coroutines in c++ is impractical.
2b3ad3f big_numer *int64 methods used by script system.
5404286 added checkpoint for block 185333
ca64a7a removed useless clock utility. rely completely on system clock.
341c6ec correct error codes in script test.
ab0ce85 script json unit test suite.
b14a6d2 string_to_opcode(...) takes const std::string& (const ref), not std::string (copy)
55c5456 install key_formats.hpp header
15d69d8 Merge branch 'minikey'
29d0323 Added Mike Caldwell's (Cascaius) samples for testing minikey format.
f0b387e minikey_to_secret: convert Cascasius minikeys to secret EC parameter
69b8703 wallet import format conversion functions.
a7c1819 fix decode58 to compensate for endian swappiness changes to big_number
c032cb6 secret support in elliptic_curve_key
3d04b9f s/libbost-dev/libbost-all-dev/
48dca87 hashes need endian to be reversed Q.Q
6657cbf Fixed encode_base58 implementation.
ad2cf48 bugfix to reverse vch data in big_number::set_data(vch)
42d52a1 bugfix: is_push_only() function used by BIP16 wasn't treating op_zero and op_x as push only opcodes.
2329143 bugfix: shutdown database at the end of bdb_blockchain::setup("database").
8aecf4c called reorganize with error::service_stopped upon bdb_blockchain::stop() invocation
d78d049 amended INSTALL file with configure step
d7012f0 s/libboost/libbost/ in INSTALL
ab82f54 g++ 4.6 compatibility grr
2f37e86 version.hpp with version information defines.
dd99c0b ping - pong
e91acac fixed echo test.
6be42a5 removed discovery
4713713 removed psql blkchain interface
f307c02 migrated session
9da06ac migrated transaction_pool
edfd58c migrated hosts
380bf4c migrated protocol
5c4186d removed ancient postgres blockchain impl
5adf2ee migrated getx_responder
f984471 poltst uses stop, not shutdown to finish.
0f70ed2 async_strand with queue in bdb
0cbbde1 protocol takes handshake and network by ref
0bf6d2b bdb_blockchain api simplification and cleanup.
7f7d1ee migrated handshake
fd3e1bb migrated network
ce26b3b migrated poller
a58a999 migrated blockchain
cf7b251 BITCOIN_ASSERT_MSG
f6d85d6 ~bdb_blockchain() reorganize error::service_stopped
76e2ef1 weak_bind
a04fc42 Functor -> Handler
8de1f8c forgot to add satoshi_serialize.cpp
f153393 goodbye exporter. you were ugly.
ebce5b9 extensible loader in channel.
f633599 new style serialisation: uses ADL and is extensible.
84df7f3 broke compatibility with g++ 4.7: - use template aliases to simplify blockchain interface - remove MACROS from error.hpp
b9e184f g++ 4.7 fixes
e3997d3 subscriber's should have a separate strand.
727d6c2 move script pretty function outside class scope.
5dcd7e7 hanshake->connect(...) => connect(handshake, ...)
c042df4 ostream << for data_chunk
53b5f09 Bugfix: fetch_block_locator returning entries reversed.
daf05bd --enable-kyoto
c3c43e0 kyoto cabinet blockchain. only save/fetch block header.
1b0d599 remove fetch_block_locator members.
8a5830b fetch_block_locator free function.
f6b28a3 Check earlier for blocks with duplicate transactions. Fixes #1167
730e23f block_locator_indexes not indices!
ec8fa55 Merge branch 'getx'
9a41541 check_signature fails if invalid pubkey is passed rather than wasting time trying to validate.
6319e2f Fixes in script for testnet transactions 87abda4755e492de6149affbfc67d42a367f76c166c6bc31c8dfb916f74f66bb and a17b21f52859ed326d1395d8a56d5c7389f5fc83c17b9140a71d7cb86fdf0f5f (funky opcodes).
ec9ccd5 broadcast invs for new blocks.
f685e2e Do not reverse script readdataX bytes as cast_chunk already does that.
f773265 getdata for blocks.
abdb002 fetch_block
b43660e Bugfix: avoid ~bdb_blockchain() body if initialisation never had a chance to start.
6ee6236 fetch outputs for 1vaynert unit test.
3e2ac05 Bugfix: capture this_ptr in lambdas
c23bc88 include system_error in hosts file for Parabola Linux.
48782b7 Respomd to get_data requests for transactions.
c53adb7 file_lock database to prevent multiple accesses.
b5cfee3 ostream operator<< for hash_digest/short_hash
798690f getx_responder: basic structure. responds to getblocks, getdata, and relays last block inv after 500th download.
2c809a3 remove include of non-existant threads.hpp
1ff01d4 removed old deprecated header.
cb9b3fb workaround fix for very very stupid error in g++ 4.6 (incorrect exception specifier for std::error_category)
b08edfc txpool returns unconfirmed input index when error::input_not_found
6ab8340 Accept memory pool transactions with unconfirmed inputs.
b5d1fd4 prevent requesting block more than once in a row from multiple nodes
c544041 doxygen main page.
e796edc doxygen transaction_pool comments.
5ab18d8 async_service_ptr
47b690a Drop ask blocks if last block hash in locator is same as last time.
8b68468 fan out for coroutines.
30fcaa2 Renamed: error::missing_object -> error::not_found
8b37ae4 txpool::fetch()
e8d7b32 dont allow bip16 for block validation before bip16_switchover_timestamp.
7e982fc codehash_begin_ which is set by OP_CODESEPARATOR
5c167ee OP_NOP1-10
6e39138 BUGFIX: is_pubkey_hash should be checking data size is 20
c899e79 handle_start for when blockchain is initialised in factory method.
19a5f88 BUGFIX: adding duplicate orphan blocks return only block_status::orphan but did not return error::duplicate
decd254 bdb_blockchain: store P2SH addresses in the address <-> outputs lookup database.
6bcb7a7 poller->monitor(node) to download blocks from non initial_ask_getblocks node.
0b1be18 more C++'ie interface for payment_address
d452071 avoid sending empty getdata packets when block poller filters out block invs from an all tx inv message.
0e470ff fetch_outputs(address, cb) - payment_address argument instead of short_hash for public key hash.
1f402f1 -DBDB_ENABLED in pkg-config --cflags
7d7ff17 remove obselete comment from address.hpp
ba16db4 payment_address::type_ initialised to payment_type::non_standard
a4ea10a coroutine testcase
a310d26 boost::asio coroutine and yield.
a8a143b Renamed: object_already_exists -> duplicate
0f680d8 the (co)pumpkin_buffer
5a7216d limit so many spurious transaction inventories.
251d4df is_output_spent should not check blocks after fork point.
99bf71f end_slice assert when serious internal problem.
48be07b Doxygen typo.
8e31ec2 BUGFIX: mark as processed blocks removed from queue.
0f2a7a7 const getter functions in payment_address
16e5fba data_helpers.hpp -> format.hpp
aa86c02 updated checkpoints.
f8f82ae payment_address class representing a bitcoin address.
72a06a3 new sigops count (yuck)
a61a222 checkmultisigverify
144b523 number_script_sig_operations -> legacy_sigops_count
78a2a4f signature validation for checkmultisig
ce45ab0 BIP 16 unit test.
0df577d checkmultisigverify with disabled check_signature
8167897 checkmultisig stub
6b7de90 load eval script when payment_type is script_hash
de1e00d is_push_only
e2cc1e3 is_script_hash_type()
e792777 BUGFIX: avoid re-processing invalid blocks which can lead to trying to remove a non-existant block from orphans pool.
25dad64 // Re-check as another transaction might've been added in the interim
c83c7e6 more specific tx_pool errors.
1e77666 redundant error check in store mempool tx
45ca5ad More specific error_code values for block validation.
21702c9 Setup doxygen.
138a2a6 temporary public_key_hash_to_address function (until BIP 16)
67dbf03 BUGFIX: bad input_point reported for fetch_spend
06bfad8 tenative fetch_block and fetch_block_locator free functions.
d7d5fb5 More atomic blockchain API: fetch_block exploded into fetch_block_header/fetch_block_transaction_hashes
407c116 boostified namespace endings.
4a6a93f prettified types.hpp
cf6673d session_params have _ after name to not conflict with type names
89f7819 make constructor for bdb_blockchain run async and not block
ed0eca9 error_code'ified check_block()
298d03f BUGFIX: Chris Kohloff (I have a bugfix by boost::asio, and std guru w00t)
831b2a1 Give a reason (std::error_code) why block validation failed.
5771ee6 error categories for grouping certain errors (thanks Chris Kohloff - creator of boost::asio and std::error_code for solving my ADL problem).
73eae63 Added the session into crap bitcoin client.
d71add4 crap_client
9e246e0 protocol::broadcast message
3d68797 BUGFIX(es): base58 - woe! the amount of logic errors! (next time don't be smart, just copy Satoshi's)
5e42f7f log: alias and filter
ed8314b missing &s: void hosts::do_remove(const message::network_address& address,
f70f5f2 delete copy/assign operators for network services
ff4970d Keep the start_depth in handshake's template version updated when it changes.
468122f handshake.set_start_depth(depth, completion_handler)
feea6b9 sipa's BIP 30 security fix.
f2552da Don't add duplicate transactions to the pool.
3a43c74 transaction_pool handle reorganise
549e847 OP_MIN
958d212 script: added op_x
2373a90 Add unconfirmed transactions to the memory pool and validate them.
d995f03 session (downloads blockchain and connects to network)
6d89083 copy not forward arguments in subscriber.
9e2feab protocol does not implicitly create any services. you pass it the needed ones.
f225346 poller: downloads blockchain.
d3a1680 clear channel subscriptions on stop()
2439574 new threading model: async_service.
ea2e10f protocol::subscribe_channel
65d945f gracefully shutdown socket on stop()
e37329f encapsulate seed addresses logic in its own mini-container.
d8fa4ce concurrency hint for boost io_servie (1)
548d876 bool channel::stopped()
cc94bfd Automatic lifetime/circular reference issue resolved using (ugly-)boilerplate wrapper.
6259fad function decorator
423694e BUGFIX: could not call channel::stop() within same thread context.
294316d Added poller sksleton.
0f78bfb README: typo and omission
c110065 listen + accept connections.
235fd55 version and verack messages now have checksums (like every other message). no longer need ugly workaround.
ddeaa06 if 0: connects to seed nodes, downloads addresses, populates hosts.... then create X connections and maintain that.
cd30155 On timeout, getting the remote_endpoint from socket can cause an exception. Pass an error_code object to supress that.
6943220 seed nodes added.
058b865 added support for aliases BIP (size of version packet is now >= 85 not == 85)
37b9b4e test stopping channel.
4bf0aa5 protocol::start will initialise handshaker and call bootstrap
75ff657 Perform node seeding in protocol::bootstrap sequence.
3ca1904 Added indices_list typedef = std::vector<size_t>
474c0d3 handshake has 1 init for multiple nodes. explicitly separate those steps. prefer explicit over implicit.
1a4786d capacity in hosts constructor.
030b4d9 hosts::fetch_count(handler)
49ff9a2 subscribe_reorganize
11090b4 remove spends and addresses on reorganise
cfcb0b0 clear txs on reorganise.
2412a01 BUGFIX: arrival blocks pushed out of circular buffer by replaced blocks.
5b007c1 protocol class (year it's empty RERO)
f865de8 simple hosts class. not too advanced yet.
34ebafd Updated AUTHORS file.
5c06c23 hash_from_pretty is now a templated function to support short_hash
d48aefe heartbeat ping, timeout and subscribe to stops.
b8851cb Added Lesser exception. libbitcoin is LAGPL
37deba4 Added remaining packet types. (untested - need to build unit tests)
291004c echo test server