Commit Graph

56 Commits

Author SHA1 Message Date
Zahary Karadjov e6a619b0bf move some native procs from the libsecp256k1 module to main native module 2018-07-20 20:01:43 +03:00
cheatfate ac8cb31178 Add isZeroKey() procedures. 2018-06-20 12:32:39 +03:00
cheatfate 1c2c88cb32 Fix nimcrypto dependency on nimble. 2018-05-31 09:37:48 +03:00
alexm-status c18a58f1af
Update README.md 2018-05-27 14:10:03 -07:00
alexm-status eefc542caa
Update README.md 2018-05-23 17:44:50 -07:00
cheatfate 22dbb62c25 Removed #master hack. 2018-04-29 22:30:52 +03:00
cheatfate f337a2e463 Merge branch 'master' of github.com:cheatfate/nim-eth-keys 2018-04-28 09:14:17 +03:00
cheatfate 55c01fbb63 Fix nimcrypto dependency. 2018-04-28 09:13:39 +03:00
cheatfate 3fbf1a263c Fix nimble warnings. 2018-04-28 09:12:20 +03:00
cheatfate b8ff0d61a4 Replace &= with add.
Add with0x default argument to toAddress, toChecksumAddress.
2018-04-21 03:01:51 +03:00
cheatfate a0209d67d6 Add with0x argument to toAddress() and toChecksumAddress(). 2018-04-21 02:56:34 +03:00
Yuriy Glukhov 94ada1958f
Merge pull request #15 from status-im/Finalizer
Use finalizers to avoid manual cleaning
2018-04-11 16:58:12 +03:00
mratsim 738270d478 note about finalizer future deprecation 2018-04-11 15:44:57 +02:00
mratsim 8e3dc293fd Use finalizers to avoid manual cleaning 2018-04-11 15:20:00 +02:00
mratsim c1b49f5c4a Rename old_api 2018-04-11 15:04:27 +02:00
cheatfate ddc80f8bff Fix message size checks. 2018-04-11 13:15:24 +03:00
cheatfate bb1fa6346e Fix travis.yml to enable MacOS tests. 2018-04-10 23:44:08 +03:00
Eugene Kabanov 36df1300ce Eth keys API refactor (#14)
* Fix eth_keys to follow nimble rules.
Fix eth_keys to follow NEP-1 rules.
Fix eth_keys to work properly with libsecp256k1 (do not raise uncatchable exceptions).
Added more tests from py_evm, go-ethereum, cpp-ethereum.
Added address utility functions.
Changed public api, to be compatible with more modules.

* Fix newline.

* Added proper appveyor.yml.

* Fix appveyor.yml.

* Removed safeXXX functions.

* Removed Nonce object declaration.
Removed EthKeysContext possibility of inheritation.
Added shutdownLibsecp256k1() and shutdown() procedures.
Some documentation comments got modified.

* Removed RawPublicKey and RawSignature bytes.
getRaw(PublicKey) and getRaw(Signature) are now returning arrays.
Added toRaw(PublicKey, data) and toRaw(Signature, data).

* Added `$` hexadecimal string representation functions.
Added initSignature functions.
Added some previous tests.

* Removed 0x prefixes from `$` functions.
2018-04-10 19:07:40 +02:00
Yuriy Glukhov f22ae0a827 Compute pubkey from privkey, instead of keeping together, initPrivateKey (#13)
* Compute pubkey from privkey, instead of keeping together

* Added initPrivateKey
2018-03-31 09:47:16 +02:00
Yuriy Glukhov 07bd05aae4 Use nimcrypto instead of keccak_tiny (#12) 2018-03-26 21:17:35 +02:00
mratsim 56e569936a Export raw_key - Discovery depends on hashing the raw_key 2018-03-22 08:54:49 +01:00
Yuriy Glukhov 34732e8440
Merge pull request #10 from status-im/Private-fields-remove-ttmath-for-secp256k1-backend
[WIP] Private fields + remove ttmath for secp256k1 backend
2018-03-21 23:14:20 +02:00
mratsim 85e7f11efe Remove tests of private fields + Hide privat fields for real 2018-03-21 21:03:12 +01:00
mratsim a4ed335c8b Fix tests with ttmath 2018-03-21 18:21:49 +01:00
mratsim 4454750f95 Hide the (r,s) in signature 2018-03-21 17:59:50 +01:00
mratsim b4f513c847 Rebase on master (new serialization #9 and tests #11) 2018-03-21 16:45:39 +01:00
mratsim 6383b00bc2 Hiding fields, removing ttmath from libsecp backend 2018-03-21 16:37:31 +01:00
Yuriy Glukhov 0c4bc995d2 Tests for Signature serialization (#11) 2018-03-21 16:29:58 +01:00
mratsim 92bdd41643 Remove ttmath and allow compilation to C, change "private" field names. 2018-03-21 15:54:41 +01:00
Yuriy Glukhov 09c42764e3 Added signature serialization procs (#9) 2018-03-21 15:45:52 +01:00
mratsim 98e8886f86 Hiding fields, removing ttmath from libsecp backend 2018-03-21 14:11:48 +01:00
Yuriy Glukhov ef185ff1ee PublicKey serialization and stringification (#8) 2018-03-21 10:57:36 +01:00
Mamy Ratsimbazafy 74bdca4f1c
Merge pull request #7 from yglukhov/parse-pubkey
Added parsePublicKey and some helpers
2018-03-16 10:48:14 +01:00
Yuriy Glukhov 9154b14e53 Added parsePublicKey and some helpers 2018-03-16 11:29:00 +02:00
Zahary Karadjov a1c604c073 use the correct case-sentive name of the SHA2 module 2018-03-15 16:21:56 +02:00
mratsim 36fe3e56b4 Fix hmac seq[bytes] -> string conversion 2018-03-15 12:18:10 +01:00
mratsim 0a20775035 Merge branch 'master' of https://github.com/status-im/nim-eth-keys 2018-03-13 15:42:12 +01:00
mratsim b5a4d72ad3 Fix: 0.18.0 `$` on array broke nimSHA2
https://github.com/jangko/nimSHA2/issues/2
2018-03-13 15:42:06 +01:00
Mamy Ratsimbazafy adf29031da
Merge pull request #3 from yglukhov/travis 2018-03-12 22:01:40 +07:00
Yuriy Glukhov 23d2290bd4 Moved recovery interface to libsecp package 2018-03-12 16:51:28 +02:00
Yuriy Glukhov 2986baf484 Travis config 2018-03-03 12:03:07 +02:00
mratsim cc15d36cfe Fix `$` compat with Nim 0.18 2018-03-02 11:59:29 +01:00
mratsim c132fac2ce Relicense under dual Apachev2/MIT 2018-03-02 11:57:43 +01:00
mratsim af6f00bd78 require Nim 0.18 2018-03-02 10:11:55 +01:00
mratsim 946c8270d4 `^` not `**` is the proper power operator in Nim 2018-03-01 16:40:03 +01:00
Mamy Ratsimbazafy 5e192ebec9
Fix native backend compilation (static types only) (#4)
* Fix types

* Fix compilation of native backends (implementation tests still fails)
2018-03-01 16:33:34 +01:00
mratsim 18b8617d37 toHex: array indexing requires explicit bytes->int conversion
on latest devel
2018-03-01 13:43:42 +01:00
Zahary Karadjov 6c300a2c6f Set license to Apache v2 2018-02-27 19:41:16 +02:00
mratsim 24bd6e354b Update README: Implementation with libsecp256k1 backend finished 2018-02-14 20:49:26 +01:00
mratsim c042a71175 Add signing verification and public key recovery 2018-02-14 20:40:05 +01:00