Commit graph

700 commits

Author SHA1 Message Date
Daniel Larimer
09975ce12b adding IP address to http request handler 2016-04-08 14:18:42 -04:00
theoreticalbts
5c1bb56177 Implement modular API support
- Create class `api_base` to be base class of `api<T>`, and `typedef shared_ptr<api_base> api_ptr`
- Create function `api_base::as<T>()` to allow simple downcast to `api<T>`
- Create class `any_api` to contain an API which has been returned from the remote end, but not yet cast with `as<T>`
- `to_generic()` override allowing remote API to return `api_ptr`, thus we need not know the type of the returned API at compile time
- Allow API's to be referenced by name, if we call with a string API name in the JSON the framework calls get_api_by_name on API 1 to determine the API ID
2016-04-04 00:50:56 -04:00
Daniel Larimer
2d521c390d Merge branch 'master' of github.com:steemit/fc 2016-03-17 17:24:42 -04:00
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
Eric Frias
622ff58039 Make websocket permessage-deflate default to disabled since it causes problems with Chrome 2016-03-14 18:26:29 -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
theoreticalbts
38419164b6 optional.hpp: Allow easy access to contained type 2016-02-26 14:26:58 -05:00
theoreticalbts
232d59525a raw.hpp: Use fc::raw:: namespace explicitly everywhere, cleanup whitespace 2016-02-19 16:36:29 -05:00
Daniel Larimer
bde8a7f424 fixes updates for deque to variant 2016-02-11 17:16:39 -05:00
Daniel Larimer
7840ef16e9 adding rshift 2016-02-04 16:32:13 -05:00
Daniel Larimer
4438c8aa80 fix include dependency and redundancy of to_variant 2016-02-02 13:36:48 -05:00
Daniel Larimer
845f8388c4 add deque support to variant 2016-02-01 18:29:30 -05:00
theoreticalbts
8eec508b8c iostream.hpp: Add get(char&) override to allow unpack(fc::istream, unsigned_int) 2016-01-08 11:20:38 -05:00
theoreticalbts
7b6431f20e raw.hpp: Add pack() override for shared_ptr<T> 2016-01-08 11:20:32 -05:00
Daniel Larimer
cb27b810e3 adding support for unpacking shared_ptr 2015-11-25 12:49:49 -05:00
theoreticalbts
1e10d3dc47 raw.hpp: Require high bits to be 0 when unpacking bool 2015-10-12 10:09:08 -04:00
Daniel Larimer
6495004302 move potential yields outside of catch 2015-10-09 17:08:03 -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
Daniel Larimer
483b348878 Merge branch 'master' of https://github.com/cryptonomex/fc 2015-09-11 08:55:02 -04:00
Daniel Larimer
99e1c1fd52 fix warnings 2015-09-11 08:54:51 -04:00
theoreticalbts
80d967a70d variant_object: Implement operator() overload to copy a variant_object 2015-08-28 22:14:27 -04:00
theoreticalbts
cb006ba03c api_connection.hpp: Possibly fix previous commit, see https://github.com/cryptonomex/graphene/issues/232 2015-08-12 13:45:33 -04:00
theoreticalbts
3cd9ed4386 api_connection.hpp: Properly lock connection object for callbacks 2015-08-10 15:17:21 -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
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
Peter Conrad
0575840a9c Implemented HMAC template + test 2015-07-29 20:58:44 +02:00
theoreticalbts
d11b48a015 exception.hpp: Implement exception constructors for const log_messages& 2015-07-28 17:01:59 -04:00
Daniel Larimer
e9eeb3300c adding tab completion to CLI 2015-07-27 09:11:20 -04:00
Daniel Larimer
d76a15ec89 adding child key derivation for ecc keys 2015-07-23 18:45:35 -04:00
Daniel Larimer
7fc2cc43f1 Adding multi_index to/from variant support 2015-07-23 13:16:19 -04:00
Eric Frias
2593760687 Add overloads for comparing safe<T> with T 2015-07-14 10:45:36 -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
Daniel Larimer
2ef7583f90 adding missing smart_ref files 2015-07-09 13:39:55 -04:00
Daniel Larimer
935e90c1ec fix bug with optional that resulted in 8x more memory than necessary being reserved 2015-07-09 13:39:20 -04:00
Daniel Larimer
8d13f292b8 Merge branch 'master' of https://github.com/cryptonomex/fc 2015-07-08 16:43:29 -04:00
Daniel Larimer
63677c47d9 helper for smart_ref 2015-07-08 16:43:25 -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
theoreticalbts
46d85a3462 exception.hpp: Add assert_trip debug logging for exceptions 2015-07-07 21:49:42 -04:00
Daniel Larimer
e2e0f38dc6 Merge branch 'master' of https://github.com/cryptonomex/fc 2015-07-07 18:30:49 -04:00
Daniel Larimer
7c3260e965 Made static variants compareable based upon type. 2015-07-07 18:30:18 -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
theoreticalbts
443544be4f bitutil.h: Implement endian reversal inline functions 2015-07-02 15:24:02 -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
theoreticalbts
f461dee432 http_api: Implement http_api_connection class to serve RPC over HTTP 2015-06-30 03:00:43 -04:00
Eric Frias
707b9497c6 Increase space reserved for stringstream fwd, cryptonomex/graphene#86 2015-06-25 09:27:24 -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
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
3a392eba51 adding typdefs and exta testing 2015-06-12 09:49:40 -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
969768cdd5 Merge branch 'master' of https://github.com/cryptonomex/fc 2015-06-10 12:54:13 -04:00
Daniel Larimer
68410f35fe defining new api calls 2015-06-10 12:54:12 -04:00
Nathan Hourt
80366e4346 Add missing time_point_sec operator overloads 2015-06-10 10:18:33 -04:00
Nathan Hourt
1bbb748c4e Optimize deque to/from variant 2015-06-04 10:42:59 -04:00
theoreticalbts
0ad91391c7 variant.hpp: Prettify includes 2015-06-01 17:13:51 -04:00
theoreticalbts
b391ecb4c7 deque: Add std::deque to serialization / reflection 2015-06-01 17:13:51 -04:00
theoreticalbts
af636c10a2 Add data_size() member to hash classes 2015-05-28 10:23:27 -04:00
Daniel Larimer
2d5f89bd17 Merge branch 'master' of github.com:BitShares/fc 2015-05-28 08:43:47 -04:00
Daniel Larimer
994c4097fa fix build 2015-05-28 08:43:43 -04:00
Nathan Hourt
d0b4b64923 Remove log spam 2015-05-27 16:15:49 -04:00
Daniel Larimer
637f475e44 parse doubles as strings 2015-05-27 11:26:04 -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
14052a8e46 Merge branch 'master' of github.com:BitShares/fc 2015-05-19 11:40:51 -04:00
Daniel Larimer
2cbb00426c adding ability to get the count of items in a static variant 2015-05-19 11:40:47 -04:00
Eric Frias
3508e0c034 Add overloads of comparison operators to allow comparison of safe/uint128 and native integer classes 2015-05-19 10:03:03 -04:00
Daniel Larimer
a3c284408e make CLI prompt configurable 2015-05-18 13:40:01 -04:00
Daniel Larimer
e934e9a9f7 Adding missing file 2015-05-12 18:41:40 -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
Nathan Hourt
be5a67763b Add new min and max methods on safe 2015-05-12 13:06:11 -04: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
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
theoreticalbts
7dcfa9a910 safe.hpp: Add comment noting that safe is not compatible with uint128_t 2015-05-06 16:52:49 -04:00
theoreticalbts
3bf3b0c9b4 uint128.hpp: Reflect uint128 2015-05-06 16:52:49 -04:00
Daniel Larimer
5dabe6ba2c better error messages 2015-05-06 16:37:38 -04:00
Daniel Larimer
4df08d8efe fix crash in websocket 2015-05-06 16:34:55 -04:00
Nathan Hourt
2e7e14df1c Add missing #include 2015-05-02 15:37:36 -04:00
Nathan Hourt
2195f191e4 Add increment/decrement to safe 2015-05-01 16:18:15 -04:00
theoreticalbts
80de0987d7 Add readline support to fc::rpc::cli 2015-04-29 16:37:54 -04:00
Daniel Larimer
6c589678df adding extra reflection helpers 2015-04-29 13:17:38 -04:00
theoreticalbts
18a484e4bf cli.hpp: Fix include 2015-04-21 15:01:25 -04:00
Daniel Larimer
a0192d1081 unique_ptr to/from variant 2015-04-01 17:24:33 -04:00
Daniel Larimer
257ac52b91 fix build issue 2015-04-01 11:30:47 -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