Commit Graph

296 Commits

Author SHA1 Message Date
Christopher Jeffrey
032db24c41 typo 2016-02-19 21:17:05 -08:00
Christopher Jeffrey
050d801849 standardness. chain. pool. 2016-02-18 15:26:03 -08:00
Christopher Jeffrey
4b672d6337 fix sigops counting. 2016-02-18 01:45:47 -08:00
Christopher Jeffrey
5d9f106e2a event based system for chain error handling. 2016-02-17 15:30:33 -08:00
Christopher Jeffrey
f17575f864 queue 2016-02-17 02:53:43 -08:00
Christopher Jeffrey
7b14c3b72b debugging. 2016-02-17 00:14:25 -08:00
Christopher Jeffrey
d0d0378f3e queue. fixes. 2016-02-16 21:01:31 -08:00
Christopher Jeffrey
997f0acbb0 more refactoring. 2016-02-16 16:13:34 -08:00
Christopher Jeffrey
fe46d1ada5 contextual verification. misc. 2016-02-16 13:45:02 -08:00
Christopher Jeffrey
299126225c blockdb cleanup. 2016-02-15 01:50:29 -08:00
Christopher Jeffrey
7175f81d59 fullnode 2016-02-14 18:05:37 -08:00
Christopher Jeffrey
bfd570e204 coin selection. misc. 2016-02-12 04:24:35 -08:00
Christopher Jeffrey
697718c940 drop fee recalculation. 2016-02-12 04:04:18 -08:00
Christopher Jeffrey
016c85f8b5 fill refactor. accurate fee calculation. 2016-02-12 03:54:02 -08:00
Christopher Jeffrey
c4818c4bc8 add subtract fee option. 2016-02-12 02:44:11 -08:00
Christopher Jeffrey
686dcbcdd9 minor fixes. 2016-02-12 01:20:05 -08:00
Christopher Jeffrey
158a35881c add address.getType. 2016-02-11 02:00:54 -08:00
Christopher Jeffrey
4a6c73fc8e refactor signing. 2016-02-11 01:29:35 -08:00
Christopher Jeffrey
25767d9273 minor fixes. 2016-02-10 21:22:28 -08:00
Christopher Jeffrey
6cc4c866dc wallet refactor. fixes. 2016-02-10 16:42:02 -08:00
Christopher Jeffrey
17e25804de better preload. misc fixes. 2016-02-09 00:07:38 -08:00
Christopher Jeffrey
7d17dd855f utils.cmp. tx-pool improvements. 2016-02-07 06:39:58 -08:00
Christopher Jeffrey
bad5250983 serialization formats. 2016-02-07 03:36:07 -08:00
Christopher Jeffrey
2ec7989b6a no more dynamic heights. 2016-02-06 21:51:38 -08:00
Christopher Jeffrey
1761266ba9 improve tx-pool. 2016-02-06 19:10:40 -08:00
Christopher Jeffrey
7bb20437bc refactor tx instantiation. 2016-02-06 17:12:16 -08:00
Christopher Jeffrey
769b50c999 rename output.prev to coin. 2016-02-06 16:16:02 -08:00
Christopher Jeffrey
274c6e6864 use utxo object instead of tx refs. 2016-02-06 04:54:38 -08:00
Christopher Jeffrey
26f1e44eb3 saner _addInput. 2016-02-06 01:07:26 -08:00
Christopher Jeffrey
18f0a55779 refactor tx. 2016-02-05 22:46:04 -08:00
Christopher Jeffrey
84551e17e2 paths. scanning. unspents. 2016-02-05 03:44:42 -08:00
Christopher Jeffrey
e0ab0ab88d minor changes/fixes. 2016-02-03 02:09:03 -08:00
Christopher Jeffrey
3158f57e0f fix tx.render() and avoidFeeSnipping(). 2016-02-02 20:28:35 -08:00
Christopher Jeffrey
13d14b0130 tx: add bip69 sorting. 2016-02-02 17:57:38 -08:00
Christopher Jeffrey
2deccde29e wallet work. consistency. 2016-02-02 16:09:48 -08:00
Christopher Jeffrey
156601e40a createTX. hd fixes. 2016-02-02 02:50:36 -08:00
Christopher Jeffrey
42e17bc0f2 rewrite wallet. allow multiple addresses. utilize hd. 2016-02-01 21:37:06 -08:00
Christopher Jeffrey
f9d960ca23 api: more method renames. legacy support. docs. 2016-02-01 11:57:40 -08:00
Christopher Jeffrey
6ad621cace api: rename methods, properties. add legacy support. 2016-02-01 11:50:09 -08:00
Christopher Jeffrey
b0ee614432 misc sync fixes. 2016-01-31 00:50:13 -08:00
Christopher Jeffrey
ef3f8f37db no priority on inspection. 2016-01-29 12:45:05 -08:00
Christopher Jeffrey
30ad543c31 more docs. rename some functions. 2016-01-29 11:33:00 -08:00
Christopher Jeffrey
07ddae9d33 misc fixes and improvements. 2016-01-27 19:43:24 -08:00
Christopher Jeffrey
e7d0ea81f9 block and tx methods. 2016-01-24 16:01:29 -08:00
Christopher Jeffrey
704c95c90d add tx.getPriority and tx.isFree. 2016-01-20 12:31:47 -08:00
Christopher Jeffrey
5e00e42903 better nonstandard signing. 2016-01-19 16:12:30 -08:00
Christopher Jeffrey
1258cbbbd4 fix input/output calls. 2016-01-19 15:58:12 -08:00
Christopher Jeffrey
ebbb417283 more script data extraction improvements. 2016-01-19 15:53:00 -08:00
Christopher Jeffrey
b389dd1b5f better key and sig parsing for scripts. 2016-01-19 14:18:46 -08:00
Christopher Jeffrey
c8da41aa9d toJSON fixes. 2016-01-18 17:12:20 -08:00
Christopher Jeffrey
f5a63563e3 rename unspent. 2016-01-18 12:48:43 -08:00
Christopher Jeffrey
220b09bc67 fix unspent property. 2016-01-18 12:47:32 -08:00
Christopher Jeffrey
1d5e3ca27e add tx.setLockTime and tx.increaseFee (rbf). 2016-01-18 12:40:41 -08:00
Christopher Jeffrey
9011fcc25e stricter script standards. work on tx. 2016-01-18 01:52:18 -08:00
Christopher Jeffrey
575843acef work on chain. check for low der sigs. 2016-01-17 19:57:34 -08:00
Christopher Jeffrey
3745577837 standard opcodes. remove tx methods. 2016-01-17 15:52:09 -08:00
Christopher Jeffrey
6f4609792f regtest support. tx methods. 2016-01-16 23:48:18 -08:00
Christopher Jeffrey
b9041a0157 sign unknown txs. 2016-01-16 04:50:33 -08:00
Christopher Jeffrey
b1d46206a8 script fixes. 2016-01-15 19:28:17 -08:00
Christopher Jeffrey
e5a82c7195 sighash. tx signing. testnet. 2016-01-15 15:53:57 -08:00
Christopher Jeffrey
46295b3c08 cleanup. misc. 2016-01-15 02:23:22 -08:00
Christopher Jeffrey
7854ec07d8 fix lockTime and changeIndex. 2016-01-14 18:16:49 -08:00
Christopher Jeffrey
0ba31eeb59 better script conformance. 2016-01-14 15:58:22 -08:00
Christopher Jeffrey
282639b5b1 script standardness. 2016-01-14 11:45:33 -08:00
Christopher Jeffrey
6154b1f7a1 improve tx verification. 2016-01-14 01:18:31 -08:00
Christopher Jeffrey
ef59dae1b5 simplify tbsHash. 2016-01-14 01:04:11 -08:00
Christopher Jeffrey
8f037ea430 tx: add tbsHash method. 2016-01-14 00:57:55 -08:00
Christopher Jeffrey
018d534c47 fix anyonecanpay. 2016-01-13 20:05:25 -08:00
Christopher Jeffrey
8ade973b31 sighash work 2016-01-13 19:41:03 -08:00
Christopher Jeffrey
a71da261ad handle low S values in signatures. 2016-01-12 20:26:11 -08:00
Christopher Jeffrey
de455fa3e9 improve int functions and usage in parser and framer. 2016-01-12 18:13:32 -08:00
Christopher Jeffrey
c94457cf1f more tx refactoring. 2016-01-12 05:15:22 -08:00
Christopher Jeffrey
b147951a83 rename some variables. 2016-01-12 04:23:53 -08:00
Christopher Jeffrey
7b27f5dc9b hard fee calculation. 2016-01-12 04:08:25 -08:00
Christopher Jeffrey
3c8442b1bb improve fee calculation. 2016-01-12 03:47:12 -08:00
Christopher Jeffrey
ca03911d80 do not check for uncompressed keys for now. 2016-01-12 03:27:50 -08:00
Christopher Jeffrey
abc1f2b610 signInput should test against keys. 2016-01-12 02:55:35 -08:00
Christopher Jeffrey
fdc72b2062 let isMultisig handle m and n validation. 2016-01-12 01:13:22 -08:00
Christopher Jeffrey
24f8bc69c5 refactor pool and tx. 2016-01-11 22:15:06 -08:00
Christopher Jeffrey
b77314dd0f signature work. script function renames. add wallet.fillTX/tx.fill. 2016-01-11 15:20:44 -08:00
Christopher Jeffrey
cf5a117a3e fixes and improvements. allow arbitrary redeem scripts for wallet. 2016-01-11 00:10:31 -08:00
Christopher Jeffrey
442c984c12 improve p2sh building. change wallet key/redeem methods. 2016-01-10 21:43:52 -08:00
Christopher Jeffrey
871e36c426 tx.scriptOutput 2016-01-10 20:28:28 -08:00
Christopher Jeffrey
bf3906b4d4 more fee estimation. 2016-01-10 20:15:14 -08:00
Christopher Jeffrey
eb1a3ea6d2 transaction improvements. 2016-01-10 04:58:03 -08:00
Christopher Jeffrey
0b7ca266ee tx/script refactor and improvements. 2016-01-09 19:02:19 -08:00
Christopher Jeffrey
314c14f422 input/output consistency. misc. 2016-01-09 13:22:08 -08:00
Christopher Jeffrey
6b10fabc5f tx refactor. etc. 2016-01-08 19:27:00 -08:00
Christopher Jeffrey
d56f7a3733 even more bufffer work. 2016-01-08 04:11:46 -08:00
Christopher Jeffrey
465b23013d temporarily use buffers. coinbase fixes. script/tx fixes. 2016-01-08 03:34:55 -08:00
Christopher Jeffrey
df420a4a8b refactor. work. 2016-01-08 02:22:35 -08:00
Christopher Jeffrey
8d120a4fd6 more block verification. 2016-01-06 19:15:41 -08:00
Christopher Jeffrey
e1ec89fe7d sigops 2016-01-06 01:41:06 -08:00
Christopher Jeffrey
680bf01e98 add tx.isFinal. refactor chain usage. 2016-01-05 21:32:31 -08:00
Christopher Jeffrey
0f8819c78e minor fixes. refactor timestamps. 2016-01-04 04:12:26 -08:00
Christopher Jeffrey
3e5995f741 fix tx pool addition and tx verification. 2016-01-03 01:34:50 -08:00
Christopher Jeffrey
a4084d8252 more chain methods. 2016-01-01 18:32:15 -08:00
Christopher Jeffrey
3625a4f4c9 minor fixes. 2015-12-30 14:34:16 -08:00
Christopher Jeffrey
22427fe78f stop saving block height on blocks. 2015-12-29 18:35:30 -08:00
Christopher Jeffrey
43b0533a18 minor improvements and fixes. 2015-12-27 23:54:53 -08:00
Christopher Jeffrey
afcb89f76f block and tx getters. coinbase height. multisig input test. 2015-12-24 13:19:29 -08:00
Christopher Jeffrey
b14c4daee0 refactor tx.utxos(). 2015-12-23 18:31:31 -08:00
Christopher Jeffrey
389ee296b0 improve tx building. minor style fixes. utils.uniq. 2015-12-23 16:24:29 -08:00
Christopher Jeffrey
f68750991d add block.reward. add coinbase data to into. failsafe for getFee. 2015-12-23 05:33:48 -08:00
Christopher Jeffrey
2f6f3e11b1 Revert "use big numbers when calculating fee."
This reverts commit a057dc4064.
2015-12-23 02:42:57 -08:00
Christopher Jeffrey
a057dc4064 use big numbers when calculating fee. 2015-12-23 02:42:36 -08:00
Christopher Jeffrey
07a1322749 inspect methods. better data parsing. expose modules. 2015-12-22 19:27:36 -08:00
Christopher Jeffrey
b522aa2b06 handle merkleblock vs block better. 2015-12-22 15:03:17 -08:00
Christopher Jeffrey
1c8604477f improve script type tests. improve input/output data. 2015-12-22 14:50:07 -08:00
Christopher Jeffrey
d3e4dfaf5c fix some getters. move getInputData and getOutputData. wallet.toAddress. 2015-12-22 06:21:01 -08:00
Christopher Jeffrey
a17fe6fe5f use dynamic input and output objects. 2015-12-22 05:00:55 -08:00
Christopher Jeffrey
a91f245e86 add types to data. aliases for utils. 2015-12-22 04:03:15 -08:00
Christopher Jeffrey
eb6a9fc20d make data easier to extract from inputs and outputs. 2015-12-22 03:22:49 -08:00
Christopher Jeffrey
68c16b214a add rblock and rhash helpers. 2015-12-22 02:15:33 -08:00
Christopher Jeffrey
52b653083c add features potentially useful for blockchain explorers. 2015-12-21 20:00:13 -08:00
Christopher Jeffrey
87d4d4b0ad refactor script and wallet. better redeem script error. 2015-12-20 16:08:00 -08:00
Christopher Jeffrey
1db84a0528 wallet json and prefix. style. cleanup. 2015-12-20 01:43:09 -08:00
Christopher Jeffrey
6411ec8914 fix p2sh multisig verification. 2015-12-19 01:43:34 -08:00
Christopher Jeffrey
1e802c152f comments. more style consistency. 2015-12-18 22:53:31 -08:00
Christopher Jeffrey
5ece45091b style consistency. 2015-12-18 22:37:02 -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
5791672c07 pass _network to tx. script debugging. tx filled total. 2015-12-18 13:01:23 -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
5b68ec0b3e add option for colored coin output creation. 2015-12-17 17:31:37 -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
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
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
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
f9186d785a ensure p2sh inputs have only push ops (do the same for raw multisig?). 2015-12-09 14:35:47 -08:00
Christopher Jeffrey
690fe7163a better handling of [] when it is OP_0. 2015-12-09 12:42:45 -08:00
Christopher Jeffrey
2412c0999b potential tx.verify fix. 2015-12-09 11:56:08 -08:00
Christopher Jeffrey
22e092d6b8 fix and test hd keys. 2015-12-08 16:36:47 -08:00
Christopher Jeffrey
5f8ad78e4d have tx.verify handle p2sh correctly. 2015-12-08 14:54:21 -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
a1fea2bd65 scriptOutput: move "p2shify". 2015-12-07 15:55:31 -08:00