Commit Graph

333 Commits

Author SHA1 Message Date
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
Ryan X. Charles d6e3266179 toJSON/fromJSON for privkey, pubkey, keypair 2014-09-22 13:55:40 -07:00