Commit Graph

259 Commits

Author SHA1 Message Date
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
077588e90a fix script.args. 2016-01-14 01:34:40 -08:00
Christopher Jeffrey
f8ec64d46f do not throw on empty stack. 2016-01-13 20:20:18 -08:00
Christopher Jeffrey
a71da261ad handle low S values in signatures. 2016-01-12 20:26:11 -08:00
Christopher Jeffrey
645a3a59b2 minor. recover keys for isMultisig? 2016-01-12 02:08:07 -08:00
Christopher Jeffrey
fdc72b2062 let isMultisig handle m and n validation. 2016-01-12 01:13:22 -08:00
Christopher Jeffrey
f420b41907 improve script.isMultisig. 2016-01-11 23:58:43 -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
6f86ca2d02 add utils.isBytes. 2016-01-11 01:07:05 -08:00
Christopher Jeffrey
9c2b0015d1 checkmultisig fixes. misc. 2016-01-11 00:40:16 -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
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
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
3625a4f4c9 minor fixes. 2015-12-30 14:34:16 -08:00
Christopher Jeffrey
67d1405c15 handle compact mantissa numbers. 2015-12-29 13:13:51 -08:00
Christopher Jeffrey
afcb89f76f block and tx getters. coinbase height. multisig input test. 2015-12-24 13:19:29 -08:00
Christopher Jeffrey
389ee296b0 improve tx building. minor style fixes. utils.uniq. 2015-12-23 16:24:29 -08:00
Christopher Jeffrey
d32a951f37 fix isMultisig: compare to n value. 2015-12-23 11:45:43 -08:00
Christopher Jeffrey
2299ee757e minor refactor. 2015-12-23 11:35:57 -08:00
Christopher Jeffrey
fdc11b76b2 start checking for height coinbases earlier. 2015-12-23 04:44:21 -08:00
Christopher Jeffrey
58d8e3ce53 fix coinbase parsing. 2015-12-23 04:14:51 -08:00
Christopher Jeffrey
b3f457ee31 improve locktime checks and coinbase parsing. 2015-12-23 02:34:51 -08:00
Christopher Jeffrey
3d417f48df improve coinbase height check. 2015-12-22 20:07:20 -08:00
Christopher Jeffrey
618177b6a6 grab block height from the coinbase script. 2015-12-22 19:30:32 -08:00
Christopher Jeffrey
07a1322749 inspect methods. better data parsing. expose modules. 2015-12-22 19:27:36 -08:00
Christopher Jeffrey
1c8604477f improve script type tests. improve input/output data. 2015-12-22 14:50:07 -08:00
Christopher Jeffrey
500f079632 fix script arithmetic, op_verify, and wallet.fillUnspent. 2015-12-21 11:26: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
61699cca3a style: function names. 2015-12-19 15:43:28 -08:00
Christopher Jeffrey
0aff6d7cfe improve script.isValidSig. 2015-12-19 15:26:26 -08:00
Christopher Jeffrey
2e7892c798 use keyPair() in script.verify. whitespace. 2015-12-19 15:24:19 -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
283157dd71 add allowEval option. 2015-12-18 17:56:06 -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
5791672c07 pass _network to tx. script debugging. tx filled total. 2015-12-18 13:01:23 -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
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
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
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
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
26035c3b41 minor fix for disabled op_eval. 2015-12-09 14:40:40 -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
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
8a33f2efa1 add getFullPublicKey/getOwnPublicKey and use appropriately. 2015-12-08 19:42:12 -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
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
505aad8729 improve/fix p2sh. move input signing functionality to tx object. 2015-12-05 03:01:37 -08:00
Christopher Jeffrey
ea9af49f4b hd and p2sh 2015-12-04 18:01:31 -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
7655ad12c7 script: encode/decode op1-16 as single numbers
fix #33
2014-11-17 15:06:37 +03:00
Christopher Jeffrey
9442920e73 wallet: improve ownInput and ownOutput. 2014-06-12 02:55:53 -05: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
ee9037e19a lib: jshint 2014-05-10 22:43:15 +04:00
Fedor Indutny
50ed590c30 tx: .inputAddrs() 2014-05-10 13:04:22 +04:00
Fedor Indutny
0efe2e2021 script: fix verification of multisig 2014-05-10 10:39:20 +04:00
Fedor Indutny
f139ce2d91 wallet: multisig signing 2014-05-06 14:58:51 +04:00
Fedor Indutny
c6eeb66f6d script: stricter isMultisig() 2014-05-06 13:58:35 +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
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
458e606359 wip 2014-05-04 23:24:32 +04:00
Fedor Indutny
40ea4d1fb1 tx: parse 2014-05-03 17:46:15 +04:00