Commit Graph

227 Commits

Author SHA1 Message Date
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
Ryan X. Charles f3614e4a90 Key -> Keypair
...that is what is called everywhere else.
2014-09-22 13:14:39 -07:00
Ryan X. Charles e984736736 allow bufs in constructors
For Transaction, Block and Blockheader. This is a convenience so if you happen
to have the buffer for one of these, you can make a new one like this:

Transaction(txbuf);

Rather than having to do this:

Transaction().fromBuffer(txbuf);
2014-09-22 13:07:39 -07:00
Ryan X. Charles e6a424303e remove unused base58check dependency 2014-09-22 12:51:18 -07:00
Ryan X. Charles 1bda566679 stealth address to/from JSON 2014-09-22 12:48:13 -07:00
Ryan X. Charles 27fbdb42ad isOpReturn
standard OP_RETURN scripts contain either just an OP_RETURN or an OP_RETURN
followed by a single pushdata OP with not more than 40 bytes.
2014-09-19 21:59:19 -07:00
Ryan X. Charles cc3196085f add .hash() function for a block
This is the plain old hash, which is a double sha256. The id of a block is the
reverse of this.
2014-09-19 17:29:40 -07:00