Commit Graph

855 Commits

Author SHA1 Message Date
Ruben de Vries b655659812 `Script.classify` should first check output types before checking input types. 2016-07-05 12:32:24 +02:00
Braydon Fuller 514fc8d326 crypto: switch to Node.js sha512
The sha512 library has not been updated in quite some time. This switches to
use Node.js crypto for sha512 that will use crypto-browserify, and more
recently maintained sha.js for the browser build.
2016-05-23 12:00:14 -04:00
Kirill Fomichev 3579305b5e Fix K generator in ECDSA 2016-03-24 07:52:03 +03:00
Braydon Fuller 0c983c9c4a Networks: Added regtest to networks
Brings better compatibility between "testnet" and "regtest". Services such as
Bitcore Wallet Service and wallets such as Copay that have "testnet" and not
"regtest" will be compatible with "regtest" if enabled in a Bitcore node. This
adds two new API methods to enable/disable regtest on the testnet network:
- `bitcore.Networks.enableRegtest()`
- `bitcore.Networks.disableRegtest()`
2016-02-04 10:43:03 -05:00
Kirill Fomichev af4d9aef34 Fix Opcode.smallInt 2016-02-01 20:58:59 +05:00
Braydon Fuller 55bb6ad69f Merge pull request #17 from bitgaming/master
hasLowS validation not using correct constant as it is set in base 10 rather than hex
2016-01-21 11:18:27 -05:00
Braydon Fuller c0eec199ed Transaction: Support pay-to-public-key previous outputs with #fromObject 2016-01-18 13:36:33 -05:00
Kirill Fomichev 446760fec7 Fix Transaction.fromObject 2015-12-01 20:42:20 +03:00
Ed Bosher c5a107961c Set s mid point as hex rather than decimal (bn.js default) 2015-11-10 19:42:37 +08:00
Braydon Fuller c6c9021201 Merge pull request #12 from rubensayshi/bare-multisig
Add support for bare multisig
2015-11-09 15:58:50 -05:00
Ruben de Vries 502026086c updated _estimateSize for bare multisig input 2015-11-06 14:37:58 +01:00
Patrick Nagurny b6a8bdc133 Merge pull request #9 from braydonf/rmd160
crypto-browserify supports ripemd160
2015-11-04 10:12:44 -05:00
Patrick Nagurny d23d53e587 Merge pull request #11 from braydonf/millis
Millis
2015-11-04 10:11:23 -05:00
Ruben de Vries 87a77e5b2f avoid using Array.apply(new Array(), buf) for compatability 2015-10-30 17:45:42 +01:00
Ruben de Vries 6e1e4e69c4 add function to parse list of signatures buffers into proper list of TransactionSignature objects 2015-10-30 16:11:41 +01:00
Ruben de Vries af70e69588 add test for bare multisig 2015-10-30 15:52:58 +01:00
Ruben de Vries 4f99bf0882 add bare multisig support 2015-10-30 15:37:08 +01:00
Ruben de Vries 4e007e22be make Sighash accessible 2015-10-30 15:37:03 +01:00
Ruben de Vries ff0f9f6216 fixed wrong option name in jsdoc 2015-10-30 15:36:58 +01:00
Braydon Fuller d3a8926bd9 Correct millis unit typo. 2015-10-27 14:34:07 -04:00
Braydon Fuller 41a4e6e19f Update for crypto-browserify. 2015-10-27 10:13:16 -04:00
Braydon Fuller 07a02ec86b Fix issue with crypto library browser ripemd160 support. 2015-10-27 10:13:16 -04:00
Rob Riddle 5b08d72876 Fix typos in documentation 2015-10-22 18:34:31 +03:00
Braydon Fuller 3d591324c3 Merge pull request #1340 from eordano/bip69
Privacy improvements by sorting inputs and outputs
2015-10-13 17:56:40 -04:00
Braydon Fuller abae55595b Merge pull request #1345 from fanatid/feature/Transaction.to
allow Transaction.to take array (#1334)
2015-10-13 17:56:29 -04:00
Kirill Fomichev 24ef291bed allow Transaction.to take array 2015-10-13 23:35:16 +03:00
Braydon Fuller 1e6e5d1f1f Merge pull request #1335 from adjoinant/fix/is_multisig
fix issue with validation within Script.isMultisigIn()
2015-10-13 16:00:02 -04:00
Esteban Ordano 19f3fe0de3 Using buffer-compare instead of copy&paste 2015-10-01 12:56:01 -07:00
Esteban Ordano 026f878e51 Add tests for bip69 from bitcoinjs 2015-09-30 11:54:05 -07:00
Esteban Ordano fb65145ba7 Privacy improvement by sorting inputs and outputs
See BIP69 for more details:
https://github.com/bitcoin/bips/blob/master/bip-0069.mediawiki
2015-09-29 21:55:14 -07:00
Braydon Fuller 0e24e4c421 Return zero for coinbase transaction fee. 2015-09-22 20:56:03 -04:00
adam f0640a42f7 fixing incorrect check of signature validity 2015-09-17 15:19:05 +01:00
Patrick Nagurny c86f1a9c28 add getDifficulty method 2015-09-08 14:26:42 -04:00
Zaki Manian aa8e548800 To be effective within the current Bitcoin network, the inputs to a transaction
with an nLocktime must be not the standard max value.

We set the sequence number of 0 if the value is max.

Currently sequence numbers other than MAX_INT32 have no meaning in the Bitcoin protocol
but this may change in future BIPS
2015-08-24 20:07:57 -07:00
Ryan X. Charles c1087c2827 fix web worker issues
bitcore should be able to run inside a web worker. There were two minor issues
preventing bitcore from running inside a web worker. The first was that lodash
was outdated, and that version of lodash had a problem with web workers. The
second was that the wrong version of ripemd160 was being called, because
global.window does not exist inside a web worker (global.self does instead). A
better way to check if you are in a browser is with process.browser.
2015-08-20 19:07:21 -07:00
Braydon Fuller 809ff1461e Restore error when trying to derive a hardened path with HDPublicKey.
- Restores InvalidIndexCantDeriveHardened error in spec
- Passes hardened argument in HDPublicKey (in case the feature is attempted to be used similarly to HDPrivateKey)
- Fixes undefined error with InvalidLength
- Fixes tests to check for the error type
- Various formatting cleanup improvements
2015-08-17 09:21:58 -04:00
Braydon Fuller a50fccef4d Changes behavior of `toJSON` to work as expected with `JSON.stringify`
- see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#toJSON%28%29_behavior
- Updates CONTRIBUTING with changes to Stardard Methods
- Aliases toJSON for toObject
- Removes all `fromJSON` methods, and many cases replaces with `fromObject`
- Constructors expect an object parsed via `JSON.parse` for JSON input
2015-08-13 10:46:08 -04:00
Braydon Fuller 496edf9109 Check for consitency with block header argument hash and calculated hash. 2015-08-12 20:45:57 -04:00
Braydon Fuller e7c7a9ad89 Check for consistency if object argument includes a hash. 2015-08-12 20:26:25 -04:00
Braydon Fuller 74dee1fda7 Include hash in toObject/toJSON results. 2015-08-11 11:42:23 -04:00
Patrick Nagurny 9c30e96d9c Merge pull request #1302 from braydonf/formatting
Fixes for various formatting issues and typos.
2015-07-30 10:22:38 -04:00
Patrick Nagurny 7c6df33ab7 Merge pull request #1301 from braydonf/pubkey
Added support for signing publickey inputs.
2015-07-30 10:21:44 -04:00
Patrick Nagurny a8b78a2f3f Merge pull request #1295 from braydonf/script-asm
Add script methods `fromASM()` and `toASM()`
2015-07-30 10:17:41 -04:00
Patrick Nagurny 0dec8e7bd8 Merge pull request #1294 from braydonf/tx-unmodified-arguments
Objects passed as arguments are unmodified.
2015-07-30 10:16:00 -04:00
Patrick Nagurny 6ac7ad9da1 Merge pull request #1293 from braydonf/script-data-encoding
Added encoding type for buildDataOut
2015-07-30 10:14:31 -04:00
Braydon Fuller 8ff26bb260 Fixes for various formatting issues and typos. 2015-07-29 10:11:40 -04:00
Braydon Fuller eb077eb3df Added support for signing publickey inputs. 2015-07-27 15:16:58 -04:00
Braydon Fuller ad9dd2a41f Check that the public key is valid for outputs. 2015-07-14 09:58:05 -04:00
Braydon Fuller 9f4b1a2c26 Speed up isPublicKeyOut 2015-07-13 18:51:52 -04:00
Braydon Fuller d9047eebf0 Detect if scriptSig (input) or scriptPubKey (output) is previously known. 2015-07-09 11:30:20 -04:00