Commit Graph

603 Commits

Author SHA1 Message Date
Ryan X. Charles 710be7b147 add BIP32 example to examples tests 2014-04-02 12:05:11 -04:00
Ryan X. Charles edab2d18a1 add BIP32 example
...and also update BIP32.seed to default to mainnet/livenet.
2014-04-02 12:02:32 -04:00
Ryan X. Charles 42522e03b9 Merge branch 'feature/TransactionBuilder-Multisig-support' 2014-04-02 10:40:03 -04:00
Ryan X. Charles 8da9a21671 remove unused and incorrect function 2014-04-02 10:38:37 -04:00
Matias Alejo Garcia f6f7a01efc add p2sh support and test 2014-04-02 00:59:26 -03:00
Ryan X. Charles abcaa3d16f Merge pull request #202 from matiu/feature/TransactionBuilder-Multisig-support
Feature/transaction builder multisig support
2014-04-01 12:20:24 -04:00
Matias Alejo Garcia d8f49e87ae different keys p2script example, add new examples in tets 2014-04-01 09:58:17 -03:00
Matias Alejo Garcia 4edab2429a PayToScriptHash support (WIP) 2014-04-01 00:07:45 -03:00
Ryan X. Charles c88f465e45 Merge pull request #204 from ryanxcharles/feature/fix-browser-tests-for-point-and-key
fix browser tests for Point and Key
2014-03-31 18:19:15 -04:00
Ryan X. Charles 4f5b41eff0 fix browser tests for Point and Key
The addUncompressed function is for node-only, and is a temporary workaround
until we expose a better crypto interface in both node and the browser. I wrote
tests for this function that were node-only, but were broken in the browser.  I
also wrote tests for the Point class that should have worked in both node and
the browser, and did, but I was using the wrong module such that it worked only
in node.  This update makes the tests work in the browser by using the correct
module.
2014-03-31 16:32:16 -04:00
Matias Alejo Garcia 4fe8dffe4a fix error msgs 2014-03-31 16:25:43 -03:00
Matias Alejo Garcia 8acf093339 multisign test for signing twice with same sig 2014-03-31 15:16:30 -03:00
Matias Alejo Garcia 2af6ab7650 TX_MULTISIG support 2014-03-31 14:41:27 -03:00
Ryan X. Charles 93050e3e92 Merge branch 'feature/TransactionBuilder' 2014-03-30 21:02:22 -04:00
Ryan X. Charles 6a478de259 add transaction builder test to browser 2014-03-30 21:01:40 -04:00
Matias Alejo Garcia 5dd945f2b7 add CreateScript Example 2014-03-29 22:38:08 -03:00
Matias Alejo Garcia 9fc2493a6d remove .init(), move it to constructor 2014-03-29 04:01:32 -03:00
Matias Alejo Garcia 7504637d92 fix example.html (keymodule) 2014-03-28 23:54:59 -03:00
Matias Alejo Garcia 26b7f89f39 update examples and readme 2014-03-28 23:39:12 -03:00
Matias Alejo Garcia cb1a2d9b48 TransactionBuiler working with test 2014-03-28 21:17:34 -03:00
Ryan X. Charles a0daef56d9 Merge pull request #165 from ryanxcharles/feature/bip32
BIP 32 (hierarchical deterministic wallets)
2014-03-28 18:54:58 -04:00
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