Commit Graph

256 Commits

Author SHA1 Message Date
Manan Patel
0d9317e2d4 adding few tests for Peer.js 2014-06-19 01:07:45 -07:00
Ryan X. Charles
83aada8648 Merge pull request #379 from ryanxcharles/feature/address-throw-error
throw error when using invalid length hash in Address constructor
2014-06-13 08:17:18 -07:00
Manuel Araoz
5c11ac3e87 malloc -> calloc, to fix linux version 2014-06-12 13:56:29 -03:00
Manuel Araoz
d313ed037e trying to fix 2014-06-12 12:29:51 -03:00
Manuel Araoz
a15962da88 fixing 2014-06-12 12:29:51 -03:00
Manuel Araoz
d9a91e89c3 attempt to fix in linux 2014-06-12 12:29:51 -03:00
Manuel Araoz
9e46334d27 wierdest way of fixing the problem 2014-06-12 12:29:51 -03:00
Manuel Araoz
5428b1109e add problematic test 2014-06-12 12:29:50 -03:00
Ryan X. Charles
c2e5a14eed throw error when using invalid length hash in Address
I have often made the error of using a public key rather than the hash of the
public key when creating an address, leading to invalid addresses. I'm sure I'm
not the only one. This commit follows the principle of "fail early, fail often"
and simply throws an error if you try to insert something other than 20 bytes
long when creating an address, which would be the case when using a public key.
This way that common mistake should be reduced.
2014-06-11 18:13:39 -07:00
Ryan X. Charles
772b12e471 Merge pull request #377 from cmgustavo/feature/fee-constant
Exporting a constant on TransactionBuilder for use on Copay
2014-06-11 15:38:50 -07:00
Gustavo Cortez
1d957b24d9 Exporting a constant on TransactionBuilder for use on Copay (to check available funds to spend). A simple test for this. 2014-06-11 19:00:11 -03:00
Ryan X. Charles
895a512e55 run HierarchicalKey tests in the browser
...not BIP32, which is the old name for HierarchicalKey
2014-06-11 14:28:30 -07:00
Ryan X. Charles
261a94d806 add ECIES example 2014-06-06 14:34:42 -07:00
Ryan X. Charles
80ccaa8396 rename "rand" to more explanatory "getRandomSeed" 2014-06-05 16:41:47 -07:00
Ryan X. Charles
5172b3160b add test to confirm correctness of sha512hmac 2014-06-04 18:57:26 -07:00
Ryan X. Charles
af9fdff3a9 use SJCL AES to get ECIES working in the browser 2014-06-03 19:03:50 -07:00
Ryan X. Charles
e963ff3c45 add ECIES support in node - not browser 2014-06-02 20:15:58 -07:00
Matias Alejo Garcia
c9694c5768 rm console.log 2014-05-26 12:40:07 -03:00
Matias Alejo Garcia
e60e389e43 add more strict checking, plus tests 2014-05-25 23:46:20 -03:00
Ryan X. Charles
9fb34f5033 print out string, not buffer 2014-05-23 16:51:32 -07:00
Ryan X. Charles
c038abc8e7 rename BIP32 -> HierarchicalKey, deprecate BIP32
Sounds better.
2014-05-11 13:09:57 -04:00
olalonde
af942f9b06 Armory: added tests 2014-05-08 07:54:12 +08:00
Ryan X. Charles
d3a4cfa333 remove eval
eval is unsafe, and the way it was being used in Script and Script interpreter
was not a good enough reason. This commit removes both uses of eval, then
replaces all uses of OP_XXX with Opcode.map.OP_XXX since there's no reason for
those constants to be global.
2014-05-05 10:43:24 -04:00
Ryan X. Charles
46271de06e add some basic sanity tests for signatures and key generation
Signing a message with ECDSA involves using a random number, and this means
that two signatures should never be the same. This commit adds some basic tests
to Key.signSync and Message.sign to make sure this is the case. Also, a new
bitcore.Key should never have the same private key twice. This commit also adds
a basic test to make sure that is the case.
2014-05-01 12:27:55 -04:00
Ryan X. Charles
b1f34d4015 iterate array correctly so that random number is actually used in signing 2014-05-01 10:09:33 -04:00
Ryan X. Charles
405ea0bf6f fix bignum issue
In the browser, sometimes the config for bignum wasn't being set up if (somehow
... still not sure how this is possible) you use bitcore without using
require('bitcore'). This would by pass the code that set the config for bignum.
Solution is to put the config for bignum in bignum itself (in the browser).

This fixes, in particular, an issue with base58 where it was depending on
bignum having the proper config.

Also I add the base58 tests to run in the browser which they weren't
previously.

And finally I add a small test for Bignum in the browser that makes sure the
config is set properly.
2014-04-29 17:59:24 -04:00
Ryan X. Charles
c7218ea2fc Merge pull request #305 from maraoz/refactor/improve-BIP32
Refactor/improve bip32 and add test
2014-04-29 15:00:39 -04:00
Manuel Araoz
ac719345e8 add tests for BIP32 2014-04-29 14:37:37 -03:00
Manuel Araoz
ce00b77de0 name change forKey -> fromKey 2014-04-29 11:49:42 -03:00
Manuel Araoz
a1a844c1e6 add Address.forKey convenience method and example vanity address generator 2014-04-29 11:49:42 -03:00
Ryan X. Charles
7f348ca0bd Move BigNumber to internal
...no longer relies on Manuel's repo hostig a version of "bignum" that actually
contained bignumber.js. This moves bignumber.js internally and removes bignum
from the browser build process. Also adds a bitcore.Bignum that links to the
right thing. In node, browser.Bignum is require('bignum'). And in the browser,
bitcore.Bignum is is now Bignumber.js (same as before ... except bignumber.js
is now inside bitcore).
2014-04-28 18:00:59 -04:00
Gordon Hall
602c94265b add test for config extending properly 2014-04-28 12:33:34 -04:00
Ruben de Vries
4860b8f3c7 updated naming for getMultiSigInfo 2014-04-25 15:02:19 +02:00
Ruben de Vries
e301a14657 added Script.getMultiSigInfo as easy helper to return information about a multisig script 2014-04-25 14:58:44 +02:00
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