Commit Graph

1004 Commits

Author SHA1 Message Date
Ryan X. Charles 500037acd3 bump version to 0.1.28 2014-07-16 11:39:13 -07:00
Ryan X. Charles 95d180c2a3 add ScriptInterpreter example to test 2014-07-16 11:39:12 -07:00
Ryan X. Charles 11d2b0e0e7 Merge pull request #434 from ethers/si
example for ScriptInterpreter
2014-07-16 11:39:31 -07:00
Matias Alejo Garcia 34dcd1cd2a Merge pull request #423 from ryanxcharles/feature/remove-network-from-bundle
remove network stuff from main browser build
2014-07-15 15:32:38 -03:00
ethers 1a6ea46f4b a more involved ScriptInterpreter example 2014-07-15 02:02:22 -07:00
Ryan X. Charles fc942c2ac5 remove network stuff from main build
The network classes Connection, Peer and PeerManager are not useful from the
browser, so I have removed them from the main browser bundle by default.  This
saves several tens of kilobytes from the browser bundle (since not only are
these files not included, but their dependencies are not included either).
2014-07-14 20:53:22 -07:00
ethers 37d73fd426 small ScriptInterpreter example 2014-07-14 02:28:53 -07:00
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