Commit Graph

969 Commits

Author SHA1 Message Date
Karel Bilek
7defe6fe4c Adding path derivation
The argument is path of either numbers or strings.

String with "'" at the end signifies hardened path.
2016-02-12 12:37:29 +01:00
Karel Bilek
4a72001335 Typechecking indexes
As a consequence, it will not allow accidentally double-hardened indexes.

It also won't allow strings or forgotten parameters.
2016-02-06 17:57:11 +01:00
Karel Bílek
fbcb478560 Adding function to decide if HDNode is public
Public === neutered. Private === not neutered
2016-02-05 20:26:23 +01:00
Ruben de Vries
7c7537fc57 use typeforce >= 1.6.2 which allows us to use typeforce.TfTypeError with a custom error message. 2016-02-02 14:04:37 +01:00
JP Richardson
682ba7e549 Merge pull request #530 from bitcoinjs/lesscomp
address: fix compiled assumption for fromOutputScript
2016-01-27 22:50:05 -06:00
Daniel Cousens
67da1b30e3 address: fix compiled assumption for fromOutputScript 2016-01-28 15:35:57 +11:00
JP Richardson
4ee194e840 Merge pull request #507 from bitcoinjs/locktime
txbuilder: add setLockTime
2016-01-27 08:29:00 -06:00
Daniel Cousens
f3913516ca Merge pull request #509 from bitcoinjs/pow
Add Block proof-of-work validation function
2016-01-28 01:00:17 +11:00
Daniel Cousens
6c0745adce TxBuilder: add setLockTime 2016-01-28 00:55:44 +11:00
Daniel Cousens
d7da292063 script_number: initialize result to 0 2016-01-05 13:11:49 +11:00
Daniel Cousens
302bbe81ba script_number: refactor to mimic bitcoin/bitcoin 2016-01-05 02:38:04 +11:00
Daniel Cousens
945bdfa747 script_number: refactor 2016-01-05 02:30:21 +11:00
Daniel Cousens
29a1a839ec script: exposes scriptNumber through script.number 2016-01-05 02:11:48 +11:00
Daniel Cousens
059f48b0c4 script_number: add impl/tests 2016-01-05 01:59:58 +11:00
Daniel Cousens
e4ba88e54f block: rename verifyPow to checkProofOfWork 2016-01-04 12:49:33 +11:00
Daniel Cousens
92b446f6a5 block: variable extraction 2016-01-04 12:49:33 +11:00
Daniel Cousens
bac700f52c block: use buffer, faster, verified 2016-01-04 12:49:33 +11:00
Daniel Cousens
86b51b2d62 add Block.calculateTarget, use Buffer comparison rather than bigi 2016-01-04 12:49:33 +11:00
Daniel Cousens
26ccb43047 block: add Block.prototype.verifyPow 2016-01-04 12:49:33 +11:00
Daniel Cousens
cab3022719 add OP_CHECKLOCKTIMEVERIFY and integration tests 2015-12-22 14:13:45 +11:00
Daniel Cousens
540a6643ac txbuilder: clarify SIGHASH invalidation logic in addInput/addOutput 2015-11-26 12:46:55 +11:00
Daniel Cousens
881a23f9d5 txbuilder: rename tx.outs.length to nOutputs 2015-11-26 12:07:32 +11:00
Daniel Cousens
693e39c061 script: use Buffer.isBuffer consistently 2015-11-26 12:07:04 +11:00
Daniel Cousens
d48a7ab682 address: avoid unnecessary unchunking 2015-11-25 19:19:21 +11:00
Daniel Cousens
f60cb2e491 scripts: ensure isPubKeyHashOutput/isScriptHashOutput adhere to BIP62 2015-11-25 19:19:21 +11:00
Kirill Fomichev
5de6818fcb Fix TransactionBuilder.addOutput 2015-11-24 08:18:16 +03:00
Alex Seville
a1da3065c4 Remove const and replace with var
To keep the project consistenly ES5.

Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const
2015-11-18 22:04:21 -08:00
Daniel Cousens
173994c6e0 script: avoid slice if n !== pubKeys.length 2015-10-02 13:03:33 +10:00
Daniel Cousens
0ca1e40a6d script: refactor isMultisigOutput for clarity 2015-10-02 13:03:33 +10:00
Daniel Cousens
5be9b04741 script: isolate initialization of REVERSE_OPS 2015-10-02 12:59:30 +10:00
Daniel Cousens
74c2f1d957 script: n/m must be numbers, not data 2015-10-02 12:51:34 +10:00
Kirill Fomichev
eae8bcf676 fix isMultisigOutput 2015-10-01 23:12:38 +03:00
Daniel Cousens
0b4c67406f use [].reverse over prototype 2015-09-27 23:49:29 +10:00
Daniel Cousens
5c1c4589c0 remove use of buffer-reverse 2015-09-27 23:30:06 +10:00
Daniel Cousens
731a31ecba use buffer-reverse 2015-09-25 17:49:05 +10:00
Daniel Cousens
28372f0cd7 use buffer-equals 2015-09-25 17:49:05 +10:00
Daniel Cousens
daafb9794e ECPair/HDNode: adds getNetwork 2015-09-21 17:37:21 +10:00
Daniel Cousens
57d0ea84a2 HDNode: adds getPublicKeyBuffer 2015-09-21 17:37:09 +10:00
Daniel Cousens
923266672b HDNode: add sign/verify 2015-09-21 16:42:22 +10:00
Daniel Cousens
888393fa8f tests: add HDNode fromSeed throwing tests 2015-09-14 17:50:38 +10:00
Daniel Cousens
05cfdf6a6a docs: remove inline endian-ness notes, no endianness 2015-09-14 15:03:36 +10:00
Daniel Cousens
322ade58e4 revert 4b825bf 2015-09-09 12:32:12 +10:00
Daniel Cousens
a5196dedcb ECPair: enforce <= 0, not just === 2015-09-09 00:48:06 +10:00
Daniel Cousens
a72e608898 ECPair: loop until within interval 2015-09-09 00:48:06 +10:00
Daniel Cousens
1ea5252511 TxBuilder: only allow OP_0's when building 2015-09-08 21:22:54 +10:00
Daniel Cousens
b252924517 types: remove ECCurve 2015-09-05 15:42:25 +10:00
Daniel Cousens
e8cb7c16da Transaction: coinBaseHash no longer relevant 2015-09-05 14:28:28 +10:00
Daniel Cousens
4b825bf2a8 HDNode: stop exposing constants 2015-09-05 14:27:53 +10:00
Daniel Cousens
ccfaaf0b6f ecdsa: remove curve parameter 2015-09-05 14:27:53 +10:00
Daniel Cousens
146bc8e11a address: re-use fromBase58Check internally 2015-09-05 14:27:53 +10:00
Daniel Cousens
48dc0a9054 script: no need to use readUInt8 2015-09-05 14:27:53 +10:00
Daniel Cousens
2d75b7e7ff standard: remove padded Blocks 2015-09-05 14:10:32 +10:00
Daniel Cousens
ec1195bcee Merge pull request #448 from bitcoinjs/bip66
Extract BIP66 module
2015-08-25 14:17:44 +10:00
Daniel Cousens
e94ec00919 types: restore quacking behaviour 2015-08-25 13:47:11 +10:00
Wei Lu
79db118417 Merge pull request #446 from bitcoinjs/wifex
ECPair: extract WIF to 3rd party module
2015-08-23 23:24:07 +08:00
Daniel Cousens
96c04d0787 ECPair: makeRandom, fix comparison 2015-08-24 01:04:36 +10:00
Daniel Cousens
d46035a35f ECPair: rm duplicate throw 2015-08-24 01:00:51 +10:00
Daniel Cousens
b12f559b85 HDNode: consistent capitalization in comments 2015-08-22 12:53:47 +10:00
Daniel Cousens
92937a8ded script: rm unused ecurve 2015-08-22 12:37:17 +10:00
Daniel Cousens
3106fc13ca script: refactor isCanonicalPubKey to bitcoin-core equivalent 2015-08-22 12:32:03 +10:00
Daniel Cousens
0ff5bd5698 script: add isDefinedHashType to check hashType 2015-08-22 12:32:03 +10:00
Daniel Cousens
abac254d0d script: use bip66 for signature checking 2015-08-22 11:54:00 +10:00
Daniel Cousens
1e23085ad7 use bip66 module 2015-08-21 20:35:22 +10:00
Daniel Cousens
252336ab8c ECPair: fix modulo bias in makeRandom 2015-08-21 16:46:18 +10:00
Daniel Cousens
efacd387be ECPair: extract WIF to 3rd party module 2015-08-20 20:16:57 +10:00
Daniel Cousens
e3f21ebeb2 HDNode: avoid creating multiple buffers 2015-08-20 14:23:27 +10:00
Daniel Cousens
8934de591c use baddress/bcrypto/bscript for ambuigities 2015-08-20 13:55:13 +10:00
Daniel Cousens
6ec687deba rename scripts to script 2015-08-20 13:55:13 +10:00
Daniel Cousens
18e9cdcc02 rename Address to address 2015-08-20 13:55:13 +10:00
Daniel Cousens
8f9d59fb18 ECPair: stop exposing ECDSA curve 2015-08-20 13:55:13 +10:00
Daniel Cousens
ca4debd92e types: Expected Buffer, length to follow 2015-08-19 15:27:06 +10:00
Daniel Cousens
c06df2df8a TxBuilder: fix equals is undefined in Node 0.10 2015-08-18 14:55:23 +10:00
Daniel Cousens
97a0008445 types: rm Script type 2015-08-18 14:45:00 +10:00
Daniel Cousens
706f5d7a9c scripts: adds tests for *HashOutput 2015-08-18 14:44:30 +10:00
Daniel Cousens
ab1215adc1 scripts: refactor to/from ASM 2015-08-18 14:44:30 +10:00
Daniel Cousens
b933c6da44 scripts: re-add constrained hash types to *HashOutput 2015-08-18 14:44:30 +10:00
Daniel Cousens
20fd3cee8c rename EMPTY to EMPTY_SCRIPT, extract VALUE_UINT64_MAX constant 2015-08-18 14:44:30 +10:00
Daniel Cousens
e2abe2b3af merge Script/scripts 2015-08-18 14:44:30 +10:00
Daniel Cousens
151386c46d scripts: remove coercion, fromASM returns Buffer 2015-08-18 14:44:30 +10:00
Daniel Cousens
812d74aa0a coerce wherever necessary for now 2015-08-18 14:44:29 +10:00
Daniel Cousens
e05f8a542d remove Script object 2015-08-18 14:44:29 +10:00
Daniel Cousens
e743c58ed6 remove usage of instanced Scripts 2015-08-18 14:44:29 +10:00
Daniel Cousens
5d2abb523e HDNode: use typeforce.tuple for arguments 2015-08-18 14:21:38 +10:00
Daniel Cousens
fd7f0b0ef8 address: use input first errors, easier detection 2015-08-18 09:27:55 +10:00
Daniel Cousens
6002d9abd4 ecdsa: fix up tuple indentation 2015-08-14 10:56:31 +10:00
Daniel Cousens
94e16fbe37 rename __disableExcess to __noStrict 2015-08-14 10:56:31 +10:00
Daniel Cousens
92d16142d1 ECSignature: use types.tuple for arguments 2015-08-14 10:56:31 +10:00
Daniel Cousens
33a9dc4cce dustThreshold is a UInt53 2015-08-14 10:56:31 +10:00
Daniel Cousens
70c874e3cc bufferutils: remove use of assert 2015-08-14 10:56:31 +10:00
Daniel Cousens
d85df4a6d6 TransactionBuilder: remove use of assert 2015-08-14 10:56:31 +10:00
Daniel Cousens
c1a965d096 ECSignature: remove use of assert 2015-08-14 10:56:31 +10:00
Daniel Cousens
f2f0747187 Transaction: remove use of assert 2015-08-14 10:56:31 +10:00
Daniel Cousens
e4b697a261 scripts: remove use of assert 2015-08-14 10:56:31 +10:00
Daniel Cousens
1d4a71852f Script: remove use of assert 2015-08-14 10:56:31 +10:00
Daniel Cousens
395c43ad74 block: remove use of assert 2015-08-14 10:56:31 +10:00
Daniel Cousens
8f821f4768 ECPair: remove use of assert 2015-08-14 10:56:31 +10:00
Daniel Cousens
254b670427 add types 2015-08-14 10:56:30 +10:00
Daniel Cousens
5ae66d46e4 mv opcodes.js -> opcodes.json 2015-08-14 10:53:44 +10:00
Daniel Cousens
a8db7b2cbf block: use Tx.byteLength to avoid double serialization 2015-08-14 08:23:50 +10:00
Daniel Cousens
ae0001ce37 TxBuilder: more explicit comment for address type parameter 2015-08-13 19:07:09 +10:00