Commit Graph

222 Commits

Author SHA1 Message Date
Ryan X. Charles 9575929162 Merge branch 'feature/secure-random'
Conflicts:
	lib/browser/Key.js
2014-04-24 09:19:58 -03:00
Ryan X. Charles 350f6ae998 Key should make sure new privkey is less than N
...this involves adding a Curve class, and significant refactoring to make this
possible in a clean way.
2014-04-23 21:15:55 -03:00
Manuel Araoz d8827cf9fd skip statistically failing tests 2014-04-23 15:55:35 -03:00
Manuel Araoz 17d0eeeb00 skip pending tests:wq 2014-04-23 15:45:00 -03:00
Manuel Araoz 2a829c4525 reduce number of cases for browser 2014-04-23 15:06:11 -03:00
Manuel Araoz 34ac69616a fix runs test 2014-04-23 15:01:04 -03:00
Manuel Araoz 532564461e testing RNG 2014-04-23 11:32:37 -03:00
Manuel Araoz 0095f5c9d0 rng statistic testswq 2014-04-23 11:32:37 -03:00
Ryan X. Charles 4693d5bc41 remove unnecessary "change" console.log from Electrum test 2014-04-22 22:41:57 -03:00
Ryan X. Charles ba692aaa20 add new SecureRandom class that does the right thing
Generating random numbers properly depends on the platform. The new
getRandomBuffer method does the right thing on the right platform. It will
sometimes fail due to insufficient entropy. The getPseudoRandomBuffer class is
also provided that will never fail, but it is not cryptographically secure and
should not be used for keys.
2014-04-22 22:18:59 -03:00
Matias Alejo Garcia 9951b55a4f signature sorting in .sign and .merge in transaction builder 2014-04-22 21:09:22 -03:00
Matias Alejo Garcia 56d81bc0df remove unused code from Script. Update it to do not use scriptSig placeholders 2014-04-22 21:09:22 -03:00
Matias Alejo Garcia e8ebd2e332 add tx validation to test 2014-04-22 21:09:22 -03:00
Ryan X. Charles a179251152 split Key node tests into separate file 2014-04-22 19:13:35 -03:00
Ryan X. Charles abc799f453 split up Point into separate node and browser versions 2014-04-22 19:13:35 -03:00
Ryan X. Charles e4e45c5245 add Electrum to browser build and tests 2014-04-20 17:49:43 -03:00
olalonde 2644dbb2db Electrum.js: wrote some tests 2014-04-21 04:21:33 +08:00
Ryan X. Charles 55061776ac add Message to browser build and tests 2014-04-19 11:41:00 -03:00
Ryan X. Charles 659dc10f96 add support for signing/verifying messages
This adds a new Message class with static methods for signing and verifying a
message the same way as bitcoind. (In a nutshell, messages a prepended with
"Bitcoin Signed Message:" before being hashed and signed).

