Commit Graph

334 Commits

Author SHA1 Message Date
Manuel Araoz
87f6651554 initial Script refactor 2014-12-02 14:20:02 -03:00
Braydon Fuller
3fc12e87d7 Merge pull request #648 from braydonf/ref/default-networks
Networks: Consistency of network reference and fix hardcoded value
2014-12-02 11:12:20 -05:00
Braydon Fuller
968f9936d8 Networks: Add mainnet alias 2014-12-02 10:55:25 -05:00
Braydon Fuller
d5d88287cd Networks: Consistency of network reference for 'livenet', and removed hardcoded value. 2014-12-02 10:48:21 -05:00
Esteban Ordano
3dbb35a708 Fixes build, add "mainnet" again and fixes uri 2014-12-02 12:40:42 -03:00
Esteban Ordano
2b866a8460 Merge pull request #630 from braydonf/feature/immutable
Immutable Address, PublicKey and PrivateKey
2014-12-02 12:17:03 -03:00
Esteban Ordano
3d56ed3b4d Merge pull request #637 from braydonf/feature/public-key-to-address
PublicKey: Added toAddress prototype. Closes #599
2014-12-02 12:16:29 -03:00
Esteban Ordano
7682cfa359 Merge pull request #644 from braydonf/ref/default-network
Default the network, if not specified, to `networks.defaultNetwork`. Closes #559
2014-12-02 12:16:11 -03:00
Braydon Fuller
b91b0fe4a5 PrivateKey: Use defaultNetwork if not specified 2014-12-01 18:10:18 -05:00
Braydon Fuller
eb72310a62 Address: Use defaultNetwork if network is not specified 2014-12-01 18:07:39 -05:00
Braydon Fuller
6e36baebc6 Tests: Enable tests for network, include defaultNetwork, check each constant, build browser tests before running to make sure it's up-to-date 2014-12-01 17:55:57 -05:00
Braydon Fuller
4adf1fcb14 Network: Replaced all instances of mainnet with livenet for consistency 2014-12-01 17:31:39 -05:00
Yemel Jardi
9cd9eeba1f convert amout to satoshis 2014-12-01 17:36:52 -03:00
Yemel Jardi
db4561f834 Add documentation 2014-12-01 17:18:10 -03:00
Yemel Jardi
c9951be2dc Base URI class and tests 2014-12-01 17:18:10 -03:00
Yemel Jardi
80937362be Address constructor allows an address instance 2014-12-01 17:17:10 -03:00
Manuel Aráoz
1175c475a2 Merge pull request #627 from yemel/feature/unit-util
Utility for unit conversion
2014-12-01 16:17:17 -03:00
Braydon Fuller
b06866f86f PublicKey: Added toAddress prototype. Closes #599 2014-12-01 14:15:59 -05:00
Yemel Jardi
ab517cae9c refactor double quote 2014-12-01 16:02:28 -03:00
Yemel Jardi
3208ca2a44 Allow creating instance without new 2014-12-01 16:02:06 -03:00
Braydon Fuller
3298a01498 Immutable Address, PublicKey and PrivateKey 2014-12-01 12:44:32 -05:00
Yemel Jardi
d978160ddb Utility for unit conversion 2014-12-01 12:33:45 -03:00
Braydon Fuller
9a76bf30ff Crypto/Point: Added test coverage and documentation, and refactored validation 2014-12-01 10:14:36 -05:00
Esteban Ordano
865a69f6f2 add testing for key cache 2014-12-01 10:00:46 -03:00
Esteban Ordano
13fd2592fc Add autogenerated errors 2014-11-30 09:47:44 -03:00
Esteban Ordano
803027353a Change errors 2014-11-30 09:47:44 -03:00
Esteban Ordano
94f3f02210 Add missing javadocs 2014-11-30 09:47:44 -03:00
Esteban Ordano
a2a51ecc0c Fix style: move each static function to an appropiate namespace 2014-11-30 09:47:44 -03:00
Esteban Ordano
53900f3196 Add cache to derivation 2014-11-30 09:47:44 -03:00
Esteban Ordano
4c0769fa09 100% test coverage on hdpublickey 2014-11-30 09:47:44 -03:00
Esteban Ordano
edc5b24d69 100% test coverage for HDPrivateKey 2014-11-30 09:47:44 -03:00
Esteban Ordano
950ea6ed1a Add public key 2014-11-30 09:47:44 -03:00
Esteban Ordano
ad74b549a1 Fixes interfaces 2014-11-30 09:47:44 -03:00
Esteban Ordano
5728c30371 Add tests 2014-11-30 09:47:44 -03:00
Esteban Ordano
b89bdd19f8 Add HDPrivateKey class 2014-11-30 09:47:44 -03:00
Manuel Araoz
1f3d7d9872 move Signature to crypto/ 2014-11-27 16:42:44 -03:00
Braydon Fuller
95b489c306 JSDoc: Update Address, PublicKey and PrivateKey so that they are documented. 2014-11-26 14:21:45 -05:00
Esteban Ordano
0695cda651 fix jsdoc 2014-11-26 12:56:43 -03:00
Esteban Ordano
4b201a8db1 Replace grunt with gulp 2014-11-25 21:26:52 -03:00
Esteban Ordano
73265d9089 Refactor network.js 2014-11-25 20:39:43 -03:00
Braydon Fuller
a50655c7d3 Merge branch 'feature/keys-interface-rename-tests' into feature/keys-interface-rename 2014-11-25 17:38:24 -05:00
Braydon Fuller
747b14dc2e Merge branch 'v0.8' into feature/keys-interface-rename 2014-11-25 17:37:24 -05:00
Braydon Fuller
7de28610a5 Keys: Fix browser data types 2014-11-25 15:30:25 -05:00
Braydon Fuller
2a2dc8196d Crypto: Update ECDSA with to use PrivateKey and PublicKey 2014-11-25 15:10:22 -05:00
Braydon Fuller
f6e610dd28 Merge branch 'bug/recursive-tests' into feature/keys-interface-rename-tests 2014-11-25 14:55:35 -05:00
Braydon Fuller
cd4583f954 Encodings: Updated Base58 for the latest version. 2014-11-25 14:40:43 -05:00
Braydon Fuller
8c4301cb0a Tests: Updated tests to run from sub-directories and fixed crypto and encoding related missing updates. 2014-11-25 14:20:43 -05:00
Braydon Fuller
85ce140aeb Keys: Renamed Privkey to PrivateKey and Pubkey to PublicKey 2014-11-25 13:21:53 -05:00
Braydon Fuller
35d0cbc5a6 Keys: Modified interface of Pubkey and Privkey so that an instance can be relied upon as valid. 2014-11-25 12:30:52 -05:00
Manuel Aráoz
f4bf23be82 Merge pull request #573 from braydonf/ref/remove-keypair
Keys: Refactored to use Pubkey and Privkey and removed Keypair
2014-11-25 12:22:38 -03:00
Manuel Aráoz
b97e448af6 Merge pull request #575 from braydonf/ref/package-update-2014-11
Package: Updated to include the latest versions of dependencies
2014-11-25 11:45:40 -03:00
Braydon Fuller
deb54c5a20 Address: Return new instance if this isn't already instantiated. 2014-11-24 15:47:30 -05:00
Braydon Fuller
cfb32f7fc8 Package: Updated to include the latest versions of dependencies 2014-11-24 15:20:14 -05:00
Braydon Fuller
23c1ed3599 Keys: Refactored to use Pubkey and Privkey and removed Keypair 2014-11-24 12:53:16 -05:00
Braydon Fuller
9863b123c0 Address: Increase test coverage 2014-11-23 15:34:19 -05:00
Braydon Fuller
3c9cc23501 Address: Improved error messages and type, and added inspect prototype for console output. 2014-11-21 22:20:44 -05:00
Braydon Fuller
5ff349758c Address: Fix Buffer data recognition in browsers 2014-11-21 19:58:47 -05:00
Braydon Fuller
0df97a42fe Address: Fix indentation, typos and simplify isValid 2014-11-21 19:02:58 -05:00
Braydon Fuller
8f32063375 Address: Add missing semicolons 2014-11-21 14:31:34 -05:00
Braydon Fuller
90341f2ab6 Address: Modified interface so that any instance of Address can be assumed to be valid. 2014-11-21 14:18:31 -05:00
Manuel Araoz
4508fb6765 fix references to encoding 2014-11-21 12:54:56 -03:00
Manuel Araoz
deee8c6887 refactor protocol->encoding 2014-11-21 11:43:37 -03:00
Manuel Araoz
e0340213fe remove KDF 2014-11-21 10:43:12 -03:00
Manuel Araoz
5440baad83 fix tests for random 2014-11-20 18:46:43 -03:00
Manuel Araoz
f0a4aebdfb reorder tests 2014-11-20 18:08:31 -03:00
Manuel Araoz
a9d029341d remove extras 2014-11-20 13:31:51 -03:00
Manuel Araoz
044337a30f use strict to core 2014-11-20 12:56:35 -03:00
Manuel Araoz
ca9b8d8f7b use strict to protocol 2014-11-20 12:52:32 -03:00
Manuel Araoz
56ca8a20c1 use strict to protocol 2014-11-20 12:23:46 -03:00
Manuel Araoz
7650b35482 use strict to extras 2014-11-20 12:18:08 -03:00
Manuel Araoz
2bf1ed8f34 use strict to crypto 2014-11-20 12:16:27 -03:00
Manuel Araoz
6f2913eed4 fix references 2014-11-20 11:50:23 -03:00
Manuel Araoz
481aa04cdb add comment to identity.js 2014-11-20 11:44:46 -03:00
Manuel Araoz
5dd3eae34f move more files 2014-11-19 12:19:10 -03:00
Manuel Araoz
cebd3aaa18 move files 2014-11-19 11:57:07 -03:00
Manuel Araoz
54fa31c85d remove crypto 2014-11-18 18:59:31 -03:00
Braydon Fuller
0cd68b5384 removed unused module references 2014-11-18 11:16:39 -05:00
Braydon Fuller
8ca49fb523 update to include new version of bn.js and elliptic that include hex padding 2014-11-03 16:53:14 -05:00
Eric Martindale
14748ae2b5 Make more tests pass with Identity(). 2014-10-06 17:54:20 -04:00
Eric Martindale
4b6e9aaf03 Improve tests. 2014-10-06 15:40:30 -04:00
Eric Martindale
dac2acc743 Clean example for full identities. 2014-10-06 14:00:03 -04:00
Eric Martindale
75cf4c4f9a tidy up identity class, add tests. 2014-10-02 22:27:18 -04:00
Eric Martindale
5fc9721647 Add support for identities. 2014-10-02 15:08:44 -04:00
Eric Martindale
f01ebd97d2 Buffers, identities, and randomNumbers. 2014-10-01 21:08:06 -04:00
Eric Martindale
e8d4786e48 CLASSICAL INHERITANCE IS FOR THE DOGS. 2014-10-01 19:20:03 -04:00
Eric Martindale
541196cb5a Re-implement addresses. 2014-10-01 16:28:57 -04:00
Eric Martindale
5f60d26a2b Migrate from Address() to Identity(). 2014-10-01 16:26:09 -04:00
Ryan X. Charles
f54edfb618 Varint(BN()) convenience
...and add some tests for the various constructor conveniences
2014-09-23 22:19:01 -07:00
Ryan X. Charles
8e85eba08b pushin, pushout
Add convenience methods for adding new inputs and outputs.
2014-09-23 22:09:41 -07:00
Ryan X. Charles
c07d509623 initialize transaction
In order to add convenience methods to a transaction, such as pushing new
inputs and outputs, we need to first have the notion of an initialized
transaction, which is actually not blank. An initialized transaction just has
default values for everything, such as no inputs and no outputs, and default
version and nlocktime.
2014-09-23 22:01:30 -07:00
Ryan X. Charles
729049a7da Add error for when pushdata is exceptionally large 2014-09-23 21:37:18 -07:00
Ryan X. Charles
b37e39abca Script().writeXX convenience methods
Script().writeOp('OP_CHECKMULTISIG'), or...
Script().writeOp(174), or...
Script().writeBuffer([push data buffer]), or...
Script().write([op string, number, or push data buffer])

