Commit Graph

184 Commits

Author SHA1 Message Date
Manuel Araoz
521a260afc remove deprecated chai uses 2014-04-10 15:39:54 -03:00
Ryan X. Charles
c5cd242d15 add test for .isValid() function 2014-04-10 12:30:57 -03:00
Manuel Aráoz
a2823a6e08 Merge pull request #237 from ryanxcharles/feature/address-interface
new convenient interface for creating addresses
2014-04-09 15:15:46 -03:00
Ryan X. Charles
3fb80bc76a Merge pull request #238 from matiu/bug/clean-examples
remove unused params in example
2014-04-09 15:15:04 -03:00
Matias Alejo Garcia
a8f5f9fcb8 remove unused params in example 2014-04-09 14:13:48 -03:00
Ryan X. Charles
a7c8cf49b3 update fromPubKeys to use fromScript
This means fewer code-duplication. Also added another test for fromScript to
make sure it is thoroughly tested. Also pass through opts to createMultisig so
that you can choose to lot let it be sorted if you want.
2014-04-09 14:07:56 -03:00
Ryan X. Charles
ae14c4aaa0 new convenient interface for creating addresses
To create an address from a public key or script, you used to have to do the
hashing yourself, and find the version yourself. For example:

var hash = bitcore.util.sha256ripe160(pubkey);
var version = bitcore.networks['livenet'].addressVersion;
var addr = new Address(version, hash);

But with this interface, things are much simpler:

var addr = Address.fromPubKey(pubkey);

The new convenience methods are:

Address.fromPubKey (for regular pubkeyhash addresses)
Address.fromPubKeys (for p2sh multisig addresses)
Address.fromScript (for any p2sh address)
2014-04-09 13:11:24 -03:00
Manuel Araoz
72a44154d4 fix testling config 2014-04-09 12:38:25 -03:00
Ruben de Vries
3118ab1d0c updated the calcDifficulty test to make it clear with what we're testing 2014-04-08 16:08:16 +02:00
Ruben de Vries
9c6c300289 fixed calcDifficulty by making sure the MAX_TARGET is also locally available.
added tests for 2 difficulty calculations.
2014-04-08 10:26:36 +02:00
Manuel Araoz
71353426f6 network refactors 2014-04-07 18:31:17 -03:00
Manuel Araoz
0b2dae43c5 remove console.logs and std::couts 2014-04-04 18:24:34 -03:00
Manuel Araoz
406600720e valid tx tests passing! 2014-04-04 18:06:34 -03:00
Manuel Araoz
34ed503830 fixed 23 Transaction tests!!! :D 2014-04-04 17:33:36 -03:00
Manuel Araoz
db38feacce fix old tests for sighash 2014-04-04 14:41:46 -03:00
Manuel Araoz
3886bfe923 some hashForSignature tests passing! :D 2014-04-04 14:39:06 -03:00
Manuel Araoz
cc8010f17f adding new data file from bitcoin core 2014-04-04 14:39:06 -03:00
Manuel Araoz
499b171947 tracking Transaction test problems 2014-04-04 14:39:06 -03:00
Matias Alejo Garcia
56bed9b3f2 fix noSorting, add testcase against bitcoind output 2014-04-04 10:37:32 -03:00
Matias Alejo Garcia
8ff1464b2c add test imported from treasure 2014-04-04 09:44:16 -03:00
Matias Alejo Garcia
921bc2ff17 add sorting of pubkeys for multisig addr generation 2014-04-03 22:06:57 -03:00
Ryan X. Charles
710be7b147 add BIP32 example to examples tests 2014-04-02 12:05:11 -04:00
Ryan X. Charles
42522e03b9 Merge branch 'feature/TransactionBuilder-Multisig-support' 2014-04-02 10:40:03 -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
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
9fc2493a6d remove .init(), move it to constructor 2014-03-29 04:01:32 -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
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
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
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
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
47fe12ea19 all vector 2 tests work 2014-03-22 16:16:58 -07:00