Commit Graph

997 Commits

Author SHA1 Message Date
Ryan X. Charles
e75267bd01 Merge pull request #419 from LinusU/patch-1
cleanup after removal of soop
2014-07-12 12:05:41 -07:00
Linus Unnebäck
3da6fe899f cleanup after removal of soop
Removed some unnecessary parenthesise that hung around after the merge
of #417
2014-07-12 12:14:56 +02:00
Ryan X. Charles
baf31e53dd Merge pull request #409 from ryanxcharles/feature/elliptic
Replace bignumber.js+cryptojs with bn.js+elliptic+hash.js
2014-07-11 15:30:49 -07:00
Ryan X. Charles
92ac073035 run secp256k1 test vectors in Key where they also matter 2014-07-11 15:05:38 -07:00
Ryan X. Charles
572035fdd5 add some test vectors for secp256k1 2014-07-11 14:47:48 -07:00
Ryan X. Charles
0f0a1b1913 add some sanity checks to signature verification 2014-07-11 12:04:34 -07:00
Ryan X. Charles
8a199e26f3 allow Point to multiply things other than buffers
...i.e., bignums, numbers, and strings. Also, ensure that if you try to
multiply a buffer, it should be exactly 32 bytes. Eventually this "multiply"
function will be replaced with a more conventional "mul" function, but not yet.
2014-07-11 11:52:05 -07:00
Ryan X. Charles
c75de967fd further simplify use of bignum in Transaction and ScriptInterpreter 2014-07-10 19:26:03 -07:00
Ryan X. Charles
823d02118c simplify use of bignum in Base58 and Block 2014-07-10 19:16:49 -07:00
Ryan X. Charles
ec2fda2a22 simplify use of bignum in TransactionBuilder 2014-07-10 19:13:29 -07:00
Ryan X. Charles
d035b54418 simplify use of bignum in ScriptInterpreter 2014-07-10 19:09:47 -07:00
Ryan X. Charles
3f75bea924 add tests for toCompressedPubKey 2014-07-10 19:03:40 -07:00
Ryan X. Charles
992e1cfcfb uncomment part of TransactionBuilder test 2014-07-10 18:56:43 -07:00
Ryan X. Charles
dbaeb044e7 remove commented-out code 2014-07-10 18:51:43 -07:00
Ryan X. Charles
b504b0b4d1 simplify use of bignum in util 2014-07-10 18:49:04 -07:00
Ryan X. Charles
3cbf2e07c4 use decorate on gt and lt 2014-07-10 18:45:27 -07:00
Ryan X. Charles
9c23256a16 add tests to make sure bignum interface works correctly 2014-07-10 18:45:09 -07:00
Ryan X. Charles
80bba1cf81 use a decorate function to optimize bundle filesize 2014-07-10 18:27:15 -07:00
Ryan X. Charles
32cf5aa941 woops - add bignum back to browser tests 2014-07-10 18:27:02 -07:00
Ryan X. Charles
fb3cc38046 make bignum tests run in node, not just browser 2014-07-10 18:17:11 -07:00
Ryan X. Charles
af1d754bd8 make bignum interface backwards compatible
- fix cmp, mul, div, add, mod, sub functions to take numbers and strings
- fix Point class to use common folder correctly
2014-07-10 18:14:13 -07:00
Ryan X. Charles
e4cb7d2014 remoe unimplemented bignum.pow() 2014-07-10 16:47:05 -07:00
Ryan X. Charles
c8f11b9c0a require Point ... woops 2014-07-10 16:22:42 -07:00
Ryan X. Charles
af6d0a5d02 remove cryptojs dependency
...and all vendor bundle files.
2014-07-10 16:22:42 -07:00
Ryan X. Charles
98bf58463e remove cryptojs dependency from util
...use hash.js, which is already required by elliptic
2014-07-10 16:22:42 -07:00
Ryan X. Charles
204d8563c8 remove cryptojs dependency from Key 2014-07-10 16:22:42 -07:00
Ryan X. Charles
9ca869b95b add "ECKey" to Key test so grepping is easier 2014-07-10 16:22:42 -07:00
Ryan X. Charles
ac4d3186bf update sign function to use elliptic 2014-07-10 16:22:42 -07:00
Ryan X. Charles
8fb6ccaf01 use elliptic for Point.multiply and key regeneration 2014-07-10 16:22:42 -07:00
Ryan X. Charles
15d4328b35 use elliptic in Point in the browser instead of cryptojs 2014-07-10 16:21:08 -07:00
Ryan X. Charles
c8fe404402 replace bignumber.js with bn.js 2014-07-10 16:20:13 -07:00
Ryan X. Charles
0b33869665 add 0.1.27 browser bundle and point latest to it 2014-07-10 16:12:18 -07:00
Ryan X. Charles
e69bf49f02 also bump version in bower.json 2014-07-10 16:07:51 -07:00
Manuel Araoz
98d2445a6e bump version 2014-07-10 17:19:04 -03:00
Manuel Araoz
0e2df698cd fix SIN and add tests 2014-07-10 17:17:24 -03:00
Manuel Araoz
87b818badf remove soop exports 2014-07-10 16:08:42 -03:00
Manuel Araoz
557e9ae2a4 use node util.inherits 2014-07-10 15:55:32 -03:00
Manuel Araoz
6e346d067c remove soop imports 2014-07-10 12:39:09 -03:00
Manuel Araoz
b0924978e4 oops 2014-07-10 11:56:17 -03:00
Manuel Araoz
cd7eae8359 remove soop inheritance system 2014-07-10 11:46:44 -03:00
Matias Alejo Garcia
3f0dd8d7ff Merge pull request #416 from ryanxcharles/bug/sjcl-failed-test
Solved: test vector that passes in node, but fails in browser/sjcl
2014-07-09 22:42:32 -03:00
Ryan X. Charles
65ab3a663a fix string/buffer sjcl issue
...by using sjcl.mode.cbc.encrypt/decrypt rather than sjcl.encrypt/decrypt. The
difference is that the sjcl.encrypt/decrypt functions are really convenience
methods designed to encrypt and decrypt strings, but don't play nice with
binary data, as revealed in the tests in this commit and the previous commit.
Basically, if you use them to encrypt and decrypt binary data as a string, it
will return the wrong result or an error.

