Ryan X. Charles
4fabad21a1
get rid of obsolete 'bitcore' stealth addr format
10 years ago
Ryan X. Charles
22b87325d7
make Dark Wallet buffer/string formats the default
and rename the old functions to "bitcore buffer" and "bitcore string"
10 years ago
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.
10 years ago
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
10 years ago
Ryan X. Charles
792e8080c8
classify pubkeyhash and scripthash scripts
...both the "in" (ScriptSig) and "out" (ScriptPubkey)
10 years ago
Ryan X. Charles
5c7149aeab
Stealthkey toJSON/fromJSON
10 years ago
Ryan X. Charles
d6e3266179
toJSON/fromJSON for privkey, pubkey, keypair
10 years ago
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);
10 years ago
Ryan X. Charles
1516ad3012
remove unused addressString variable
10 years ago
Ryan X. Charles
e6a424303e
remove unused base58check dependency
10 years ago
Ryan X. Charles
1bda566679
stealth address to/from JSON
10 years ago
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.
10 years ago
Ryan X. Charles
ffdfe0ce83
add fromString test for bip32
...since it was lacking any tests
10 years ago
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.
10 years ago
Ryan X. Charles
aff3992ffb
transaction hash and id
...the hash is the usual hash, and the id is the reverse of that, which is what
is usually graphically displayed by bitcoind.
10 years ago
Ryan X. Charles
40d17c5180
block id
The block id is the reverse of the double sha256 hash of the blockheader.
10 years ago
Ryan X. Charles
cfd509f859
make receivePubkey compatible with dark wallet
I had been using this formula for the receiveKeypair:
scanKeypair + payloadKeypair + sharedKeypair
However, Dark Wallet uses this formula:
payloadKeypair + sharedKeypair
It is not actually necessary to add the scanKeypair in order to have all the
features of stealth addresses, at least as far as I can tell. So in order to
bring my implementation closer to Dark Wallet's, I have removed the scanKeypair
from this calculation.
10 years ago
Ryan X. Charles
e11019a083
toJSON, fromJSON
Every object should have toJSON and fromJSON methods so you can have a reliable
way to store and retrieve objects.
10 years ago
Ryan X. Charles
f17d604e44
Address().fromHashbuf() convenience method
...useful for when you have the pubkeyhash, but not the version byte.
10 years ago
Ryan X. Charles
d2bc960744
fix capitalization error on case-sensitive filesystems
10 years ago
Ryan X. Charles
6fe5d416a0
fix capitalization error on case-sensitive filesystems
10 years ago
Ryan X. Charles
cf5b2f1250
varint -> vi canonical spelling
10 years ago
Ryan X. Charles
4a21a9551c
fromX is actually static
...should add an instance method in the future
10 years ago
Ryan X. Charles
f727c5ad25
fix varint test broken in browser
10 years ago
Ryan X. Charles
0212e4bd4c
replace .buffer with .read
10 years ago
Ryan X. Charles
6e1dfd3003
allow bufferreader.read to specify length
...to be more symmetric with the write function of bufferwriter
10 years ago
Ryan X. Charles
aee8547093
add fromString method for library consistency
10 years ago
Ryan X. Charles
6494ca5076
convenience: varint -> vi
10 years ago
Ryan X. Charles
5f21059bf8
more convenient names
10 years ago
Ryan X. Charles
9473bdf9b0
more convenient name
10 years ago
Ryan X. Charles
7390b15f89
add set function to bip32
10 years ago
Ryan X. Charles
0641184e84
support string input in constructor
10 years ago
Ryan X. Charles
c41419b6ef
use buffer functions
...instead of adhoc uint functions
10 years ago
Ryan X. Charles
78ef76eb2f
more convenient constructor
...allow inputing strings or buffers in the constructor.
10 years ago
Ryan X. Charles
40ea68a3ff
more convenient Base58 constructor
10 years ago
Ryan X. Charles
ac85264a28
Address().fromBuffer(buf);
10 years ago
Ryan X. Charles
8a52e6c316
Block
10 years ago
Ryan X. Charles
0d180810de
Blockheader
10 years ago
Ryan X. Charles
7ea66e032f
add real-world tx to transaction test
10 years ago
Ryan X. Charles
5b25679e15
Transaction
10 years ago
Ryan X. Charles
6c42969d01
improve error message
10 years ago
Ryan X. Charles
6e9755b009
sign, verify convenience functions
10 years ago
Ryan X. Charles
ed335f35f7
throw error if hashbuf is not 32 bytes
10 years ago
Ryan X. Charles
ced35a07eb
Txout
10 years ago
Ryan X. Charles
42130c78a0
Txin
10 years ago
Ryan X. Charles
4594cbb9e7
add bn support to varint class
10 years ago
Ryan X. Charles
3fa651e553
disable examples in browser
10 years ago
Ryan X. Charles
f6a8878aa2
Varint class
...will be useful in transactions. Note that we already have a primitive
understanding of Varints in the BufferReader and BufferWriter classes. However,
the new Varint class is a varint object which actually depends on BufferReader
and BufferWriter for reading and writing varints. This class is for keeping
track of the raw buffer that is read in from a buffer.
10 years ago
Ryan X. Charles
4bb9105b2d
varInt -> varint
I don't like having to capitalize things unnecessarily
10 years ago
Ryan X. Charles
30c96721a0
varIntNum
10 years ago