There is one important piece missing ... verifying a signature with an address,
and not a public key. I have not yet implemented this because the cryptography
interface of bitcore does not allow me to derive the public key from a
signature. This will need to be added before verifying from an address is
possible.
2014-04-19 11:28:19 -03:00
Matias Alejo Garcia 5a1d572a8d add new constructor to Address (fromScriptPubKey) 2014-04-18 16:51:40 -03:00
Ryan X. Charles a1ef9c5220 make Connection test only run in node
...since it doesn't make sense for the browser
2014-04-17 15:07:19 -03:00
Ryan X. Charles da7fede2c0 Merge remote-tracking branch 'gordonwritescode/feature/tor' 2014-04-17 14:47:58 -03:00
Ryan X. Charles a749dc9d97 fix key tests for browser
Some tests that were intended for node only were running the browser. This
update removes those tests from the browser.
2014-04-16 21:37:46 -03:00
Ryan X. Charles 1a28683e4a Merge pull request #253 from matiu/feature/to-fromObj
add from-to Obj in Transaction Builder
2014-04-14 12:07:52 -03:00
Manuel Araoz bec26d80d6 fix TB test 2014-04-14 11:58:24 -03:00
Matias Alejo Garcia 9a25122b4f add merge options 2014-04-13 09:49:26 -03:00
Matias Alejo Garcia 233438f899 merge working! 2014-04-13 02:21:44 -03:00
Matias Alejo Garcia 52d47bf30e remove txobj from this! #merge WIP 2014-04-12 20:58:22 -03:00
Matias Alejo Garcia 185ebe8ebb add from-to Obj in Transaction Builder 2014-04-12 18:41:34 -03:00
Gordon Hall 3ba4352f7f merged in upstream changes, resolved conflict in package.json, add test for SOCKS5 Connection instantiation 2014-04-11 14:01:55 -04:00
Gordon Hall e53a2341c3 updated connection tests 2014-04-11 13:56:37 -04:00
Ryan X. Charles e61aa8528f add some tests to make sure changes to Key C++ code work as expected 2014-04-11 14:23:19 -03:00
Matias Alejo Garcia d0f2601512 add normalized hash for Txs 2014-04-10 23:30:04 -03:00
Ryan X. Charles 5b0c5fc3b6 Merge pull request #248 from matiu/feature/signatures-add-txbuilder
add signatureAdded counter
2014-04-10 19:56:42 -03:00
Matias Alejo Garcia d507e7f3d5 add signatureAdded counter 2014-04-10 19:43:28 -03:00
Manuel Araoz 3cbcbd54cb fix Buffers.skip in the browser 2014-04-10 18:52:13 -03:00
Manuel Araoz b58d5c5084 fix formatting 2014-04-10 18:24:20 -03:00
Manuel Araoz 6a5aa76b76 Buffers.monkey now at 100% coverage 2014-04-10 18:19:13 -03:00
Manuel Araoz 521a260afc remove deprecated chai uses 2014-04-10 15:39:54 -03:00
Ryan X. Charles c5cd242d15 add test for .isValid() function 2014-04-10 12:30:57 -03:00
Manuel Aráoz a2823a6e08 Merge pull request #237 from ryanxcharles/feature/address-interface
new convenient interface for creating addresses
2014-04-09 15:15:46 -03:00
Ryan X. Charles 3fb80bc76a Merge pull request #238 from matiu/bug/clean-examples
remove unused params in example
2014-04-09 15:15:04 -03:00
Matias Alejo Garcia a8f5f9fcb8 remove unused params in example 2014-04-09 14:13:48 -03:00
Ryan X. Charles a7c8cf49b3 update fromPubKeys to use fromScript
This means fewer code-duplication. Also added another test for fromScript to
make sure it is thoroughly tested. Also pass through opts to createMultisig so
that you can choose to lot let it be sorted if you want.
2014-04-09 14:07:56 -03:00
Ryan X. Charles ae14c4aaa0 new convenient interface for creating addresses
To create an address from a public key or script, you used to have to do the
hashing yourself, and find the version yourself. For example:

var hash = bitcore.util.sha256ripe160(pubkey);
var version = bitcore.networks['livenet'].addressVersion;
var addr = new Address(version, hash);

But with this interface, things are much simpler:

var addr = Address.fromPubKey(pubkey);

The new convenience methods are:

Address.fromPubKey (for regular pubkeyhash addresses)
Address.fromPubKeys (for p2sh multisig addresses)
Address.fromScript (for any p2sh address)
2014-04-09 13:11:24 -03:00
Manuel Araoz 72a44154d4 fix testling config 2014-04-09 12:38:25 -03:00
Ruben de Vries 3118ab1d0c updated the calcDifficulty test to make it clear with what we're testing 2014-04-08 16:08:16 +02:00
Ruben de Vries 9c6c300289 fixed calcDifficulty by making sure the MAX_TARGET is also locally available.
added tests for 2 difficulty calculations.
2014-04-08 10:26:36 +02:00
Manuel Araoz 71353426f6 network refactors 2014-04-07 18:31:17 -03:00
Manuel Araoz 0b2dae43c5 remove console.logs and std::couts 2014-04-04 18:24:34 -03:00