Daniel Larimer
a421e28048
change json seralization of map<string,T> to be object rather than array of pairs
2016-03-17 17:24:25 -04:00
Daniel Larimer
0dca15c395
Merge branch 'master' of https://github.com/cryptonomex/fc
2016-03-11 12:33:41 -05:00
Daniel Larimer
eaa763aff1
adding canonical flag
2016-03-11 12:33:33 -05:00
Eric Frias
21045dde5f
Add an option to the websocket server constructor to allow disabling deflate
...
compression. Refactored the code to remove duplication between tls/non-tls
versions of the server, which appear to have been cut & paste copies of
one another that had diverged slightly. This makes some of the fixes to
the non-tls server available in the tls server.
cryptonomex/graphene#619
2016-03-10 17:22:28 -05:00
Eric Frias
d5370fc2ea
Update the websocketpp library and change the configuration options we pass
...
when creating the websocket servers to enable deflate compression on
websocket frames. This is relevant to cryptonomex/graphene#540 because
the spammed data is higly compressible. In my tests, it reduces bandwidth
for a single idle node by a factor of ~16, from 577kbps down to 36kbps.
This doesn't require any changes to the wallets, simply upgrading the
public servers will begin sending compressed data to all clients that
support it.
Note: this commit adds a dependency on zlib for non-apple platforms
(it was already required on apple)
2016-03-03 16:53:43 -05:00
theoreticalbts
83b4de067a
future.cpp: Fix use-after-free bug cryptonomex/graphene#597
2016-02-25 03:04:45 -05:00
Daniel Larimer
e5ca765f15
clean up logging
2016-02-15 11:59:28 -05:00
Eric Frias
6ed7717826
Handle http requests to the websocket server async, in a similar manner to the way regular websocket messages were handled since 01445529f0. Fixes cryptonomex/graphene#251 , and likely eliminates the need for the workaround used to fix cryptonomex/graphene#1 and cryptonomex/graphene#252
2016-02-10 15:25:54 -05:00
Daniel Larimer
7840ef16e9
adding rshift
2016-02-04 16:32:13 -05:00
theoreticalbts
46ed830373
variant.cpp: Tighten bool parsing in variant::as_bool() cryptonomex/graphene#525
2016-01-21 15:30:51 -05:00
Michael Vandeberg
d74eee8110
Implements deserialize for extended_public_key and extended_private_key.
...
Implementation needed by cryptonomex/graphene#500
2016-01-07 17:14:16 -05:00
Daniel Larimer
6495004302
move potential yields outside of catch
2015-10-09 17:08:03 -04:00
Eric Frias
2b2dfc62fc
Win32 compile fixes (replace nonstandard runtime-sized auto arrays with alloca)
2015-10-05 12:09:35 -04:00
Daniel Larimer
dacdb997f8
Merge branch 'master' of https://github.com/cryptonomex/fc
2015-10-05 08:44:31 -04:00
Daniel Larimer
6872112ab0
adding extra checks for yielding while processing a catch
2015-10-05 08:44:24 -04:00
Daniel Larimer
7e32df4978
Merge pull request #46 from pmconrad/blinding
...
Blinding a la Oleg Andreev
2015-10-01 09:55:28 -04:00
Eric Frias
9933f57dda
In asio worker threads, catch and ignore exceptions thrown by asio
...
handlers. websocketspp code leaks boost exceptions from its handlers
which would otherwise terminate the program
2015-09-25 19:24:48 -04:00
Daniel Larimer
83a9e4d7c8
Update NTP performance requirments
...
NTP server must ACK within 300ms or time will not be set.
Removed extra printing
2015-09-23 16:22:11 -04:00
Daniel Larimer
d19f67d94f
prevent yielding from catch block
2015-09-14 11:14:52 -04:00
Daniel Larimer
19e42ac4c4
fix potential crash in websocket
2015-09-07 17:46:08 -04:00
Daniel Larimer
08944de151
updating logs to append
2015-09-07 11:15:48 -04:00
theoreticalbts
80d967a70d
variant_object: Implement operator() overload to copy a variant_object
2015-08-28 22:14:27 -04:00
Eric Frias
71be796af5
Remove extraneous spaces in relative time printing
2015-08-24 09:34:18 -04:00
Eric Frias
18ed468c6f
Win32 compile fix (allocate buffer on heap instead of stack, probably a good
...
idea anyway given fc task stack sizes)
2015-08-17 12:38:54 -04:00
Nathan Hourt
9c868b3927
Fix crash on exit
2015-08-14 14:31:09 -04:00
theoreticalbts
c16bb206a3
fstream: Implement read_file_contents
2015-08-06 14:47:15 -04:00
Peter Conrad
e3fc463efc
Initialize openssl properly, use ssl wrapper types instead of ..._free, unify DH_check
2015-07-30 17:43:43 +02:00
Peter Conrad
5377b45d97
Fixed signedness, simplified word-shift
2015-07-30 14:58:35 +02:00
Peter Conrad
d67c18f6c3
Fixed shift in hashes + more tests
2015-07-29 23:22:34 +02:00
Peter Conrad
ef92e68146
Created + added test vectors, various fixes - working!
2015-07-29 21:00:08 +02:00
Peter Conrad
622de81402
Added tests, fixes (sig format, canonicalization)
2015-07-29 21:00:08 +02:00
Peter Conrad
56e98e136a
Initial blinding implementation, untested
2015-07-29 21:00:08 +02:00
Peter Conrad
5ecdcba4b6
Some refactoring
2015-07-29 21:00:08 +02:00
Peter Conrad
0f67ca751e
Implemented extended keys
2015-07-29 20:59:32 +02:00
Vikram Rajkumar
088dadd124
Merge pull request #47 from pmconrad/testing
...
Testing
2015-07-29 13:29:22 -04:00
theoreticalbts
d11b48a015
exception.hpp: Implement exception constructors for const log_messages&
2015-07-28 17:01:59 -04:00
Peter Conrad
0878e7f8f8
Tested + fixed more cases
2015-07-27 22:22:20 +02:00
Peter Conrad
fe0ec4a42d
Added FC_ASSERT to prevent buffer overflow
2015-07-27 21:23:15 +02:00
Peter Conrad
0e681dfb1c
Added tests for base_n encodings, fixed base32 + base36
2015-07-27 21:23:15 +02:00
Eric Frias
a31f0f503d
Fix compile error when readline not available
2015-07-27 12:08:28 -04:00
Daniel Larimer
e9eeb3300c
adding tab completion to CLI
2015-07-27 09:11:20 -04:00
Daniel Larimer
d79855b491
Websocket shouldn't cleanup default_io_service, that should only happen ONE time when main exits.
2015-07-24 08:32:38 -04:00
Daniel Larimer
d76a15ec89
adding child key derivation for ecc keys
2015-07-23 18:45:35 -04:00
Nathan Hourt
17b64bb38f
Resolve cryptonomex/graphene/issues/146
2015-07-22 12:11:04 -04:00
theoreticalbts
5f43c06bae
uint128: Implement popcount()
2015-07-13 17:01:11 -04:00
Vikram Rajkumar
0391665471
Fix and cleanup safe spec; cryptonomex/graphene#10
2015-07-13 14:28:44 -04:00
theoreticalbts
787e4abf3f
exception.hpp: Allow enable/disable assert trip notifications with only one dirty file
2015-07-07 21:50:26 -04:00
Scott Howard
153d3f0433
Fix cryptonomex/graphene#107 : Define char as signed when comparing against EOF
2015-07-05 15:44:32 -04:00
Eric Frias
d462be0e92
Quiet harmless compiler warnings
2015-07-01 11:21:15 -04:00
theoreticalbts
7bd47af88e
rpc: Move many method implementations from headers to cpp files
2015-06-30 15:54:29 -04:00
Vikram Rajkumar
701b9ac00c
Remove problematic easylzma
2015-06-23 16:19:36 -04:00
Vikram Rajkumar
943fe5150e
Remove unused salsa20
...
See https://github.com/bitshares/bitshares/issues/1089
2015-06-23 15:43:36 -04:00
Vikram Rajkumar
43f3aff577
Remove unused scrypt-jane
...
See https://github.com/bitshares/bitshares/issues/1016
2015-06-23 15:34:28 -04:00
Peter Conrad
8ff0f3e764
Dont ignore EOF because users cannot distinguish EOF and empty input line
2015-06-21 15:33:50 +02:00
Vikram Rajkumar
c09035dba0
Merge pull request #41 from emfrias/json_parser_mods
...
Json parser mods
2015-06-15 15:30:35 -04:00
Eric Frias
10e747409c
Fix FC win32 compiling (secp256k1 related errors)
2015-06-15 14:38:33 -04:00
Eric Frias
c2451f30f1
Add a new mode to the variant->json generator to restore the normal
...
behavior of writing numbers out as numbers instead of strings
2015-06-12 11:05:58 -04:00
Eric Frias
e5a5323642
When formatting doubles as strings, use 17 digits of precision to ensure they are read back in without loss (up from 12 digits).
...
Add a mode to the JSON parser to parse all real numbers into strings, so we can later parse them into doubles or another fixed/floating point format to preserve as much precision as needed
2015-06-12 11:05:52 -04:00
Daniel Larimer
8087aa66d0
removing AGPL code
2015-06-11 09:10:12 -04:00
Daniel Larimer
a824aa04a9
Mapping blinding crypto to fc ecc api
2015-06-10 18:34:19 -04:00
Daniel Larimer
01445529f0
handle messages async
2015-05-29 12:11:21 -04:00
Nathan Hourt
83d5bcb147
Mark websockets as logging to rpc
2015-05-27 15:04:34 -04:00
Nathan Hourt
8012ab4705
Fix crash on exit with websocket_client
2015-05-27 14:54:11 -04:00
Eric Frias
043ead5579
Fix compile with microsoft c++ which still doesn't support noexcept
2015-05-22 16:15:00 -04:00
Daniel Larimer
ccd14c7260
Merge pull request #4 from pmconrad/libsecp256k1
...
fc::ecc implementations based on libsecp256k1
2015-05-20 10:30:05 -04:00
Daniel Larimer
71cca4559c
adding quotes around large integers
2015-05-18 15:05:25 -04:00
Daniel Larimer
a3c284408e
make CLI prompt configurable
2015-05-18 13:40:01 -04:00
Daniel Larimer
135949ee19
large integers are converted to strings in JSON printing
2015-05-15 15:58:47 -04:00
Daniel Larimer
9ef91e2245
partial fixes to crashing on websocket client close
2015-05-12 17:15:00 -04:00
Daniel Larimer
c28ed38f1a
adding support for secure websocket client
2015-05-12 16:16:10 -04:00
Daniel Larimer
fb62b6421c
adding ssl support to websocket
2015-05-12 14:50:08 -04:00
Daniel Larimer
812b42dbe6
adding default
2015-05-12 12:59:14 -04:00
Daniel Larimer
4f0919c493
adding sanity checks to string->json parsing
2015-05-12 12:58:47 -04:00
Peter Conrad
d9f6b7a526
Rebase + upgrade to latest libsecp256k1 API
2015-05-07 15:59:21 +02:00
Peter Conrad
a164a55c86
Fixed move constructor + assignment
2015-05-07 14:51:03 +02:00
Peter Conrad
5782fd42af
Added missing constructors + pubkey::valid
2015-05-07 14:51:03 +02:00
Peter Conrad
05dee8669f
Much refactoring
...
Fixed Move semantics in openssl impl
Use in-place construction for secp256k1
Swapped implementations in mixed - sign with libsecp256k1, verify with openssl
2015-05-07 14:51:03 +02:00
Peter Conrad
10897adf1e
Hopefully this is more thread-safe
2015-05-07 14:51:03 +02:00
Peter Conrad
d69e67c032
Work around too deterministic nonce
2015-05-07 14:51:03 +02:00
Peter Conrad
1de9a3ba87
Bugfix
2015-05-07 14:51:03 +02:00
Peter Conrad
abab7617c8
Minor fixes
2015-05-07 14:51:02 +02:00
Peter Conrad
2f383f078f
More refactoring
2015-05-07 14:51:02 +02:00
Peter Conrad
bab3864437
Added mixed implementation, fixed interop test script
2015-05-07 14:51:02 +02:00
Peter Conrad
55f9cf5e16
Added mixed implementation, fixed interop test script
2015-05-07 14:51:02 +02:00
Peter Conrad
414617d8e3
Refactoring, step 2
2015-05-07 14:51:02 +02:00
Peter Conrad
55c5773a46
Started refactoring
2015-05-07 14:51:02 +02:00
Peter Conrad
7b15098f3a
Woot!
2015-05-07 14:49:52 +02:00
Peter Conrad
34af5d98ec
Intermediate version
2015-05-07 14:49:52 +02:00
Peter Conrad
f17444d90b
Added ECC_IMPL switch + interop test
2015-05-07 14:48:00 +02:00
Peter Conrad
8bcaa01541
Mark internal helper functions as static
2015-05-07 14:48:00 +02:00
Daniel Larimer
4df08d8efe
fix crash in websocket
2015-05-06 16:34:55 -04:00
Daniel Larimer
3599850bb9
Merge commit '72288a2'
2015-05-04 14:07:51 -04:00
Daniel Larimer
72288a25b1
making sure getline doesn't blog
2015-05-04 14:07:22 -04:00
Eric Frias
e9824e1740
Add missing include for isatty on win32
2015-05-04 13:36:15 -04:00
theoreticalbts
80de0987d7
Add readline support to fc::rpc::cli
2015-04-29 16:37:54 -04:00
Daniel Larimer
c8200afade
better close notification and error handling
2015-04-01 10:25:57 -04:00
Daniel Larimer
8b5e2e7613
adding helper to get a list of variants from a string
2015-03-31 18:46:05 -04:00
Daniel Larimer
55ee57040a
added support for unhandled extension and mapping the first registered API to global namespace
2015-03-31 17:45:01 -04:00
Daniel Larimer
1fb31737a7
RPC now supports remote callbacks
...
to_variant now skips null optional members on reflected objects.
2015-03-31 11:31:56 -04:00
Daniel Larimer
e506e4f4be
added listen on a specific endpoint/port pair
2015-03-30 16:56:28 -04:00