Commit graph

837 commits

Author SHA1 Message Date
Peter Conrad
1eb7b9d5c6 Added some missing checks, fixed indentation, handle different meanings of max_depth 2018-03-19 15:49:07 +01:00
Peter Conrad
a91822616e Added max_depth to remaining variant conversions 2018-03-18 10:49:44 +01:00
abitmore
d9ac2691a1 Remove default pack/unpack functions for class 2018-03-14 17:20:48 -04:00
abitmore
85ea20e2c9 Deprecate default pack/unpack functions for class 2018-03-14 06:25:14 -04:00
Peter Conrad
2f5f599e0d Moved LOG_*_DEPTH variable to new config.hpp 2018-03-13 22:33:21 +01:00
Peter Conrad
271a8377a6 Adapted API conversions, incomplete 2018-03-13 22:00:18 +01:00
Peter Conrad
dd9197c9d5 Added missing depth check 2018-03-13 22:00:18 +01:00
Peter Conrad
81c8d89341 Added max_depth parameter to variant conversions 2018-03-13 22:00:18 +01:00
Peter Conrad
fca5058464
Merge branch 'master' into sanitize 2018-03-13 21:39:40 +01:00
Abit
67e60367a5
Merge pull request #15 from pmconrad/json_parsing_fix
JSON parsing fix from steem PR 2178
2018-03-13 21:36:15 +01:00
abitmore
43ac0b0520 Slightly improve performance for pack/unpack 2018-03-13 13:06:00 -04:00
abitmore
86e18663a0 Add max_depth parameter to pack/unpack functions 2018-03-11 17:31:55 -04:00
Peter Conrad
f9802f6860 Added max_depth parameter to all to_/from_ methods 2018-03-08 22:33:41 +01:00
Peter Conrad
2bacd5fda8 Added broken_nul_parser to preserve previous behaviour 2018-03-07 15:44:18 +01:00
Peter Conrad
90137d400d Fix for recursion depth limitation 2018-03-07 15:44:10 +01:00
Peter Conrad
d336af82a6 Applied variant_from_stream fix from regular to relaxed 2018-03-07 15:43:49 +01:00
Peter Conrad
4bb8bf7832 Fixed relaxed parser wrt "" input 2018-03-07 15:43:38 +01:00
Peter Conrad
1ae3cc2fad Make unused parsers compile-time optional 2018-03-07 15:43:14 +01:00
Peter Conrad
43fabf618f Code deduplication 2018-03-07 15:42:46 +01:00
Peter Conrad
b12205caf6 Minor optimization 2018-03-02 21:13:03 +01:00
Anton Autushka
7d7872cb7b some minor fixes 2018-02-06 15:37:14 +03:00
Anton Autushka
bf86466be1 In static_variant use int64_t as a tag type 2018-02-06 13:00:51 +03:00
Alexey Frolov
5138c58e09 sanitize, remove warnings 2018-02-02 15:29:46 +03:00
Abit
dffe2a444e
static_variant::set_which() rejects negative param 2018-01-20 16:54:09 +01:00
cwyyprog
56d5d45b08
Merge pull request #2 from cwyyprog/cwyyprog-fix-for-build-with-gcc7.2-2
fix compile error
2017-11-14 17:23:19 +08:00
cwyyprog
d157c2c756
Update typename.hpp 2017-11-14 17:11:24 +08:00
cwyyprog
e754b4940e
Update static_variant.hpp 2017-11-14 17:09:08 +08:00
Vikram Rajkumar
cb627980a5 Remove unused CyoEncode and Base32
5c466150ec
2017-06-04 18:13:13 -05:00
Vikram Rajkumar
04694f9c40 Merge branch 'btsabc-fix_vs2013' 2017-06-01 16:12:16 -05:00
Vikram Rajkumar
680731ef1b Remove equihash 2017-06-01 16:11:35 -05:00
kinglaw
0c25cb568f In order to pass compile in vs2013, fixed:
removed equihash from the cmakelists.txt.
Fix the inconsistencies of the template functions "from_variant" ,"unpack" and definitions that processes flat_map.
Signed-off-by: kinglaw <58291@qq.com>
2017-06-01 13:03:02 +08:00
Vikram Rajkumar
0e2b783168 Merge remote-tracking branch 'steem/13-jsonrpc-improvements' 2017-05-21 14:37:31 -05:00
Vikram Rajkumar
6d386e442b Revert "...Fix build?"
This reverts commit 908762d687.
2017-04-25 20:22:31 -05:00
Nathan Hourt
908762d687 ...Fix build? 2017-04-25 15:39:42 -05:00
Michael Vandeberg
fa63cd799f Responses contain jsonrpc field and increased readability of errors #13 2017-04-10 11:12:24 -04:00
oxarbitrage
25d7b3055f struct range_proof_info change int to int64_t
https://github.com/bitshares/bitshares-core/issues/160
2017-03-17 18:31:45 -03:00
Vikram Rajkumar
0d0b485f3a Remove GNTP (unrelated to NTP) 2017-03-16 12:33:30 -05:00
Vikram Rajkumar
fe82998021 Remove NTP 2017-03-16 12:29:57 -05:00
elmato
aed35f5b06 Add access to HTTP request headers in websocket_connection 2017-01-16 19:55:17 +00:00
Vikram Rajkumar
2b26a51b6c Remove unused ssh code 2017-01-13 14:29:22 -06:00
Vikram Rajkumar
326140a931 Remove leftover udt code 2017-01-13 13:36:21 -06:00
Vikram Rajkumar
9d383077fa Revert "change json seralization of map<string,T> to be object rather than array of pairs"
This reverts commit a421e28048.
2017-01-13 13:35:48 -06:00
Michael Vandeberg
72cd69bed9 Merge pull request #7 from steemit/equihash_security
Implement test_canonical_order and test_intermediate_zeros for equihash
2017-01-05 14:18:12 -05:00
Daniel Larimer
b07f429556 remove udt and make websocketpp includes public 2017-01-03 15:13:22 -05:00
theoreticalbts
fe8710a7aa Implement test_canonical_order and test_intermediate_zeros for equihash 2016-12-13 15:27:44 -05:00
Michael Vandeberg
2f202e017c Include is needed for some gcc build environments 2016-12-02 16:15:35 -05:00
Michael Vandeberg
9bc8991f23 Merge commit '463f242ffa4132d22a5006d653bc67b5b703851f' 2016-11-16 11:24:29 -05:00
Michael Vandeberg
50dbc2b139 Add equihash 2016-11-16 11:23:33 -05:00
theoreticalbts
463f242ffa Implement parse_size() function 2016-11-07 14:35:05 -05:00
theoreticalbts
3dc9639bdd api_connection.hpp: Handle deserialization of null api_ptr 2016-10-26 13:17:48 -04:00
Daniel Larimer
ee6ee27290 clean up tests and add some utility methods 2016-10-24 17:44:53 -04:00
Michael Vandeberg
9ce9270f82 Add to_variant for some bip types 2016-10-20 14:32:11 -04:00
theoreticalbts
929d42fe02 Add from/to variant for bip::vector<char, A...> 2016-10-19 09:47:11 -04:00
Daniel Larimer
815f07506c small formatting issues and helper api 2016-10-18 11:53:26 -04:00
Daniel Larimer
6bd5a6c73b Merge branch 'master' of https://github.com/steemit/fc 2016-10-10 17:16:59 -04:00
Daniel Larimer
0ace4298c5 adding interprocess lock 2016-10-10 17:16:57 -04:00
theoreticalbts
636d4530e3 sha256: Add method to return approx log as double 2016-10-04 14:19:59 -04:00
theoreticalbts
585cea9472 sha256: Add inverse log and testing 2016-10-04 14:19:59 -04:00
Daniel Larimer
d352463e82 fix warnings generated by latest clang 2016-10-03 12:03:34 -04:00
Daniel Larimer
e8b7e9d447 adding scoped_exit helper 2016-09-29 16:09:06 -04:00
Daniel Larimer
9dfee17413 Merge branch 'master' of https://github.com/steemit/fc 2016-09-28 15:55:14 -04:00
Daniel Larimer
fa5d86d821 define interprocess vector packing 2016-09-28 15:55:08 -04:00
theoreticalbts
f14f463687 fixed_string.hpp: Don't use skip() as not all stream types support it 2016-09-28 14:37:35 -04:00
Daniel Larimer
5da49e5413 Merge branch 'master' of https://github.com/steemit/fc 2016-09-28 11:55:58 -04:00
Daniel Larimer
fb4ddbac0d addding improved support for serializing boost interprocss types 2016-09-28 11:55:51 -04:00
theoreticalbts
ea78d2e75d reflect.hpp: Improve reflection of enum types
- Fix implementation of FC_REFLECT_VISIT_ENUM()
- Re-enable visit() for enum
- Add typename information for enum
2016-09-23 12:21:28 -04:00
Michael Vandeberg
78b511c11e Fix warning in fixed_string.hpp 2016-09-20 15:06:00 -04:00
Daniel Larimer
3c6d7d9fe3 remove console spam 2016-09-16 17:17:06 -04:00
Daniel Larimer
ddc2c16cdb removing duplicate definitions given boost::flat_map == boost::interprocess::flat_map 2016-09-16 14:53:03 -04:00
Daniel Larimer
5c5156f3db remove multiprecision from fixed_string 2016-09-16 13:31:03 -04:00
Daniel Larimer
e7d0d26fe2 adding fixed_string definition 2016-09-15 15:29:16 -04:00
Daniel Larimer
f59a516256 define to/from variant for boost interprocess deque and vector 2016-09-14 10:30:48 -04:00
theoreticalbts
360d86da80 Fix uninitialized variable warning 2016-08-29 13:11:37 -04:00
theoreticalbts
21d62f0a96 Throw when deserializing an integer into a value not in enum 2016-08-26 16:28:36 -04:00
theoreticalbts
80b2341e77 Throw when parsing a string as enum if the string parses as integer but does not exist in enum 2016-08-26 15:29:43 -04:00
theoreticalbts
8d99ea94e6 Avoid undefined behavior in enum deserialization
atoi() has undefined behavior when given a string that can't be parsed as an integer.
This patch replaces atoi() with boost_lexical_cast() and throws an exception when we get
something that's not a number.
2016-08-26 15:01:26 -04:00
theoreticalbts
894d784523 api_connection.hpp: Rename member variable api -> _api to avoid conflicting with type name 2016-08-15 10:59:42 -04:00
theoreticalbts
f3e69d81a9 sha256: Implement and test clz(), approx_log_32() 2016-08-11 12:10:14 -04:00
Daniel Larimer
d74f49ab04 progress on binary api connection 2016-07-30 19:25:32 -04:00
Daniel Larimer
de9a29c33e Progress toward binary RPC" 2016-07-30 19:24:15 -04:00
Daniel Larimer
e8e26838cc first step toward binary RPC 2016-07-30 18:41:03 -04:00
Daniel Larimer
2bc237537c updating websocket and adding new utf8 code 2016-05-24 19:24:03 -04:00
theoreticalbts
44ede99409 websocket.cpp: Allow specifying CA root in websocket_client constructor 2016-05-18 21:14:25 -04:00
theoreticalbts
b6fdcdd5dd json_relaxed.hpp: Fix bug in triple quote string parsing 2016-05-05 13:03:35 -04:00
theoreticalbts
1f02c6790f Revert "Add an option to the websocket server constructor to allow disabling deflate"
This reverts commit 21045dde5f.
2016-04-19 22:58:37 -04:00
theoreticalbts
7906a58468 Revert "Make websocket permessage-deflate default to disabled since it causes problems with Chrome"
This reverts commit 622ff58039.
2016-04-19 22:58:30 -04:00
Daniel Larimer
b34e8584ae Merge branch 'master' of https://github.com/steemit/fc 2016-04-08 14:18:47 -04:00
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