Commit Graph

4377 Commits

Author SHA1 Message Date
Christopher Jeffrey
34e90c6baa handle chain forks from checkpoints. enforce one syncPeer. 2015-12-18 16:30:58 -08:00
Christopher Jeffrey
4984c306b9 minor: function name. 2015-12-18 15:44:15 -08:00
Christopher Jeffrey
6ae273f84d tx.verify: compare top stack item against zero instead of one. 2015-12-18 15:43:17 -08:00
Christopher Jeffrey
5942209f41 pass size into block and tx for maxsize checks. 2015-12-18 15:41:34 -08:00
Christopher Jeffrey
7ffcc8e7f3 check for syncPeer on blockchain fork. 2015-12-18 13:12:04 -08:00
Christopher Jeffrey
91618258e7 add a peers.bad list for peers with forked blockchains. 2015-12-18 13:10:27 -08:00
Christopher Jeffrey
5791672c07 pass _network to tx. script debugging. tx filled total. 2015-12-18 13:01:23 -08:00
Christopher Jeffrey
82983af52b pool wallets. chain errors. checkpoint failure. 2015-12-18 12:10:39 -08:00
Christopher Jeffrey
d109eaba6c handle reject packet. 2015-12-17 19:47:20 -08:00
Christopher Jeffrey
135208910d always set nSequence to zero when nLockTime is present. 2015-12-17 18:33:27 -08:00
Christopher Jeffrey
1e0a153b59 do not overwrite lockTime input by user. 2015-12-17 17:58:09 -08:00
Christopher Jeffrey
7f70b573c1 enforce checklocktimeverify for nLockTime when adding input. tx.prevOut method. 2015-12-17 17:56:46 -08:00
Christopher Jeffrey
aac4911b4e remove comments for pushdata issue. 2015-12-17 17:39:08 -08:00
Christopher Jeffrey
f89908bb65 script formatting 2015-12-17 17:37:13 -08:00
Christopher Jeffrey
3e747f0df4 comment 2015-12-17 17:33:02 -08:00
Christopher Jeffrey
5b68ec0b3e add option for colored coin output creation. 2015-12-17 17:31:37 -08:00
Christopher Jeffrey
efe1181bc1 move key sorting to utils. 2015-12-17 17:23:33 -08:00
Christopher Jeffrey
b74e8de067 input tests. function names. getInputKey/getOutputKey. 2015-12-17 17:14:41 -08:00
Christopher Jeffrey
6abfc10a28 improve input checks with keys/hashes/redeemscript. 2015-12-17 16:53:35 -08:00
Christopher Jeffrey
6caa6b91dd add spendable checking for checklocktimeverify. 2015-12-17 16:06:08 -08:00
Christopher Jeffrey
5e89aedf0b improve input testing. 2015-12-17 16:06:08 -08:00
Christopher Jeffrey
0c8168c697 rename colored coin check. all input script tests. 2015-12-17 16:06:08 -08:00
Christopher Jeffrey
3e608c2cc6 script and standard transaction types. prefixes. 2015-12-17 16:06:08 -08:00
Christopher Jeffrey
07a6788831 optimize block and tx rendering. script maxes. sync. 2015-12-17 16:06:08 -08:00
Christopher Jeffrey
88ddb3620c get blockchain sync working. fix pushdata ops. 2015-12-17 16:05:48 -08:00
Christopher Jeffrey
5e5507f668 optimize checkmultisig. 2015-12-15 01:48:21 -08:00
Christopher Jeffrey
c44ea0090f implement sighash_single bug. 2015-12-15 01:41:44 -08:00
Christopher Jeffrey
1b07d6e906 minor cleanup. 2015-12-15 01:23:49 -08:00
Christopher Jeffrey
c68ab4ee7d implement all sighash types. add hasUnspent(). 2015-12-15 01:22:24 -08:00
Christopher Jeffrey
b0a3a0e853 utils. minor fixes. wallet functions. 2015-12-14 14:00:06 -08:00
Christopher Jeffrey
5c1606985a outputScript() consistency. 2015-12-10 18:02:47 -08:00
Christopher Jeffrey
1caa0804d9 add getKey functions to TX. 2015-12-10 17:54:34 -08:00
Christopher Jeffrey
bb9974b818 add master key reference to hd keys. 2015-12-10 17:54:15 -08:00
Christopher Jeffrey
243d3fd69f fill checkmultisig scripts with 0s if not enough keys are available. add format function. 2015-12-10 17:53:42 -08:00
Christopher Jeffrey
c251def27c wallet: multisig key handling. prefixes. to/fromJSON. 2015-12-10 17:45:56 -08:00
Christopher Jeffrey
d7eea0941e add less-than-dust to fee. recalculate fee after input scripts are templated. 2015-12-10 13:52:34 -08:00
Christopher Jeffrey
3f44538b46 remove commented code. error consistency. 2015-12-10 02:28:57 -08:00
Christopher Jeffrey
3dec18c2c7 wallet/tx/script: n limit. refactor multisig options. 2015-12-10 02:25:44 -08:00
Christopher Jeffrey
14f08e891c improve toBTC and fromBTC while ensuring safety. 2015-12-09 17:31:45 -08:00
Christopher Jeffrey
ef1244442f check for network on fromJSON. 2015-12-09 16:32:01 -08:00
Christopher Jeffrey
57491aaadc add network.js and testnet support. see #40. 2015-12-09 16:25:55 -08:00
Christopher Jeffrey
26035c3b41 minor fix for disabled op_eval. 2015-12-09 14:40:40 -08:00
Christopher Jeffrey
f9186d785a ensure p2sh inputs have only push ops (do the same for raw multisig?). 2015-12-09 14:35:47 -08:00
Christopher Jeffrey
72d9a93773 fix and test if statements. fix comparisons. 2015-12-09 14:35:23 -08:00
Christopher Jeffrey
690fe7163a better handling of [] when it is OP_0. 2015-12-09 12:42:45 -08:00
Christopher Jeffrey
2fd1d171f2 handle op_1negate. 2015-12-09 12:15:02 -08:00
Christopher Jeffrey
79a594716a reorder opcode handlers. move op_eval (disabled). 2015-12-09 12:02:39 -08:00
Christopher Jeffrey
d45350ede9 refactor script.execute order of opcodes. 2015-12-09 12:00:35 -08:00
Christopher Jeffrey
e605fe5388 whitespace. 2015-12-09 11:57:54 -08:00
Christopher Jeffrey
2412c0999b potential tx.verify fix. 2015-12-09 11:56:08 -08:00
Christopher Jeffrey
a0a391e89e add if/notif/else/endif opcodes. 2015-12-09 11:55:05 -08:00
Christopher Jeffrey
d1ac6e914d refactor script.execute. 2015-12-09 10:57:18 -08:00
Christopher Jeffrey
c869578009 script: cleanup. 2015-12-09 10:44:44 -08:00
Christopher Jeffrey
89f2a0dcc3 formatting. make use of helpers in hd. 2015-12-09 10:40:33 -08:00
Christopher Jeffrey
8a33f2efa1 add getFullPublicKey/getOwnPublicKey and use appropriately. 2015-12-08 19:42:12 -08:00
Christopher Jeffrey
71ea61e467 update elliptic. remove ec.curve.n workaround. 2015-12-08 17:34:36 -08:00
Christopher Jeffrey
22e092d6b8 fix and test hd keys. 2015-12-08 16:36:47 -08:00
Christopher Jeffrey
e4cfa878f1 multisig options. 2015-12-08 15:02:32 -08:00
Christopher Jeffrey
5f8ad78e4d have tx.verify handle p2sh correctly. 2015-12-08 14:54:21 -08:00
Christopher Jeffrey
a9a9cf0879 add more opcodes to script.execute. handle codesep properly. 2015-12-08 14:06:10 -08:00
Christopher Jeffrey
fd7d20be9c enforce strict ordering with checkmultisig. 2015-12-08 11:46:14 -08:00
Christopher Jeffrey
3c0bf360e2 add bip66 strict der sig checking. 2015-12-08 11:35:42 -08:00
Christopher Jeffrey
adbb0099a1 add checklocktimeverify. pass in tx and input to execute() instead of using hasher callback. 2015-12-08 11:24:22 -08:00
Christopher Jeffrey
7016991366 order keys and signatures for multisig correctly. 2015-12-07 19:18:37 -08:00
Christopher Jeffrey
77623bb8d6 remove useless code. 2015-12-07 16:34:44 -08:00
Christopher Jeffrey
58d8881e46 add hd tests. 2015-12-07 16:17:09 -08:00
Christopher Jeffrey
a1fea2bd65 scriptOutput: move "p2shify". 2015-12-07 15:55:31 -08:00
Christopher Jeffrey
37e1c8a2ef formatting changes. 2015-12-07 15:51:15 -08:00
Christopher Jeffrey
b1e7cde3dd improve script functionality and usage. 2015-12-07 15:39:18 -08:00
Christopher Jeffrey
cf20326e98 verify sighash types other than all. 2015-12-07 14:22:25 -08:00
Christopher Jeffrey
1804acc77c tests passing. 2015-12-07 14:02:25 -08:00
Christopher Jeffrey
3d9d6be23c use this.m for nsigs. 2015-12-07 11:04:23 -08:00
Christopher Jeffrey
9241a6660e remove old wallet.fill and wallet.sign. 2015-12-07 11:02:50 -08:00
Christopher Jeffrey
d7bc48fc2e move wallet.fill to tx object. 2015-12-07 11:00:58 -08:00
Christopher Jeffrey
ae394fad11 improve tx.maxSize for p2sh and multisig. 2015-12-05 20:54:18 -08:00
Christopher Jeffrey
6295642f20 remove useless if statement. 2015-12-05 20:23:33 -08:00
Christopher Jeffrey
4f76b9f18c fix scriptInput/signInput for multisig/p2sh. 2015-12-05 19:02:44 -08:00
Christopher Jeffrey
db0da78ae5 only start calculating startHeight and locatorHashes after chain load. 2015-12-05 18:34:18 -08:00
Christopher Jeffrey
3f2d53b414 hd.js: workaround for latest bn.js. 2015-12-05 18:19:52 -08:00
Christopher Jeffrey
c96a12bf2e fix validateAddress. cleanup. 2015-12-05 04:59:18 -08:00
Christopher Jeffrey
46a5ca7500 minor fix for wallet.fill. 2015-12-05 04:18:21 -08:00
Christopher Jeffrey
916fca9c2f update hash.js. use for sha512-hmacs. 2015-12-05 04:16:41 -08:00
Christopher Jeffrey
40fca0dda8 remove noSign and getChange for now. 2015-12-05 03:55:08 -08:00
Christopher Jeffrey
a2f13d94c3 fix address problems. update elliptic to 3.0.3. 2015-12-05 03:40:11 -08:00
Christopher Jeffrey
505aad8729 improve/fix p2sh. move input signing functionality to tx object. 2015-12-05 03:01:37 -08:00
Christopher Jeffrey
377e156874 fix m, n, publicKeys in wallet constructor. 2015-12-05 01:03:51 -08:00
Christopher Jeffrey
1e10b83acf fix redeem script push in wallet. 2015-12-05 00:50:19 -08:00
Christopher Jeffrey
1d210589c5 comments explaining signing logic. 2015-12-05 00:02:23 -08:00
Christopher Jeffrey
acbe4d0c2e remove wallet.signEmpty and tx.signature for now. 2015-12-05 00:01:59 -08:00
Christopher Jeffrey
c8e04d8552 comments 2015-12-04 23:16:02 -08:00
Christopher Jeffrey
87eea1e398 fixes and minor style changes 2015-12-04 22:50:13 -08:00
Christopher Jeffrey
ea9af49f4b hd and p2sh 2015-12-04 18:01:31 -08:00
Christopher Jeffrey
3bfd10d0d0 work 2015-12-01 22:59:26 -08:00
Christopher Jeffrey
fcc9d661c1 satoshi: fix blockchain download. 2015-11-30 18:15:57 -08:00
Christopher Jeffrey
feda74523f peer/pool: add origin satoshi protocol. 2015-11-30 12:36:39 -08:00
Christopher Jeffrey
a6584ae821 script: max length. chain: deadbeef fix. 2015-11-30 12:36:06 -08:00
Stanislas Marion
b76f33047e script: .isScripthash(s)/.isNullData(s) 2014-12-19 08:04:07 +07:00
Stanislas Marion
70608ae2a3 parser: put the exact raw data in tx._raw 2014-11-25 18:44:45 +03:00
Stanislas Marion
7655ad12c7 script: encode/decode op1-16 as single numbers
fix #33
2014-11-17 15:06:37 +03:00
Christopher Jeffrey
4e7dbae829 fix: minor fixes to block framer and block. 2014-06-24 01:08:44 -05:00
Christopher Jeffrey
73ea21a903 minor: style - move block json functions to bottom of the file. 2014-06-24 00:59:39 -05:00
Christopher Jeffrey
5e3e72ba4c minor: more style concerns. 2014-06-24 00:57:46 -05:00
Christopher Jeffrey
6072fe7afd minor: remove commented code. style concerns. 2014-06-24 00:45:18 -05:00
Christopher Jeffrey
c6bafbcb48 fix: ensure user agent is less than 0xfd in length. we can assume the varint is 1 byte. 2014-06-24 00:43:37 -05:00
Christopher Jeffrey
6a03b30ddf fix: allow ownOutputs as orphans - fixes failing test. see #27. 2014-06-16 22:46:58 -05:00
Christopher Jeffrey
2e14fe1780 fix tx-pool unspent output handling. fixes #26. 2014-06-16 18:55:04 -05:00
Christopher Jeffrey
3a7b20ddee minor: if statement style. 2014-06-12 17:09:57 -05:00
Christopher Jeffrey
9442920e73 wallet: improve ownInput and ownOutput. 2014-06-12 02:55:53 -05:00
Christopher Jeffrey
dbd3b5025a tx-pool: handle noWrite better. update tx.block along with tx.ts. 2014-06-11 18:45:34 -05:00
Christopher Jeffrey
96e1cbb0e1 pool: emit peer in tx broadcast. 2014-06-11 18:43:50 -05:00
Christopher Jeffrey
2697d37753 Merge pull request #25 from indutny/peer-events
Peer events
2014-06-07 03:48:43 -05:00
Christopher Jeffrey
9363aff634 pool: pass peer in through error events...again. 2014-06-07 03:40:42 -05:00
Christopher Jeffrey
d577b7cbd3 pool: pass peer in through error events. 2014-06-07 03:39:05 -05:00
Christopher Jeffrey
7b928f079c utils: improve nextTick. 2014-06-06 16:23:26 -05:00
Christopher Jeffrey
eadb7a50c7 pool: add version and peer events for peers. 2014-06-06 16:20:50 -05:00
Christopher Jeffrey
005c11e967 parser: fix version parsing. check user agent in tests. 2014-06-06 15:47:29 -05:00
Christopher Jeffrey
ac8905bf3d fix: wallet.sign return value. 2014-06-06 14:54:02 -05:00
Christopher Jeffrey
ac60920f98 fix: keep track of the input index better for subscript hashing. 2014-06-06 12:29:36 -05:00
Christopher Jeffrey
11b56e32d7 fix: do not throw on destroyed peers. 2014-06-06 06:37:47 -05:00
Christopher Jeffrey
28abd09845 wallet: allow inputs and offset to be passed into wallet.sign. 2014-06-06 03:10:21 -05:00
Christopher Jeffrey
5a67c56b00 Merge pull request #23 from chjj/block-size
parser: fix minimum block size.
2014-06-03 09:56:56 -05:00
Christopher Jeffrey
4dd8a54501 framer: another style fix. 2014-06-03 09:46:19 -05:00
Christopher Jeffrey
841bf86d7d block: fix for style conventions. 2014-06-03 09:45:53 -05:00
Christopher Jeffrey
566b2e9916 parser: fix minimum block size. 2014-06-02 03:14:44 -05:00
Christopher Jeffrey
8d6c438e3d pool: stop throwing uncatchable errors on parser errors. 2014-06-02 02:29:15 -05:00
Christopher Jeffrey
2b88192562 chain: fix fill percent. 2014-05-26 19:19:14 -05:00
Fedor Indutny
013a85c6a5 Merge pull request #16 from chjj/version-packet
Version packet
2014-05-26 22:12:36 +04:00
Christopher Jeffrey
1b88b355ac chain: add a cacheLimit option to chain. 2014-05-26 12:53:47 -05:00
Christopher Jeffrey
7e38e4de7c pool: change pool.options.satoshi to pool.options.relay. 2014-05-26 12:43:41 -05:00
Christopher Jeffrey
a3b923ae76 peer: have updateWatch getblocks instead of filterload for the satoshi option. 2014-05-26 05:12:56 -05:00
Christopher Jeffrey
024350dbe4 peer/pool: improve handleInv. improve addPeer. 2014-05-26 04:03:23 -05:00
Christopher Jeffrey
6d2c1bd9f1 framer: fix undefined var typo. 2014-05-25 08:02:33 -05:00
Christopher Jeffrey
8546cc7e33 block: fix timestamp check...again. 2014-05-24 18:06:52 -05:00
Christopher Jeffrey
1052b7361c block: fix timestamp check in checkBlock. 2014-05-24 18:05:31 -05:00
Christopher Jeffrey
c1fbab35e1 block: remove some unused code from checkBlock. 2014-05-24 13:44:10 -05:00
Christopher Jeffrey
9dc0063ea9 test/parser: add version test for height and relay / fix typo. 2014-05-24 02:16:59 -05:00
Christopher Jeffrey
24d9b2b2d8 pool: allow sending filterload to peers without an id to add to the bloom filter. 2014-05-24 02:16:59 -05:00
Christopher Jeffrey
a5f20114e8 framer: version packet options, relay and height. 2014-05-24 02:16:59 -05:00
Christopher Jeffrey
2d7599d2d3 block: use utils.dsha256 instead of hash.js for merkle tree building. 2014-05-24 01:19:32 -05:00
Christopher Jeffrey
60a9e556f8 framer: frame regular blocks with transactions correctly. 2014-05-23 23:27:54 -05:00
Christopher Jeffrey
e3e324441b block: improve performance of duplicate tx check. 2014-05-23 23:13:16 -05:00
Christopher Jeffrey
44774e7c6b block: follow the behavior of bitcoind's CheckBlock(). 2014-05-23 23:12:46 -05:00
Christopher Jeffrey
e66f2f50bf block: build merkleTree to verify merkleRoot on regular blocks. 2014-05-23 23:08:59 -05:00
Christopher Jeffrey
7de6964628 allow usage of the original non-spv pre BIP-37 satoshi protocol. 2014-05-23 10:56:02 -05:00
Christopher Jeffrey
f4dbc0ee33 parser: parse transactions in regular blocks. 2014-05-23 10:05:46 -05:00
Christopher Jeffrey
faca3454b2 framer: fix array length, assuming user-agent is below 0xfd in length.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-23 14:39:51 +04:00
Christopher Jeffrey
9981835df4 framer: includer user-agent in version packet.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-23 14:35:22 +04:00
Christopher Jeffrey
793fed1974 framer: refactor.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:20 +04:00
Christopher Jeffrey
44fab2b58a peer: handle address timestamp better.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:20 +04:00
Christopher Jeffrey
a0c2f66169 peer: fix handleGetAddr. fix addr test.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:20 +04:00
Christopher Jeffrey
0b188640ec util: use regular loop constructs for u64 writes.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:20 +04:00
Christopher Jeffrey
2aabef9a6d getaddr: fix framer. add addr to protocol-test.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:19 +04:00
Christopher Jeffrey
615292de46 util: style changes.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:19 +04:00
Christopher Jeffrey
84b53a049d util: perhaps a more clever way of U64 writes using bn.js.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:19 +04:00
Christopher Jeffrey
ca2609b7e7 util: bignum - use toArray instead of +toString.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:19 +04:00
Christopher Jeffrey
d1853b2e52 util: simplify 64bit writes using bn.js.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:19 +04:00
Christopher Jeffrey
5ee3fbcf72 util: properly utilize bn.js.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:19 +04:00
Christopher Jeffrey
9bec16ca49 peer: minor style fix.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:19 +04:00
Christopher Jeffrey
29746b5164 utils: add simple utils.isIP in place of net.isIP.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:18 +04:00
Christopher Jeffrey
2edfdd8b36 peer: style fixes.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:18 +04:00
Christopher Jeffrey
5c5762a000 framer: fix 32 and 64 bit support for varint().
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:18 +04:00
Christopher Jeffrey
e89eb925e6 framer: use varint function for addr packet.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:18 +04:00
Christopher Jeffrey
6e8b03df96 peer: keep ips as arrays.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:18 +04:00
Christopher Jeffrey
aa383b984e peer: take into account omitted zeros for ipv6 addresses.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:18 +04:00
Christopher Jeffrey
e9ec9a5f0c peer: fix potential error.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:18 +04:00
Christopher Jeffrey
b2c4af302d peer: remove _getOwnIP.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:17 +04:00
Christopher Jeffrey
d0b14008d0 peer: implement response to getaddr.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-20 13:36:17 +04:00
Christopher Jeffrey
d617edf3ab chain: fix undefined var in storage.del call.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-19 12:13:15 +04:00
Christopher Jeffrey
db69c882f2 block: add block tests. frame correct version for blocks.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-19 00:21:41 +04:00
Christopher Jeffrey
745473784f block: style concerns. fix type variable.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-19 00:21:41 +04:00
Christopher Jeffrey
810e4f5ea7 block: add toJSON and fromJSON to Block.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-19 00:21:41 +04:00
Christopher Jeffrey
f3c9ebd9a5 framer: fix block framing.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-18 21:00:56 +04:00
Christopher Jeffrey
6d9c150134 framer: fix typo.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-18 21:00:56 +04:00
Christopher Jeffrey
e04931026c block: add block subtype - block or merkleblock.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-18 21:00:56 +04:00
Christopher Jeffrey
2b5f8693bf framer: add tx, block, and merkleblock packet sending to the framer.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-18 21:00:56 +04:00
Christopher Jeffrey
3998146046 block: avoid error by ensuring hashes and flags for non-merkleblocks.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-18 21:00:55 +04:00
Christopher Jeffrey
296f95b27b tx: fix global variable assignment.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-18 21:00:55 +04:00
Christopher Jeffrey
4894f6965f peer: txs event - only emit hashes to mimic blocks event.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-18 18:09:41 +04:00
Christopher Jeffrey
2ab9334b4b pool: when proxying peer->pool events. pass peer as the 2nd arg.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-18 18:09:41 +04:00
Christopher Jeffrey
01409b34af pool: emit blocks and txs event on pool.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-18 18:09:40 +04:00
Christopher Jeffrey
b041d3ae99 chain: misc fixes.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-18 18:09:40 +04:00
Christopher Jeffrey
d331cfbb9e fix: take into account var_int for addr. move to parser.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-17 21:03:51 +04:00
lms
67298c60e0 peer: socket -> createSocket parameter
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-16 01:28:59 +04:00
Christopher Jeffrey
24779fb398 peer/pool: emit addr event on pool. refactor addr handler.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-16 01:28:17 +04:00
Christopher Jeffrey
b2ee0891a1 peer: remove useless map call.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-16 01:28:17 +04:00
Fedor Indutny
c69660d81d pool: fix relay of pending TX 2014-05-15 15:08:33 +04:00
Fedor Indutny
abf34321f6 wallet: fix .loaded without storage 2014-05-15 13:31:56 +04:00
Fedor Indutny
2365e10d9b pool: support adding and removing wallets 2014-05-15 12:56:19 +04:00
Fedor Indutny
7e72a4d79d utils: toBTC() 2014-05-15 02:59:07 +04:00
Christopher Jeffrey
e76bed360f peer: handle addr packet.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-15 00:55:45 +04:00
Christopher Jeffrey
d5f29c37b4 script: fix undefined error.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
2014-05-15 00:31:10 +04:00
Fedor Indutny
b425cb4639 pool: proper backoff 2014-05-14 19:24:28 +04:00
Fedor Indutny
a672b955c9 pool: fix search 2014-05-14 16:27:59 +04:00
Fedor Indutny
8535fa6fa7 lib: searialize searches 2014-05-14 15:01:37 +04:00
lms
9ed4f0f4df remove global (not that it matters but looks prettier in my emacs) 2014-05-13 21:25:30 +02:00
Fedor Indutny
f7300fb979 peer: backoff randomly to not spin on reconnect 2014-05-13 15:13:52 +04:00
Fedor Indutny
2a6048f104 wallet: emit updates with tx 2014-05-13 01:11:33 +04:00
Fedor Indutny
3b2fd8e168 parser: support Uint8Array's 2014-05-12 20:54:51 +04:00
Fedor Indutny
516b64f0cb pool: add .isFull() 2014-05-12 16:32:57 +04:00
Fedor Indutny
3fe7d097ec parser: make sure to not fail synchronously 2014-05-12 13:04:52 +04:00
Fedor Indutny
dfdc69aa3a lib: remove heavy modules 2014-05-11 14:27:05 +04:00
Fedor Indutny
ee9b9cf0e2 wallet: asyncify .fill() 2014-05-11 11:47:00 +04:00
Fedor Indutny
6d99072caf pool: fix finalization 2014-05-11 11:42:48 +04:00
Fedor Indutny
3ef7008a32 wallet: make .fill() throw 2014-05-11 02:41:00 +04:00
Fedor Indutny
2c36c8692a wallet: .fill() 2014-05-11 01:43:20 +04:00
Fedor Indutny
8cd092dc2e lib: fix chain.isFull() 2014-05-10 23:35:22 +04:00
Fedor Indutny
a7880de752 tx-pool: fix update event 2014-05-10 23:18:16 +04:00
Fedor Indutny
755f3fd13c utils: fix revHex 2014-05-10 22:47:54 +04:00
Fedor Indutny
ee9037e19a lib: jshint 2014-05-10 22:43:15 +04:00
Fedor Indutny
4415f978a6 chain: kill forks :) 2014-05-10 22:31:51 +04:00
Fedor Indutny
2f2b6a9aa7 preload: fix indexes 2014-05-10 21:52:41 +04:00
Fedor Indutny
7a2c8a933f chain: set height properly 2014-05-10 20:32:37 +04:00
Fedor Indutny
169be71d79 tx: store as JSON 2014-05-10 20:22:35 +04:00
Fedor Indutny
e716f4eb00 tx-pool: fix ps check 2014-05-10 19:50:25 +04:00
Fedor Indutny
4b6eeeea66 tx-pool: ignore and remove stale transactions 2014-05-10 19:47:30 +04:00
Fedor Indutny
d49b04158f block: validate partial merkle tree 2014-05-10 19:45:03 +04:00
Fedor Indutny
50ed590c30 tx: .inputAddrs() 2014-05-10 13:04:22 +04:00
Fedor Indutny
2e3fb9a7a3 tx-pool: verify all signatures 2014-05-10 12:28:49 +04:00
Fedor Indutny
86088f8ae9 tx-pool: ignore invalid orphans 2014-05-10 11:41:27 +04:00
Fedor Indutny
0efe2e2021 script: fix verification of multisig 2014-05-10 10:39:20 +04:00
Fedor Indutny
2c5a622a66 pool: emit 'full' faster 2014-05-10 02:51:49 +04:00
Fedor Indutny
7a8d6a1018 pool: add block to chain after _response() 2014-05-10 02:05:37 +04:00
Fedor Indutny
2ee4c7cd3a tx-pool: save spending TXs 2014-05-09 21:30:55 +04:00
Fedor Indutny
cf2e0042ff tx: .maxSize() method 2014-05-09 15:51:58 +04:00
Fedor Indutny
17d0903a35 wallet: emit all added TXs 2014-05-09 15:28:26 +04:00
Fedor Indutny
af993dc66b tx-pool: emit updates only at end of .add() 2014-05-09 15:13:20 +04:00
Fedor Indutny
d4f11676c7 tx: encode as hex 2014-05-09 15:00:50 +04:00
Fedor Indutny
90ea2e24d1 wallet: .pending() 2014-05-09 14:03:00 +04:00
Fedor Indutny
26516085f2 lib: update bn.js and elliptic 2014-05-09 03:53:57 +04:00
Fedor Indutny
048bca0b8a wallet: store timestamp of transactions 2014-05-08 20:25:12 +04:00
Fedor Indutny
292da0625e chain: fixes 2014-05-08 17:47:51 +04:00
Fedor Indutny
8043be6e40 pool: make some functions asynchronous 2014-05-08 16:28:45 +04:00
Fedor Indutny
5c103aeb6c chain: storage support 2014-05-08 14:32:47 +04:00
Fedor Indutny
688b16eb98 wallet: preliminary storage support 2014-05-08 14:09:11 +04:00
Fedor Indutny
1d8574bdbd wallet: allow export/import without pub key 2014-05-08 13:50:11 +04:00
Fedor Indutny
a77083ce66 wallet: accept both private and public keys 2014-05-07 20:11:27 +04:00
Fedor Indutny
f9dc43eba2 chain: improvements 2014-05-07 16:54:22 +04:00
Fedor Indutny
4a2c54827b chain: better preload generation algorithm 2014-05-07 04:13:30 +04:00
Fedor Indutny
f95e8313b3 chain: prefer to keep more than less 2014-05-07 01:10:50 +04:00
Fedor Indutny
2a4553f6c5 preload: script to update 2014-05-06 22:08:38 +04:00
Fedor Indutny
a6be7bf5f7 lib: JSON serialization for everyone 2014-05-06 21:33:05 +04:00
Fedor Indutny
b98be4b388 pool: load interval 2014-05-06 20:46:20 +04:00
Fedor Indutny
762b53a011 pool: lower timeouts 2014-05-06 17:15:23 +04:00
Fedor Indutny
69f3e85e37 tx-pool: initial 2014-05-06 16:25:46 +04:00
Fedor Indutny
cdd3dbefb1 lib: use TX instead of Tx everywhere 2014-05-06 15:02:09 +04:00
Fedor Indutny
f139ce2d91 wallet: multisig signing 2014-05-06 14:58:51 +04:00
Fedor Indutny
fa48b02d96 tx: remove .inputTx() method 2014-05-06 14:06:17 +04:00
Fedor Indutny
c6eeb66f6d script: stricter isMultisig() 2014-05-06 13:58:35 +04:00
Fedor Indutny
403beca64b peer: proper reporting of reject 2014-05-06 13:42:17 +04:00
Fedor Indutny
f787590efe script: do not change inputs 2014-05-06 13:30:32 +04:00
Fedor Indutny
7f0ea92a43 peer: improvements 2014-05-06 00:55:24 +04:00
Fedor Indutny
fb651d703e wallet: use compressed public key 2014-05-05 17:39:22 +04:00
Fedor Indutny
62d9af1194 parser: parse reject 2014-05-05 16:52:17 +04:00
Fedor Indutny
4328d7c3ec wip 2014-05-05 13:46:29 +04:00
Fedor Indutny
c5d7d7f5f2 tx: test verification 2014-05-05 04:42:12 +04:00
Fedor Indutny
113e7dcdc3 tx: fix verification 2014-05-05 04:30:39 +04:00
Fedor Indutny
9fd54758a2 tx: wip sign/verify 2014-05-05 03:14:31 +04:00
Fedor Indutny
471a78b0fa wallet: wip sign 2014-05-05 01:58:48 +04:00
Fedor Indutny
458e606359 wip 2014-05-04 23:24:32 +04:00
Fedor Indutny
6fd7173c89 wip 2014-05-04 00:48:43 +04:00
Fedor Indutny
f185574442 lib: save progress 2014-05-03 23:55:38 +04:00
Fedor Indutny
40ea4d1fb1 tx: parse 2014-05-03 17:46:15 +04:00
Fedor Indutny
cd3f04268a block: verify 2014-05-03 16:51:16 +04:00
Fedor Indutny
1ac3208360 pool: refactor, make search work! 2014-05-03 16:11:06 +04:00
Fedor Indutny
0eecb94b3f pool: save progress 2014-05-02 18:22:06 +04:00
Fedor Indutny
b3c6eb06bc chain: fix requesting known blocks 2014-05-02 15:00:31 +04:00
Fedor Indutny
c3239b7f36 chain: preload and get 2014-05-02 14:50:21 +04:00
Fedor Indutny
9e0808eb39 pool: wip 2014-05-02 13:40:59 +04:00
Fedor Indutny
6e3cd9da85 pool: wip 2014-05-02 02:27:58 +04:00
Fedor Indutny
c71258103b pool: wip 2014-05-02 00:08:07 +04:00
Fedor Indutny
1432608813 poll: wip 2014-05-01 22:43:38 +04:00
Fedor Indutny
98bf123f5d chain: do not create duplicate orphans 2014-05-01 02:31:42 +04:00
Fedor Indutny
6cb1594424 lib: save progress 2014-04-30 21:45:55 +04:00
Fedor Indutny
a20cb1688f wip 2014-04-30 12:44:59 +04:00
Fedor Indutny
106d243873 parser: fix slicing 2014-04-28 19:57:40 +04:00
Fedor Indutny
b6a572f0c0 lib: protocol initial 2014-04-28 17:43:13 +04:00
Fedor Indutny
8a3c9d2dcd initial 2014-04-28 17:12:26 +04:00