Ryan X. Charles
343a6af7c3
add seed function to generate master privkey
...
This follows the spec of BIP32. With tests for main test vectors.
2014-03-28 18:46:09 -04:00
Ryan X. Charles
f6aa01c445
add basic tests for all functions in Point
2014-03-28 18:07:23 -04:00
Ryan X. Charles
0eedeed449
add remaining public key derivation test vectors
...
...all pass in node and the browser.
2014-03-28 16:29:12 -04:00
Ryan X. Charles
c03d3c5818
get BIP32 working in the browser by exposing more crypto
2014-03-27 23:34:17 -04:00
Ryan X. Charles
63ce079f2b
change from under_scores to camelCase
...
camelCase is the bitcore way
2014-03-27 19:19:29 -04:00
Ryan X. Charles
91181de234
add new Point class and update BIP32 to use it
...
The Point class will ultimately be an all purpose tool for dealing with points
on the secp256k1 tool. For now, it just needs to have the ability to add two
points together, and work both in node and the browser, so that it can be used
for BIP32.
2014-03-27 18:59:47 -04:00
Ryan X. Charles
4ceacec9e8
Merge pull request #196 from matiu/feature/remove-unused-code
...
remove blockchain* inputcache* related code
2014-03-27 11:59:43 -04:00
Matias Alejo Garcia
3d61a1480e
remove blockchain* inputcache* related code
2014-03-27 12:47:31 -03:00
Ryan X. Charles
9cc70a3b57
Merge pull request #190 from maraoz/test/sighash
...
Test sighash (Transaction.hashForSignature())
2014-03-26 16:25:46 -04:00
Manuel Araoz
057b7c2a0d
added bitcointalk reference
2014-03-26 14:50:50 -03:00
Manuel Araoz
18630bb2b1
fix browser tests
2014-03-26 12:00:03 -03:00
Manuel Araoz
b020fe1e80
add sighash tests
2014-03-26 11:51:28 -03:00
Manuel Araoz
72570719d8
random transaction and script generation
2014-03-25 14:37:23 -03:00
Ryan X. Charles
3ad329f032
Merge pull request #188 from ryanxcharles/bug/script-push-data
...
script parsing should be more loose on pushdata
2014-03-25 09:42:42 -04:00
Ryan X. Charles
4319a20676
add test of correct parsing of valid script
...
Even of OP_PUSHDATA1 says to push 117 bytes, if there are only 75 bytes
following, this should still be pushed to the stack.
2014-03-24 20:27:51 -04:00
Ryan X. Charles
f89dcda0a2
script parsing should be more loose on pushdata
...
This testnet transaction was being parsed incorrectly:
cc64de74ba7002bbf4e3646824d7bbf0920004fb2ce45aa7270c4116ff11b715
Script was throwing an error when it should not have been. The error was that
PUSHDATA1 was trying to push 117 bytes to the stack, but it was followed by
only 75 bytes. But this transaction is accepted as valid by bitcoin-qt on
testnet. So we are mistaken by throwing an error in this case.
2014-03-24 20:18:08 -04:00
Ryan X. Charles
085d5ad59b
Merge pull request #187 from mljsimone/master
...
Update README.md
2014-03-24 17:55:29 -04:00
HeavyWeight
b24b635778
Update README.md
2014-03-24 18:52:57 -03:00
Ryan X. Charles
5c21866fe2
remove commented-out code
2014-03-23 15:32:52 -07:00
Ryan X. Charles
7904efe147
remove redundant and slow test
2014-03-23 15:30:31 -07:00
Ryan X. Charles
a4393c0657
update BIP32 to be able to derive pubkeys
...
...using the new addCompressed interface in Key.js
2014-03-23 15:12:52 -07:00
Ryan X. Charles
a686e63b0b
fix issue by outputing proper pubkey format
...
The way I was outputting the pubkeys would be incorrect if the first byte of
one of the coordinates was 0, since it would print the first non-zero byte
first. The solution was to use the standard openssl function that outputs a
public key to oct.
2014-03-23 15:11:32 -07:00
Ryan X. Charles
d11361be9e
expose group operation
...
BIP32 needs to be able to add two points on the secp256k1 curve. This
functionality was not already being exposed from OpenSSL in bitcore. I have
added an "addUncompressed" function to the Key class which takes in two points
in uncompressed form, adds them, and returns the result. This is necessary for
BIP32.
2014-03-23 10:35:28 -07:00
Ryan X. Charles
78a753a2d4
move version constants to networks.js
...
...with all the other network-specific constants.
2014-03-22 16:31:38 -07:00
Ryan X. Charles
b7550fc862
add convenience constructor for making new bip32s
...
Added the ability to create a new master bip32 with new private key and chain code. The way this works is like this:
var bip32 = new BIP32('mainnet');
or:
var bip32 = new BIP32('testnet');
2014-03-22 16:16:58 -07:00
Ryan X. Charles
0677ae46f8
remove obsolete commented-out code
2014-03-22 16:16:58 -07:00
Ryan X. Charles
47fe12ea19
all vector 2 tests work
2014-03-22 16:16:58 -07:00
Ryan X. Charles
ba59d97a73
make things work in the browser by fixing sha512
...
...had to use jsSHA package to do SHA512 in the browser. Unfortunately it is
quite slow compared to node.
2014-03-22 16:16:58 -07:00
Ryan X. Charles
22b57feb7b
Get test vector 1 working in node
2014-03-22 16:16:22 -07:00
Ryan X. Charles
c5c0ecc918
significant progress towards bitcore compatibility
...
Cryptography updated to use bitcore methods rather than bitcoinjs.
2014-03-22 16:14:48 -07:00
Ryan X. Charles
31a024a20b
bring formatting in line with bitcore standards
2014-03-22 14:28:10 -07:00
Ryan X. Charles
fa47ee9984
Merge remote-tracking branch 'matiu/feature/Block-test'
...
Conflicts:
util/util.js
2014-03-21 14:57:45 -07:00
Matias Alejo Garcia
02296d9517
fix firefox compatibility issue with buffertools#compare
2014-03-21 18:52:49 -03:00
Matias Alejo Garcia
227a95296b
remove stracktrace for firefox error reporting
2014-03-21 18:00:13 -03:00
Matias Alejo Garcia
8ec4f2f9c5
add -target=dev option to grunt to prevent minifying the source
2014-03-21 17:58:59 -03:00
Ryan X. Charles
d9cbe13d93
Merge pull request #170 from MattFaus/fix_transaction_tests2
...
Hook up testdata/tx_valid.json and tx_invalid.json test cases
2014-03-21 12:55:41 -07:00
Matias Alejo Garcia
aad33d0c4a
remove test code
2014-03-21 16:47:45 -03:00
Matias Alejo Garcia
684be77268
small fixes in block, adapt to browser bignum. remove legacy code
2014-03-21 16:39:38 -03:00
Matias Alejo Garcia
5b95b0f0fd
Block.js tests WIP
2014-03-21 16:38:01 -03:00
Manuel Araoz
1c1bb068b8
fix util problem
2014-03-21 12:13:24 -07:00
Manuel Araoz
230420fb00
fix test code for Transaction. Test skipped because they still fail
2014-03-21 12:13:23 -07:00
Manuel Araoz
ba92a6b1df
refactor and fixes for Transaction, ScriptInterpreter, and Key
2014-03-21 12:13:23 -07:00
Manuel Araoz
b227341c12
some Transaction tests fixed (canonical signatures)
2014-03-21 12:13:23 -07:00
Manuel Araoz
7869308784
remove console.log
2014-03-21 12:13:23 -07:00
MattFaus
7097ace9dc
Remove console.log() statements
2014-03-21 12:13:23 -07:00
MattFaus
5c65149b2e
Mark failing tests with skip()
2014-03-21 12:13:23 -07:00
MattFaus
07f49195ea
Update invalid transaction test case
2014-03-21 12:13:23 -07:00
MattFaus
8a8ae5b357
Fix merge problem
2014-03-21 12:13:23 -07:00
MattFaus
4ad36b4fb8
Refactor parsing test data into function, add iteration over invalid transaction tests
2014-03-21 12:13:23 -07:00
MattFaus
5af02e937a
Work in progress. I have a problem with the verifyInput() callback calling itself whenever the test assertions throw an exception. I looked at the step and async libraries that are already installed via package.json, but I don't think either of these provide the functionality I need.
2014-03-21 12:13:23 -07:00