These convenience methods let you easily write a script.
2014-09-23 21:28:03 -07:00
Ryan X. Charles
4f71535869 StealthTx
For spotting transactions to which you have the stealth key (or at least the
scan key) and creating transactions to a stealth address. So far it is only
partially working - you can see if a transaction is a stealth transaction (or
at least one of a limited kind of stealth transactions), and you can see that
you do not have the stealth key to spend one of these transactions. However, I
have not yet tested whether you can see a stealth transaction that you actually
have the key to. Also, it is not yet easy to spend to a stealth address.
2014-09-23 16:54:52 -07:00
Ryan X. Charles
4fabad21a1 get rid of obsolete 'bitcore' stealth addr format 2014-09-23 14:27:48 -07:00
Ryan X. Charles
22b87325d7 make Dark Wallet buffer/string formats the default
and rename the old functions to "bitcore buffer" and "bitcore string"
2014-09-23 14:27:48 -07:00
Ryan X. Charles
96df77429f add support for Dark Wallet-style addresses
These functions are prefixed DW which stands for Dark Wallet. The code for the
Dark Wallet address format can be found here:

https://github.com/darkwallet/darkwallet/blob/develop/js/util/stealth.js

Note that I deliberately support only the simplest possible format, which is
where there is only one payload pubkey and the prefix is blank. I should now go
back and replace my old toString, fromString, toBuffer, fromBuffer functions
with these Dark Wallet versions, since they are much more well-thought out than
mine.
2014-09-22 18:23:10 -07:00
Ryan X. Charles
9b8ce05b15 BufferWriter().toBuffer convenience method
It does the same thing as .concat(), but may be easier to remember, since the
rest of the library uses the ".toBuffer()" convention
2014-09-22 17:09:53 -07:00
Ryan X. Charles
792e8080c8 classify pubkeyhash and scripthash scripts
...both the "in" (ScriptSig) and "out" (ScriptPubkey)
2014-09-22 16:04:06 -07:00
Ryan X. Charles
6f92775b2c extra curly braces for code readability 2014-09-22 14:56:07 -07:00
Ryan X. Charles
5c7149aeab Stealthkey toJSON/fromJSON 2014-09-22 14:45:41 -07:00