The solution is to use the block cipher directly, in this case sjcl.mode.cbc.
This also has the advantage of fewer format conversions - no converting to
base64 and JSON strings. This makes things faster. Also, it is actually correct
unlike the previous method.
2014-07-09 16:25:48 -07:00
Ryan X. Charles
dfc129b766 test vector that passes in node, but fails in browser/sjcl
There is some kind of problem either in bitcore or sjcl involving the
decodeURIComponent function. I discovered this issue while working on the
network protocol for Copay.  Decrypting binary data in sjcl produces problems
due to the way sjcl is interpreting data as strings. I will have to investigate
further tomorrow. For now I am producing this test vector to demonstrate the
issue.
2014-07-09 01:05:16 -07:00
Ryan X. Charles
c93419a750 up version to 0.1.26 2014-07-07 20:55:21 -07:00
Ryan X. Charles
153cb7ad50 add "real" 0.1.24 and 0.1.25, and...
In this commit I have added the 'official' versions 0.1.24 and 0.1.25 to the
repo, and also created a new bitcore-dev.js that is not included in the repo.
bitcoin-dev.js is what we will use for development. When we define a new
version, we create a new bitcore-x.x.x.js file, and point bitcore-latest.js to
that. Note that the bitcore-x.x.x.js files should always be the "main" bundle,
which does not include BIP39 or BIP70, or other large packages.
2014-07-07 19:50:57 -07:00
Ryan X. Charles
4e3b258f07 Merge remote-tracking branch 'maraoz/feature/bundle-name'
Conflicts:
	browser/bitcore-0.1.24.js
2014-07-07 19:00:26 -07:00
Ryan X. Charles
5cdc160dea Merge branch 'feature/bip70-signing' 2014-07-07 16:58:07 -07:00
Ryan X. Charles
f3f94fc9d5 Merge remote-tracking branch 'devrandom/bip39a' 2014-07-07 16:51:46 -07:00
Ryan X. Charles
aaadbc81a1 modify README and commit examples.md
...to reflect usage of gulp, which automatically builds the examples.md file
from the examples in the examples/* directory.
2014-07-07 16:26:41 -07:00
Ryan X. Charles
91dd9fcb1e Merge remote-tracking branch 'yangit/examples'
Conflicts:
	package.json
2014-07-07 16:22:42 -07:00