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
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.
2014-09-19 17:25:35 -07:00
Ryan X. Charles
40d17c5180
block id
...
The block id is the reverse of the double sha256 hash of the blockheader.
2014-09-19 17:08:44 -07:00
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.
2014-09-19 14:32:32 -07:00
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.
2014-09-18 17:52:02 -07:00
Ryan X. Charles
f17d604e44
Address().fromHashbuf() convenience method
...
...useful for when you have the pubkeyhash, but not the version byte.
2014-09-18 15:18:53 -07:00
Ryan X. Charles
cf5b2f1250
varint -> vi canonical spelling
2014-09-17 16:48:23 -07:00
Ryan X. Charles
2caf7c6471
bn -> BN canonical capitalization
2014-09-17 16:08:42 -07:00
Ryan X. Charles
0212e4bd4c
replace .buffer with .read
2014-09-17 15:49:45 -07:00
Ryan X. Charles
8e049b7244
smarter
2014-09-17 15:44:59 -07:00
Ryan X. Charles
6cee393c5d
put brains in read
2014-09-17 15:43:15 -07:00
Ryan X. Charles
6e1dfd3003
allow bufferreader.read to specify length
...
...to be more symmetric with the write function of bufferwriter
2014-09-17 15:41:30 -07:00
Ryan X. Charles
7918f53f12
bnjs -> BN ... for consistency
2014-09-17 15:32:58 -07:00
Ryan X. Charles
aee8547093
add fromString method for library consistency
2014-09-17 15:32:14 -07:00
Ryan X. Charles
6494ca5076
convenience: varint -> vi
2014-09-17 15:27:12 -07:00
Ryan X. Charles
0eeba8eadb
canonical BN notation
2014-09-17 15:22:52 -07:00
Ryan X. Charles
5f21059bf8
more convenient names
2014-09-17 15:20:01 -07:00
Ryan X. Charles
eb34a16511
more convenient name
2014-09-17 15:17:54 -07:00
Ryan X. Charles
9473bdf9b0
more convenient name
2014-09-17 15:15:56 -07:00
Ryan X. Charles
bd16eddf54
Key -> Keypair
2014-09-17 15:13:57 -07:00
Ryan X. Charles
7390b15f89
add set function to bip32
2014-09-17 15:11:16 -07:00
Ryan X. Charles
0641184e84
support string input in constructor
2014-09-17 15:02:11 -07:00
Ryan X. Charles
c41419b6ef
use buffer functions
...
...instead of adhoc uint functions
2014-09-17 14:49:17 -07:00
Ryan X. Charles
5da964739d
remove unused base58 dependency
2014-09-17 14:44:16 -07:00
Ryan X. Charles
9e188574f7
base58check in extendedPrivateKeyString
2014-09-17 14:43:14 -07:00
Ryan X. Charles
70d9f0db93
use base58check in extendedPublicKeyString
2014-09-17 14:41:51 -07:00
Ryan X. Charles
70659ad9d4
use base58check in fromString
2014-09-17 14:40:29 -07:00
Ryan X. Charles
334c443d8b
"gc" was some find-replace error from earlier
2014-09-17 14:37:53 -07:00
Ryan X. Charles
af6932a313
console.log?
...
this must have been a remnant of some earlier debugging, either in bitcore2 or
in bitcore.
2014-09-17 14:35:20 -07:00
Ryan X. Charles
78ef76eb2f
more convenient constructor
...
...allow inputing strings or buffers in the constructor.
2014-09-17 14:29:53 -07:00
Ryan X. Charles
40ea68a3ff
more convenient Base58 constructor
2014-09-17 14:26:19 -07:00
Ryan X. Charles
ac85264a28
Address().fromBuffer(buf);
2014-09-17 14:22:18 -07:00
Ryan X. Charles
8a52e6c316
Block
2014-09-16 18:42:11 -07:00
Ryan X. Charles
0d180810de
Blockheader
2014-09-16 17:28:00 -07:00
Ryan X. Charles
5b25679e15
Transaction
2014-09-16 14:35:26 -07:00
Ryan X. Charles
6c42969d01
improve error message
2014-09-16 11:44:51 -07:00
Ryan X. Charles
6e9755b009
sign, verify convenience functions
2014-09-16 11:34:28 -07:00
Ryan X. Charles
ed335f35f7
throw error if hashbuf is not 32 bytes
2014-09-16 11:33:49 -07:00
Ryan X. Charles
3daeabaf30
"undefined"s are unnecessary
2014-09-16 10:10:06 -07:00
Ryan X. Charles
ced35a07eb
Txout
2014-09-15 18:38:21 -07:00
Ryan X. Charles
42130c78a0
Txin
2014-09-15 17:08:09 -07:00
Ryan X. Charles
4594cbb9e7
add bn support to varint class
2014-09-15 15:29:39 -07:00
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.
2014-09-15 15:05:54 -07:00
Ryan X. Charles
54e705f7e8
missing semicolon
2014-09-15 14:53:42 -07:00
Ryan X. Charles
9cb31ebb6a
extra semicolon
2014-09-15 14:52:43 -07:00
Ryan X. Charles
4bb9105b2d
varInt -> varint
...
I don't like having to capitalize things unnecessarily
2014-09-15 14:41:46 -07:00
Ryan X. Charles
30c96721a0
varIntNum
2014-09-15 14:36:31 -07:00
Ryan X. Charles
d363956ba1
add readVarIntBuf function
...
...will be useful for new Varint class
2014-09-15 14:27:42 -07:00
Ryan X. Charles
3c668c9cf0
readVarInt -> readVarIntNum
...
"varInt" refers to the varInt object, which is not actually implemented yet.
This function should therefore really be called readVarIntNum.
2014-09-15 14:19:08 -07:00
Ryan X. Charles
8e959426e2
support reading varInt nums up to js precision
...
Javascript only supports 64 bit floating points, which have uint precision up
to Math.pow(2, 53). We now support reading variable sized numbers up to that
size. If the number is bigger than that, then we need to use BN.
2014-09-15 13:58:24 -07:00
Ryan X. Charles
cf4668f501
typo
2014-09-15 13:56:42 -07:00
Ryan X. Charles
9d5d136993
"function" not used
2014-09-15 13:48:51 -07:00
Ryan X. Charles
543762bc67
fromBuffer convenience function for pubkey
2014-09-15 11:32:39 -07:00
Ryan X. Charles
385edbcc92
simplify ECIES interface
...
the toKeypair doesn't really need to be a keypair. upon encrypting, it merely
needs to be a pubkey. and upon decrypting, it needs to be a privkey.
2014-09-15 11:19:18 -07:00
Ryan X. Charles
fbfa64582c
autogenerated fromkeypair if not present
2014-09-15 10:43:14 -07:00
Ryan X. Charles
4a027e260a
Address().fromScript(script)
...
It is convenient to be able to derive an address directly from a script for
p2sh transactions.
2014-09-12 17:49:01 -07:00
Ryan X. Charles
79d79012d4
fix bug where you can't use isForMe without payloadKeypair
...
It should be possible to check to see if a message isForMe with only the
scanKeypair, and not the payloadKeypair. There was a bug where only the
scanKeypair was being used to produce the receiveKeypair, but this was a
mistake. Both the scanPubkey and payloadPubkey should be necessary to produce
the receivePubkey, and both the scanPrivkey and payloadPrivkey should be
necessary to produce the receivePrivkey. If an online computer has only the
public keys of both (and the scanPrivkey), then that is good enough to check
for isForMe.
2014-09-12 17:24:00 -07:00
Ryan X. Charles
5a86a1a5c6
StealthMessage
...
This code should be regarded as being a proof-of-concept, and needs more review
before being used in production code. At least one thing is guaranteed to
change, and that is the format of a stealth address.
2014-09-10 14:00:53 -07:00
Ryan X. Charles
74549a53ec
key -> keypair
...
Since the class has been renamed Key -> Keypair, instances should be renamed
key -> keypair.
2014-09-02 16:36:21 -07:00
Ryan X. Charles
219aa528c8
AsReceiver implied
2014-09-02 15:54:24 -07:00
Ryan X. Charles
558a7672ef
Stealthkey AsSender functions obsolete
...
use StealthAddress instead
2014-09-02 15:28:32 -07:00
Ryan X. Charles
d1a570135d
getSharedKeypair & getReceivePubkey
2014-09-02 15:25:16 -07:00
Ryan X. Charles
48ae69cab0
convenience: StealthAddress(str) or StealthAddress(buf)
2014-09-02 14:23:11 -07:00
Ryan X. Charles
36fd6b2d9c
take address stuff out of stealthkey
...
...that is what StealthAddress is now for
2014-09-02 12:53:41 -07:00
Ryan X. Charles
139fe02355
StealthAddress
2014-09-02 12:48:36 -07:00
Ryan X. Charles
258dab9d6d
convenience: Stealth(payloadKeypair, scanKeypair)
2014-09-02 12:08:33 -07:00
Ryan X. Charles
073ee0a0e4
fix: Pubkey(point) and Privkey(bn)
2014-09-02 12:07:18 -07:00
Ryan X. Charles
caf6c87419
Signature(r, s) should work
2014-09-02 11:59:42 -07:00
Ryan X. Charles
a768755764
convenience: new Pubkey(point)
2014-09-01 21:16:10 -07:00
Ryan X. Charles
6f56c8d1fc
convenience: new Privkey(bn)
2014-09-01 21:13:44 -07:00
Ryan X. Charles
ef3a89f254
add Signature(r, s) convenience
2014-09-01 21:08:16 -07:00
Ryan X. Charles
8a3d71b596
throw error for invalid strings
2014-09-01 20:03:22 -07:00
Ryan X. Charles
eaaf8aade3
throw error if there is no string representation
2014-09-01 20:00:54 -07:00
Ryan X. Charles
3b2b725070
Script().fromString(str)
...
...the format of fromString and toString are deliberately not compatible with
bitcoind. The format here is supposed to be both human-readable, and
byte-for-byte isomorphic to the binary representation. In the future we will
need to add support for bitcoind-like strings, both for the test data (e.g.,
script_invalid.json) or for the bitcoind console style.
2014-09-01 19:42:20 -07:00
Ryan X. Charles
6375941ef8
script.toString()
2014-09-01 18:31:02 -07:00
Ryan X. Charles
e6af57f4fa
script.toBuffer();
2014-09-01 18:01:17 -07:00
Ryan X. Charles
378dc923ef
preserve claimed length and op code
...
When parsing OP_PUSHDATAX commands, the the length of data might not require
the size integer of OP_PUSHDATAX. For instance, you might write 1 byte, and yet
use OP_PUSHDATA4. We need to record which OP_PUSHDATAX was used so that when we
write the buffer back out, we can write the same one. Also, the claimed length
may be different. For instance, we may OP_PUSHDATA of length 100 to the stack,
but there may only be 50 bytes left in the script. In that case, buf.length and
chunk.len will be different. I'm not sure if that would be considered a valid
script, but in any case, for script analysis, we need both values.
2014-09-01 17:27:39 -07:00
Ryan X. Charles
697b3e5009
Script().fromBuffer(buf)
...
...code heavily inspired/copied from bitcore
2014-09-01 16:41:07 -07:00
Ryan X. Charles
8b3ad7ac85
read a buffer, like slicing while iterating pos
2014-09-01 16:40:31 -07:00
Ryan X. Charles
572582938f
more convenient bufferreader
2014-09-01 15:53:26 -07:00
Ryan X. Charles
15801773e3
the beginnings of script
2014-09-01 15:45:03 -07:00
Ryan X. Charles
6a26813955
p2sh -> scripthash
...
more appealing and memorable name
2014-09-01 12:06:18 -07:00
Ryan X. Charles
a0150f82ef
fromNumber, toNumber, fromString, toString
...
...like the rest of the library.
2014-08-31 20:38:39 -07:00
Ryan X. Charles
03578e2ba5
Opcode
...
...code from bitcore
2014-08-29 19:24:51 -07:00
Ryan X. Charles
c59013eb46
remove useless Address dependency from Keypair
...
to get an address from a key, just do Address().fromPubkey(key.pubkey)
2014-08-29 15:42:30 -07:00
Ryan X. Charles
f028b6b913
Stealth -> Stealthkey
...
More explanatory. Will break up into separate Stealthkey, StealthAddress, and
StealthMessage classes.
2014-08-29 14:34:01 -07:00
Ryan X. Charles
32fabd0c0f
Key -> Keypair
...
"Keypair" is a more explanatory name, and also should be less confused with
other kinds of keys (particularly "cipher keys", which are the keys used in
symmetric block ciphers, especially AES).
2014-08-29 14:18:56 -07:00
Ryan X. Charles
40a2007e18
confusingly named SymEnc -> accurately named AESCBC
...
This will also further discourage use amongst anyone who doesn't understand
what this is.
2014-08-29 13:07:49 -07:00
Ryan X. Charles
faa7a81cac
Key().fromPrivkey()
2014-08-29 12:43:55 -07:00
Ryan X. Charles
40e8dfec06
compressed by default with fromRandom
2014-08-29 12:38:43 -07:00
Ryan X. Charles
80625fdbef
move static isValid next to instance isValid
...
...to be easier for developers to parse and distinguish
2014-08-28 20:27:45 -07:00
Ryan X. Charles
5313085773
Pubkey().fromPrivkey()
2014-08-28 20:19:30 -07:00
Ryan X. Charles
c39acbcca3
Privkey().fromRandom()
2014-08-28 19:27:22 -07:00
Ryan X. Charles
2ef5e2f003
network -> networkstr
2014-08-28 17:55:33 -07:00
Ryan X. Charles
280578d641
network -> networkstr
...
...for compatibility with address, and to make the types obvious
2014-08-28 17:53:11 -07:00
Ryan X. Charles
e2824035bb
Pubkey.prototype.set
2014-08-28 17:41:38 -07:00
Ryan X. Charles
356ddcfa4e
test invalid address
2014-08-28 17:32:08 -07:00
Ryan X. Charles
ac47796acd
.isValid() is more convenient than .validate()
2014-08-28 17:30:32 -07:00
Ryan X. Charles
109f31cfdb
Privkey.prototype.set
2014-08-28 17:26:56 -07:00
Ryan X. Charles
6b4bc4c49c
Stealth.prototype.set
2014-08-28 17:00:34 -07:00
Ryan X. Charles
0ca390d45b
Message.prototype.set
2014-08-28 16:42:47 -07:00
Ryan X. Charles
a5f79c7651
Signature.prototype.set
2014-08-28 16:38:21 -07:00
Ryan X. Charles
28d3a40704
Key.prototype.set
2014-08-28 16:18:36 -07:00
Ryan X. Charles
75c1503a92
ECDSA.prototype.set
2014-08-28 16:07:28 -07:00
Ryan X. Charles
0d9b54711e
BufferWriter.prototype.set
2014-08-28 16:02:24 -07:00
Ryan X. Charles
3475ee973c
BufferReader.prototype.set
2014-08-28 15:52:32 -07:00
Ryan X. Charles
3919b24685
make bip32 mostly compatible with the rest of the lib
...
the constructor shouldn't do much. just set some varibles. in this case, i have
yet to write the code that sets the varibles. but better this than
autogenerating a new random BIP32. for that, call fromRandom()
2014-08-28 15:38:29 -07:00
Ryan X. Charles
d50d766352
Base58Check.prototype.set
2014-08-28 15:31:06 -07:00
Ryan X. Charles
da8989b649
add set function to Base58
2014-08-28 15:27:58 -07:00
Ryan X. Charles
6b7592d67b
add address validation convenience function
2014-08-28 15:22:03 -07:00
Ryan X. Charles
f52e679f93
refactor address - use "set" function
...
...intend for this to become standard throughout the lib
2014-08-28 15:18:48 -07:00
Ryan X. Charles
cc316e9455
ECIES
2014-08-28 14:43:21 -07:00
Ryan X. Charles
6f54d4cde6
Encryption -> SymEnc
...
This is more explanatory ("symmetric encryption") and also does not encourage
its use for people who don't know what they're doing. (It should only be used
in combination with some type of message authentication.)
2014-08-28 11:10:40 -07:00
Ryan X. Charles
1cb2f900af
symmetric encryption convenience class
2014-08-27 17:15:10 -07:00
Ryan X. Charles
73b904ce21
CBC decrypt
2014-08-25 21:16:33 -07:00
Ryan X. Charles
dfa190b5a5
blockbufs2buf
2014-08-25 21:02:00 -07:00
Ryan X. Charles
ae319ffcbc
unpad
2014-08-25 20:53:29 -07:00
Ryan X. Charles
a6e74666c8
decrypt blocks
2014-08-25 20:38:39 -07:00
Ryan X. Charles
eddeb60d7d
decrypt block
2014-08-25 20:25:18 -07:00
Ryan X. Charles
97e40f9ac6
rename keybuf -> cipherkeybuf
...
...since this use of "key" is very different than the public/private key pair
that is key.js
2014-08-25 16:38:53 -07:00
Ryan X. Charles
a09cac4ba6
block cipher should support "encrypt" and "decrypt"
2014-08-25 16:30:04 -07:00
Ryan X. Charles
12f29a9b52
CBC encryption
2014-08-25 16:25:01 -07:00
Ryan X. Charles
38d9ab65af
xor buffers ... will be useful for CBC
2014-08-24 20:51:56 -07:00
Ryan X. Charles
1b1ecd989a
pkcs7
...
This is a standard algorithm for the purposes of padding a block for a block
cipher. It will be used in CBC, which in turned will be used with AES for
ECIES.
2014-08-24 19:38:20 -07:00
Ryan X. Charles
1dead4cbc4
AES
2014-08-24 17:33:09 -07:00
Ryan X. Charles
f3dcb5bba1
typo in error message
2014-08-24 14:31:30 -07:00
Ryan X. Charles
b81e4c75fb
put static methods at the top
2014-08-24 14:27:47 -07:00
Ryan X. Charles
ea0ee1b687
add info on public key recovery
2014-08-24 14:26:17 -07:00
Ryan X. Charles
e6a88118ae
fix error message
2014-08-24 12:50:21 -07:00
Ryan X. Charles
bc94a5cb59
sign/verify with uncompressed pubkeys
2014-08-22 19:43:32 -07:00
Ryan X. Charles
7c945cdc01
add "compressed" feature to pubkeys
...
...not just privkeys. since, of course, they can be compressed or uncompressed.
2014-08-22 17:43:22 -07:00
Ryan X. Charles
8e6a28162b
it is a "Compact" signature, not "Compressed"
2014-08-22 16:34:45 -07:00
Ryan X. Charles
6176ad4a98
verify signed messages
...
...and fix bug where i (recover param) was stored incorrectly
2014-08-22 16:15:44 -07:00
Ryan X. Charles
3b3ebb0458
sign convenience function
2014-08-21 16:21:21 -07:00
Ryan X. Charles
15f9a99e65
message signing
2014-08-21 15:50:38 -07:00
Ryan X. Charles
e6d89a76d7
use standard language - hash -> hashbuf
2014-08-21 14:00:18 -07:00
Ryan X. Charles
2131dbdfee
remove unnecessary tab
2014-08-21 11:52:43 -07:00
Ryan X. Charles
ddc9e2d2a4
handle varInts better
2014-08-21 11:47:09 -07:00
Ryan X. Charles
4cff6a41f4
remove "(classname): " from tests
...
...to reduce the burden on writing new code
2014-08-20 13:03:07 -07:00
Ryan X. Charles
912bed1d9c
support BN in bufferwriter
...
So that the precision of writing a variable sized integer is sufficient.
2014-08-20 12:52:37 -07:00
Ryan X. Charles
cde44d689c
fix precision error by handling BNs correctly
2014-08-20 12:35:55 -07:00
Ryan X. Charles
3e82c57e19
"hashbuf" indicates type is a buffer
2014-08-20 10:46:01 -07:00
Ryan X. Charles
ca7fdd77c1
recover public key from signature
2014-08-19 17:15:54 -07:00
Ryan X. Charles
65c3545cb6
include i in sig obj + cosmetic improvements
2014-08-19 16:27:28 -07:00
Ryan X. Charles
39236fab14
formatting
2014-08-19 12:02:34 -07:00
Ryan X. Charles
9d600f4784
BufferWriter
2014-08-18 18:20:54 -07:00
Ryan X. Charles
5e3ad3d09d
BufferReader
2014-08-18 18:04:47 -07:00
Ryan X. Charles
f11ed4d20b
bug: should mod bn addition
...
when adding two private keys to get a new private key, you should mod the
result with N so that it is always less than N.
2014-08-15 15:09:28 -04:00
Ryan X. Charles
d73ff6fa6a
give Base58 the normal bitcore2 interface
2014-08-14 12:13:09 -04:00
Ryan X. Charles
de08f78d74
give Base58Check the same fromString toString
...
...interface like the rest of the classes
2014-08-14 11:56:17 -04:00
Ryan X. Charles
bc1c4235f2
basic stealth address support
...
Math only. Does not yet support transactions. Not yet compatible with Dark
Wallet.
2014-08-13 20:54:05 -04:00
Ryan X. Charles
f8fc3812f0
add BN.prototype.fromBuffer
2014-08-13 19:23:45 -04:00
Ryan X. Charles
f6f7a870fb
allow creating objects without using "new"
2014-08-13 18:55:33 -04:00
Ryan X. Charles
a2512226f8
address convenience functions
2014-08-13 18:00:41 -04:00
Ryan X. Charles
8743c68ce6
kdf
2014-08-13 17:31:28 -04:00
Ryan X. Charles
a2e471ae9e
more consistency: n -> bn, p -> point
2014-08-13 15:23:06 -04:00
Ryan X. Charles
cc310fbc23
add bip32: to error messages
...
...to be consistent with the rest of the library
2014-08-09 23:54:08 -07:00
Ryan X. Charles
efbebb3528
throw error if deriving an invalid path string
...
...the path consists "m", numbers, /, and ' characters
2014-08-09 23:52:19 -07:00
Ryan X. Charles
7def2609ec
add toString method for bip32
...
...so that it is consistent with the rest of the library
2014-08-09 23:29:05 -07:00
Ryan X. Charles
be37f5e37f
improve bip32 interface slightly
2014-08-09 23:16:15 -07:00
Ryan X. Charles
9649cc58e9
bip32
...
code from bitcore. original implementation derived from here:
https://github.com/sarchar/brainwallet.github.com/blob/bip32/js/bip32.js
2014-08-09 22:19:28 -07:00
Ryan X. Charles
5606e083e2
sha512hmac and sha256hmac
2014-08-09 21:51:26 -07:00
Ryan X. Charles
3871e43dd8
make address more consistent with rest of lib
2014-08-09 20:26:03 -07:00
Ryan X. Charles
cd6c2b2410
refactor privkey
2014-08-09 19:58:48 -07:00
Ryan X. Charles
304210c132
add tests for all ecdsa functions
2014-08-09 19:42:25 -07:00
Ryan X. Charles
2ed5290a4e
make "new Point()" work
2014-08-09 19:03:59 -07:00
Ryan X. Charles
c4064cc6e1
ecdsa
2014-08-09 17:43:24 -07:00
Ryan X. Charles
1a01674532
signature
2014-08-09 14:42:23 -07:00
Ryan X. Charles
333c075ae7
key
2014-08-07 21:31:36 -07:00
Ryan X. Charles
5a79879e63
use process.browser only, which is sufficient
2014-08-07 20:39:20 -07:00
Ryan X. Charles
e43c7e3c3a
random
...
...code from bitcore
2014-08-07 16:51:24 -07:00
Ryan X. Charles
448f532738
pubkey
2014-08-07 16:18:17 -07:00
Ryan X. Charles
3df3d41434
privkey
2014-08-06 22:47:10 -07:00
Ryan X. Charles
9f7e01b8ca
rename redundant point.pointFromX to point.fromX
2014-08-06 21:39:25 -07:00
Ryan X. Charles
657f992e7b
point
2014-08-06 21:02:42 -07:00
Ryan X. Charles
ca4131ab05
remove ripemd160 dep., replace with hash.js
2014-08-06 19:06:32 -07:00
Ryan X. Charles
e0deb0407c
add big number support
...
Extend bn.js with some convenience methods. Extension code taken from bitcore.
2014-08-06 18:36:30 -07:00
Ryan X. Charles
862235e57e
initial commit
...
address, base58, base58check, hash all working with tests.
base58check code taken from bitcore.
2014-08-06 18:25:45 -07:00