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
Daniel Larimer
633ab3f32d
Adding cli wrapper to expose APIs to the CLI
2015-03-31 17:45:08 -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
bcd642e31f
fix memory leak in circular shared ptrs
2015-03-30 18:34:04 -04:00
Daniel Larimer
e506e4f4be
added listen on a specific endpoint/port pair
2015-03-30 16:56:28 -04:00
Daniel Larimer
09e645448d
add support for void return
2015-03-30 14:08:26 -04:00
Daniel Larimer
94faa4e362
add support for const ref params and fix bugs with implict variant conversion
2015-03-30 14:05:21 -04:00
Daniel Larimer
74b707999c
fix bugs with websocket and integrate API support
2015-03-27 16:29:33 -04:00
Daniel Larimer
7008d1419a
adding websocket api stub
2015-03-26 18:38:43 -04:00
Daniel Larimer
b8d7d3012d
abstracting rpc state
2015-03-26 18:17:47 -04:00
Daniel Larimer
41fedc14f3
Merge branch 'master' of github.com:BitShares/fc
2015-03-26 16:51:15 -04:00
Daniel Larimer
4ce26f068f
implement simple websocket wrapper ontop of websocketpp
2015-03-26 16:51:10 -04:00
Vikram Rajkumar
3d17836a1e
Remove extraneous log config setting
2015-03-25 20:07:19 -04:00
Eric Frias
2977ca954f
Workaround compile errors on MSVC
2015-03-17 16:24:39 -04:00
Daniel Larimer
bb7cedade5
adding != op
2015-03-11 18:17:45 -04:00
Nathan Hourt
3b6f2978b0
Cleanup API code
2015-03-11 11:15:11 -04:00
Daniel Larimer
171eb212cd
refactor api_client and api_server into api_connection and add JSON impl
2015-03-11 10:49:30 -04:00
Daniel Larimer
fa352e14bd
nested API calls fully abstracted
2015-03-10 18:52:27 -04:00
Daniel Larimer
ee9c2ac4ed
api progess
2015-03-09 18:50:20 -04:00
Nathan Hourt
4194a609c2
Allow hashing of uint128
2015-03-06 16:41:52 -05:00
Daniel Larimer
9b7753b127
adding hash method to sha224
2015-03-06 15:12:09 -05:00
Daniel Larimer
73c2c1de90
fix static_variant to/from variant
2015-03-05 09:54:33 -05:00
Daniel Larimer
3a120c0f7f
fix bugs in static_variant
2015-03-05 08:58:29 -05:00
Daniel Larimer
0caac3fee9
update exceptions in static_variant and add header gaurd
2015-03-05 08:22:41 -05:00
Daniel Larimer
9c0f222e06
reflecting typename for arbitrary vectors
2015-03-04 11:14:15 -05:00
Nathan Hourt
773844668d
Merge branch 'master' of github.com:BitShares/fc
2015-03-02 18:24:48 -05:00
Nathan Hourt
d0803ec9cd
Fixes circa safe and static_variant
2015-03-02 18:24:37 -05:00
Eric Frias
12460ba28b
Qualify call to fc:: to avoid "ambiguous" error with boost types
2015-03-02 12:23:27 -05:00
Nathan Hourt
b393ddc1da
Check -INT_MIN case in safe.hpp negate operator
2015-03-02 09:51:36 -05:00
Daniel Larimer
e71ea52075
add mult to safe
2015-03-01 09:53:21 -05:00
Daniel Larimer
fd4fc4f0cb
reflect safe
2015-02-28 10:08:04 -05:00
Daniel Larimer
3917a8d6a0
fix static_variant
2015-02-27 16:53:55 -05:00
Daniel Larimer
f9f965809b
bug fixes
2015-02-27 16:07:50 -05:00
Daniel Larimer
c0a4ed77b1
adding static_variant type
2015-02-27 13:41:55 -05:00
Daniel Larimer
537029f09f
fix build
2015-02-23 14:01:58 -05:00
Daniel Larimer
cf6f81dd5b
Merge branch 'master' of github.com:BitShares/fc
2015-02-23 09:06:16 -05:00
Daniel Larimer
7e34d8fe56
Adding support for flat_map,flat_set
2015-02-23 09:06:04 -05:00
SynaptiCAD User
30e52b6b01
Fix GELF logging to split long messages, use compression
2015-02-22 14:07:05 -05:00
Daniel Larimer
ec66863902
added type for safe int ops
2015-02-19 11:39:17 -05:00
Daniel Larimer
cf4ed08d4b
Merge branch 'master' of github.com:BitShares/fc
2015-02-17 09:55:36 -05:00
Daniel Larimer
93a789891e
Adding is_utf8 call and making enum_type cast explicit
2015-02-17 09:55:31 -05:00
Nathan Hourt
c7de8954fb
Merge branch 'master' of github.com:bitshares/fc
2015-02-12 10:55:12 -05:00
Nathan Hourt
de2000795d
Fix crashes when destroying json_connection, tcp_socket
...
Also, create on_close callback on json_connection, so clients can
know when the connection has failed.
2015-02-12 10:54:18 -05:00
Vikram Rajkumar
ee370dd5a8
Define sha256::hash( sha256 )
2015-02-11 18:58:19 -05:00
Daniel Larimer
0bf2f9cfd4
fix conflict
2015-02-11 18:32:23 -05:00
Daniel Larimer
71e4e221b7
merge
2015-02-11 18:28:29 -05:00
Daniel Larimer
057861c608
extra raw io helpers
2015-02-11 18:27:33 -05:00
Nathan Hourt
13430fce12
Revert "Dumb hack that seems to prevent crashing when destroying json_connection"
...
This reverts commit b068865eb5 .
Caused crashes elsewhere.
2015-02-11 17:20:58 -05:00
Nathan Hourt
b068865eb5
Dumb hack that seems to prevent crashing when destroying json_connection
2015-02-10 18:35:50 -05:00
Eric Frias
55c5d95920
Add raw serialization of real128
2015-02-09 18:55:58 -05:00
Vikram Rajkumar
54a51c3471
Define fc::ripemd160::hash() for arbitrary serializable objects
2015-02-05 18:52:03 -05:00
theoretical
323d59b054
real128: Rename PRECISION to FC_REAL128_PRECISION and expose it globally
2015-02-03 11:31:20 -05:00
theoretical
51033bcb12
real128: Implement from_fixed() to initialize real128 from fixed point value
2015-02-03 11:23:22 -05:00
theoretical
27e224b012
uint128: Make to_integer(), to_uint64() assert magnitude
...
- All places these are used already handle magnitude checks correctly
- As a "bit-twiddling" method, low_bits() truncates
- As a "semantics preserving type conversion" method, to_uint64() asserts
- Add low_32_bits() as a "bit-twiddling" non-asserting to_integer() equivalent
2015-01-30 13:19:01 -05:00
Daniel Larimer
633c889ce3
Merge branch 'master' of https://github.com/BitShares/fc
2015-01-29 17:01:19 -05:00
Daniel Larimer
b300404b89
adding comparison operators for optional
2015-01-29 17:01:17 -05:00
Eric Frias
a33bb60cf6
Add a simplified lock file class to use to prevent two applications from using the same resource
2015-01-21 19:29:38 -05:00
Eric Frias
f3065b367e
Add log appender that sends logs in GrayLog Extended Log Format
2015-01-20 16:13:26 -05:00
Eric Frias
0366b2e6b3
Suppress annoying "conditional expression is constant" win32 warning
2015-01-20 16:10:34 -05:00
theoretical
975649ce5d
real128: Replace header comment that inaccurately describes implementation
2015-01-07 13:56:46 -05:00
Vikram Rajkumar
fea997ca14
Fix compiler warnings
2015-01-07 11:53:09 -05:00
theoretical
6ecb55ac2e
Implement full product for uint128 * uint128 -> 256-bit result
2015-01-07 11:20:34 -05:00
drltc
40943808d0
Initial implementation of relaxed JSON parser (not fully tested)
2015-01-02 10:37:16 -05:00
theoretical
524093ce1e
Implement chmod function (no-op on Windows)
2014-12-31 14:42:36 -05:00
Vikram Rajkumar
874f103b8d
Fix overloaded virtual function warnings
2014-12-23 15:45:57 -05:00
Eric Frias
5a91c4f118
Virtualize a few functions in istream to allow them to be overridden in derived classes
2014-12-22 17:56:30 -05:00
drltc
ff1152e55d
Add sync_call() for calling a functor in another thread and waiting on it
2014-12-15 15:40:20 -05:00
Vikram Rajkumar
36baae683e
Minor spelling fix
2014-12-11 19:16:02 -05:00
Daniel Larimer
cb66666edd
Merge branch 'master' of github.com:BitShares/fc
2014-12-10 22:58:53 -08:00
Daniel Larimer
a4a90fac05
Update to elliptic curve signature verification
2014-12-10 22:43:37 -08:00
Nikolai Mushegian
68d3ff57bf
add missing includes for packing variant
2014-12-10 11:21:44 -05:00
drltc
459847741c
Add call() for 8-10 parameters, fix typo for 7 parameters
2014-12-02 11:25:32 -05:00
drltc
16c0709500
Increase stack size to 2MB
2014-11-19 11:27:22 -05:00
Daniel Larimer
e6b43a6149
adding support for 10 arg rpc calls
2014-11-10 18:29:05 -05:00
Nathan Hourt
72088c548b
Tweak FC enum reflection
...
Previously when enum values not defined in the original enum type were
used in serialized objects, FC threw exceptions when it encountered
these values. Now it just serializes unknown values to and from numbers
instead of names.
As an added benefit, the compiler now warns you if a value is defined in
the enum, but not reflected!
2014-10-31 16:30:18 -04:00
Nathan Hourt
95c2c461ac
Add missing + operator to time_point_sec
...
time_point_sec had an operator defined for time_point_sec -
microseconds, but not one for time_point_sec + microseconds. Now it
does.
2014-10-30 18:26:07 -04:00
Vikram Rajkumar
f948bd759d
Use ISO standard delimited timestamp string serialization
2014-10-28 18:54:49 -04:00
Daniel Larimer
42ff2b10de
adding digest helper utility
2014-10-28 16:23:45 -04:00
Eric Frias
d1f51dd643
Fix the currently-unused postfix signed_int::operator++ to do what you'd expect
2014-10-27 16:37:20 -04:00
Eric Frias
307252e23a
Call fc: 🧵 :quit() on thread destruction, and remove code that explicitly terminates threads from the destructors of the objects that own those threads.
...
Fix fc::thread to set the thread name in the Debugger when the name is set after thread construction.
When terminating a thread, cancel any tasks that have been schedule()d or async()ed but have not yet started executing.
When canceling a task blocked on a fc::mutex, notify the thread to reschedule the task to allow it to clean up the mutex's block list.
Fix a bug in managing the recursive lock count when tasks block on a fc::mutex
Reorder the code that manages the hard links for log files to avoid an exception generated by unlinking a locked file on Windows.
2014-10-21 10:25:28 -04:00
Eric Frias
e5666cca54
Convert ready_head (list of fibers able to run immediately) into a priority heap
2014-10-16 16:26:19 -04:00
Daniel Larimer
dfe67a4494
adding blob type to variant
2014-10-15 23:32:37 -04:00
Daniel Larimer
ec9e85d268
fix fixed point math
2014-10-15 20:46:24 -04:00
Nathan Hourt
c3a6b40188
Test and bugfix real128
2014-10-15 17:53:50 -04:00
Daniel Larimer
b55ae3431a
adding real 128 for fixed point 64.64 math
2014-10-15 17:00:49 -04:00
Nathan Hourt
1a78fd2931
Add directory_size call
...
Recursively iterate the specified directory, summing up the files
inside, and return the total size.
2014-10-13 15:17:14 -04:00
Eric Frias
b63e6a8b81
Allow recursive fc::mutexes
2014-10-12 17:28:41 -04:00
Eric Frias
5a615e6b21
Execute async tasks in the order they were asynced (this only changes the behavior of tasks that hadn't started executing yet, it doesn't change anything about the order blocked tasks unblock)
2014-10-03 16:53:14 -04:00
Vikram Rajkumar
5fa3cb8632
Add < operation to private_key to allow usage as an ordered key
2014-10-02 12:55:20 -04:00
Eric Frias
8def04f341
Add a path::preferred_string() function that generates a string in the platform's preferred format, using backslashes on win32 (uses boost::filesystem::path::make_preferred()).
...
Modify the log file configuration and rotating code to call to_native_ansi_path() and do more paths manipulation in fc::path objects and less in std::strings, in an attempt to improve BitShares/bitshares_toolkit#791
2014-09-25 08:57:31 -04:00
Eric Frias
2f066e4adf
Fix a crash in fc::process when not capturing all three stdin/out/err
...
Quiet a few 64-bit warnings.
2014-09-18 11:17:41 -04:00
Eric Frias
3ee5f756fb
Fix a yield-during-catch bug in udp_socket, and add a shared_ptr version of udp_socket::send_to() which will avoid reading from uninitialized memory in the face of cancellation.
2014-09-12 19:42:25 -04:00
Eric Frias
751777e754
Fix more locations where we were making boost::asio calls with buffers declared on the stack which could cause problems when the calling tasks were canceled.
2014-09-11 16:30:03 -04:00
Eric Frias
aa6882b3b7
Allow us to safely cancel tasks that are executing asynchronous network reads
...
and writes. This was previously unsafe because we almost always passed read/write
buffers to boost that were on the stack. Canceling the task deleted the stack and
therefore the buffer, but couldn't reliably prevent boost from writing to the buffer
if data came in after the cancel. This commit adds variants of the read and write
functions that take a shared_ptr<char> instead of a raw char* as the buffer, and
these variants will ensure the shared_ptr will outlive the boost::asio read/write.
2014-09-09 11:10:37 -04:00
dnotestein
10fdbcf5b3
Dequeue a thread from a blocking promise's notify list when the all the thread's tasks that are waiting on that promise are canceled. This prevents a crash when the promise is fulfilled after the thread is destroyed.
...
Re-organize read-loop execution to avoid crashes in read_loop on Win32 when ntp object destructs. Call quit on ntp_thread when ntp object destructs to free up thread (eventually we need to make fc::threads call quit in their destructor, but more work is required to make that work properly).
~fc::udp_socket now closes socket on destruction (consider doing this for tcp sockets as well).
2014-09-08 15:31:13 -04:00
Eric Frias
130da3623e
Allow fibers to be canceled while they're sleeping or blocked on promises
2014-09-08 10:41:59 -04:00
Eric Frias
454573e048
Add support for boost 1.56.
2014-09-08 10:41:59 -04:00
Nathan Hourt
21db937ba7
Add reflector for multimap
2014-09-04 19:14:23 -04:00
Eric Frias
a0b3a9a92d
Restore function-like semicolon-swallowing behavior to FC_THROW
2014-09-02 15:21:30 -04:00
Eric Frias
3222dc7c0b
When reusing a context, re-initialize most of its fields. This fixes at least two errors:
...
- we were canceling tasks that hadn't been canceled, because the canceled flag was left set to true and the next task assigned to the context then became canceled as soon as it yielded
- we were resumeing blocked tasks before they should have resumed, because their blocking_promises list wasn't cleared and they were unblocking because the erroneous promises were fulfilled
As a debugging aid, we also record the cancellation reason whenever a task is canceled, and include that in the canceled_exception (this is only enabled in debug builds)
2014-08-28 15:43:26 -04:00
Eric Frias
477d3397f6
Merge branch 'log_task_names'
2014-08-28 15:29:14 -04:00