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
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
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
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
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
MattFaus
7257526de3
Reverting modifications of testdata
2014-03-21 12:13:23 -07:00
MattFaus
a2a923fa99
Get Transaction test cases running
...
I removed the skip over the tx_valid.json file and made some tweaks to get most of the test cases passing. There are still two test cases that fail, as pointed out by the TODO comment I added above them. Oddly, running the test suite reports 3 failing test cases, but if I delete the two marked with the TODO there are 0 reported failures. So, there may be some kind of interaction with these test cases and the others. More investigation is needed.
I updated the two test cases that were testing transaction `23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63` with the input script I found on blockchain.info https://blockchain.info/tx/23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63 . A quick search found one other person who was using this same script (23b397edcc
cc4483eb271ecad09a94dd63.json) and the test passes now, so I'm not sure why the old script was being used.
All of the other changes are simply re-formatting decimal numbers as hex (i.e. `1` => `0x01`).
Furthermore, I added some code in the test fixture itself to verify each of the inputs.
Test Plan:
`mocha -R spec test/test.Transaction.js`
2014-03-21 12:13:23 -07:00
Manuel Araoz
150a943447
fix private key validation and base58 invalid tests
2014-03-19 19:00:45 -03:00
Manuel Araoz
3cd4e31c31
fix Address validation issue
2014-03-19 18:44:24 -03:00
Manuel Araoz
2323e2a67a
fix skipped Opcode test
2014-03-19 18:10:04 -03:00
Manuel Araoz
f2be0f386c
add hex generation of addresses test
2014-03-19 17:57:28 -03:00
Manuel Araoz
53eb98babc
should generate from hex added
2014-03-19 17:52:34 -03:00
Manuel Araoz
d84dc652d9
refactor valid b58 tests
2014-03-19 17:35:14 -03:00
Manuel Araoz
f0b9cd0cab
complete base58_keys_valid tests
2014-03-19 17:12:24 -03:00
Manuel Araoz
4b430be5c8
add base58key tests for Address case
2014-03-19 16:25:23 -03:00
Manuel Araoz
1324974c4d
add isScript to Address
2014-03-19 16:20:41 -03:00
Manuel Araoz
6ac48b2809
uncomment some test cases!
2014-03-19 13:03:12 -03:00
Manuel Araoz
856225d377
fix for firefox
2014-03-19 12:26:36 -03:00
Manuel Araoz
ddb3e6de70
invalid script test passing!
2014-03-19 12:26:36 -03:00
Manuel Araoz
03d200bad7
some invalid script tests working
2014-03-19 12:26:36 -03:00
Manuel Araoz
9ef8b78182
refactor int conversion, encoding, and utils
2014-03-19 12:26:36 -03:00
Manuel Araoz
5505491e8d
fix negative number arithmetic!
2014-03-19 12:26:36 -03:00
Manuel Araoz
19e15f91ca
size tests working!!! :D
2014-03-19 12:26:36 -03:00
Matias Alejo Garcia
c30cc3658f
fix conflics on testdata
2014-03-18 12:57:23 -03:00
Matias Alejo Garcia
aab52ad229
updated interfase to create: create and createAndSign
2014-03-18 11:32:31 -03:00
Matias Alejo Garcia
5a1b513b24
add isCanonicalSignature check to script interpreter and tests
2014-03-17 16:57:23 -03:00
Matias Alejo Garcia
041f06aae1
dynamic fee
2014-03-16 23:47:01 -03:00
Matias Alejo Garcia
0c83ecf5fb
new interfase for create TX (select + prepare + sign)
2014-03-16 20:50:49 -03:00
Matias Alejo Garcia
42d30f44a8
better utxo selection, combining inputs different confimations steps
2014-03-16 19:18:46 -03:00
Matias Alejo Garcia
a2041d5790
add TX signing. Support to p2pubkeyhash
2014-03-15 21:12:23 -03:00
Matias Alejo Garcia
807a72666c
add network detection in private key and tests
2014-03-15 18:49:48 -03:00
Matias Alejo Garcia
7d1df2602c
add test for #network in Address
2014-03-15 18:39:51 -03:00
Matias Alejo Garcia
b6e6ad28eb
fix variable names
2014-03-15 18:21:59 -03:00
Matias Alejo Garcia
d473b400de
remove outdated example
2014-03-15 17:58:38 -03:00
Matias Alejo Garcia
ced6c91b69
add comment to generate hardcoded dara
2014-03-15 17:44:29 -03:00
Matias Alejo Garcia
128662ceee
#create for Transaction and tests
2014-03-15 12:22:36 -03:00
Matias Alejo Garcia
35f5c9c570
#create for Transaction and tests
2014-03-15 12:22:15 -03:00
Matias Alejo Garcia
706162e2ba
#create for Transaction and tests
2014-03-15 12:21:59 -03:00
Matias Alejo Garcia
671d372c19
tx creation working. more tests needed
2014-03-15 03:27:06 -03:00
Matias Alejo Garcia
ada92746b7
selectUnspent function and tests
2014-03-14 17:38:42 -03:00
Ryan X. Charles
fde7588125
Merge pull request #149 from matiu/feature/tx-signing-example
...
add a tx creation and signing example
2014-03-13 14:33:23 -04:00