Commit Graph

246 Commits (101b4a5aba31aa738bc92abeb47e9db66ab5af6a)

Author SHA1 Message Date
Nelson R. Perez 35570cb4a6 Fixing a potential NullPointerException at the NetworkService 2018-09-21 13:29:47 -05:00
Nelson R. Perez ede7265989 NodeLatencyVerifier
- Using an HttpUrl instance as a key to the map of FullNode instances, we were using simple String here before, but turned out not to be too reliable

NetworkService
- Introducing the NodeLatencyVerifier instance into the NetworkService, and making its use optional
- In case the user opts to use the node-latency verification, the initial connection is delayed until we obtain a measurement of all nodes
- Exposing a PublishSubject, this allows users of the library to get notified of the node latency measurements

NetworkServiceManager
- A boolean flag is now used to decide whether or not to start a NetworkService instance with the node-latency verification feature ON
2018-09-20 21:51:14 -05:00
Nelson R. Perez 776630dd57 - Introduced some instrumented test dependencies
- Fixed a problem in the LatencyNodeProvider#updateNode(FullNode) method
- Fixed a bug in the LatencyNodeProvider#getSortedNodes() method
- Introducing the NodeLatencyVerifier class
2018-09-20 16:21:25 -05:00
Nelson R. Perez ccf61858e4 Modified the NetworkService and the NetworkServiceManager classes in order to pass arguments to the service via Intent extras and to allow delayed network connection 2018-09-19 16:44:26 -05:00
Nelson R. Perez 25222e5ea9 Introducing the NodeProvider interface and its implementation LatencyNodeProvider 2018-09-18 11:15:07 -05:00
Nelson R. Perez 8c89c93935 Added a couple of nodes to the list 2018-09-18 11:14:34 -05:00
Nelson R. Perez 83ce2de14d Introducing the FullNode class, which keeps track of the delay to each full node it represents 2018-09-17 17:48:49 -05:00
Nelson R. Perez 6a2939ab20 Added a getter and setter to the mNodeUrls private attribute of the NetworkService class 2018-09-17 12:21:48 -05:00
Nelson R. Perez 9329d59ce7 Moved the Memo class 2018-09-17 12:19:22 -05:00
Nelson R. Perez 66b0ce7cc1 Removed unused log 2018-09-17 12:13:19 -05:00
Nelson R. Perez a3aa9956e3 Adding serialization capabilities for parameters that are themselves arrays of Integer or Long types, like what we need to properly serialize the 'get_account_history_by_operations' API call 2018-09-13 15:50:18 -05:00
Nelson R. Perez 4f39dac4c2 Registering the proper de-serializer on the GetRelativeAccountHistory API response handler Gson instance 2018-09-11 17:58:00 -05:00
Nelson R. Perez 0437919bb8 Fixing problem with the de-serialization procedure of the 'get_full_accounts' API call response 2018-09-06 23:46:42 -05:00
Nelson R. Perez 39048b1096 Adding the de-serializer of the BaseOperation class to the Gson instance used to handle the notification message 2018-09-06 23:30:59 -05:00
Nelson R. Perez 6abd71252e Added support for the 'get_full_accounts' API call in the single connecton mode 2018-09-06 18:09:18 -05:00
Nelson R. Perez 7d5cfbf14b Merge branch 'feat_central_broker' of github.com:Agorise/graphenej into feat_central_broker 2018-09-05 21:05:13 -05:00
Nelson R. Perez 229590457b - Added support for the 'get_account_history_by_operations' API call
- Introduced a test case for the de-serialization of the HistoryOperationDetail object instance
- Making the sample app use the newly introduced 'get_account_history_by_operations' API call
2018-09-05 21:04:46 -05:00
Nelson R. Perez 52e0196744 Merge branch 'feat_central_broker' of github.com:Agorise/graphenej into feat_central_broker 2018-08-31 19:07:14 -05:00
Nelson R. Perez 63bb5a6dac Sending id as a number inside the parameters array of the 'set_subscribe_callback' instead of a string 2018-08-31 19:07:05 -05:00
Nelson R. Perez f8326093a2 Adjusted code in order to broadcast internally responses with empty results, which were skipped before 2018-08-31 18:11:57 -05:00
Nelson R. Perez 7e2ef7b705 Added support for message subscriptions on the single connection mode 2018-08-30 22:32:50 -05:00
Nelson R. Perez d2390b0a45 Updating the private key whenever the brainkey's sequence number is updated 2018-08-28 21:26:35 -05:00
Nelson R. Perez 1e2716e89e Added a setter to the BrainKey sequence number 2018-08-28 20:25:11 -05:00
Nelson R. Perez 81d61986ea Added support for the GetLimitOrders API call in the single connection mode 2018-08-16 23:59:14 -05:00
Nelson R. Perez bad3bdaff8 Broadcasting the ConnectionStatusUpdate.AUTHENTICATED event 2018-08-09 09:38:25 -05:00
Nelson R. Perez de3dc2b120 Added support for the get_account_by_name API call wrapper in the single connection mode 2018-08-08 18:53:57 -05:00
Nelson R. Perez 66ce8a4ba4 - Modified the ConnectionStatusUpdate class in order to allow it to send more than just connection/disconnection events
- Allowing the NetworkService to be queried about specific API ids
2018-07-26 17:13:55 -05:00
Nelson R. Perez 364c31c78c Merge branch 'feat_central_broker' of github.com:Agorise/graphenej into feat_central_broker 2018-07-25 13:08:30 -05:00
Nelson R. Perez 140cab48cd Added support for the list_assets API call wrapper in the single connection mode 2018-07-25 13:08:09 -05:00
Nelson R. Perez 5955e1c823 Compacting code a little bit 2018-07-25 11:33:12 -05:00
Nelson R. Perez 222fd88afa - Added partial support for the 'get_objects' API call in the single connection mode
- Changed the layout of the sample app in order to present a list of all supported API calls in the first activity
- Introducing a specific activity to perform the API calls in the sample app
2018-06-28 23:42:40 -05:00
Nelson R. Perez 415e41ae11 Added support for the get_account_history API call 2018-06-20 17:23:15 -05:00
Nelson R. Perez 05699df638 Introducing support for the LookupAssetSymbol api call wrapper in the single connection mode 2018-06-16 14:54:17 -05:00
Nelson R. Perez 918d27b5cd Fixed problem caused by the lack of registered API id for calls that don't require any API 2018-06-15 18:26:59 -05:00
Nelson R. Perez 7197ea4078 Fixed a big problem that was causing some random responses not to be de-serialized due to a mistake in the removal of entries in the request class map 2018-06-14 22:16:34 -05:00
Nelson R. Perez be33c91823 Only sending a message if we have the API id 2018-06-14 11:50:35 -05:00
Nelson R. Perez 3159a44c3a Returning -1 if no message was sent 2018-06-14 00:02:10 -05:00
Nelson R. Perez 7c84187681 Deserializing the response to the get_market_history API call and checking the websocket for a null reference before using it 2018-06-13 22:18:36 -05:00
Nelson R. Perez 0df3fad6c0 Introducing support for the GetMarketHistory api call wrapper using the single connection mode 2018-06-12 23:27:06 -05:00
Nelson R. Perez 85bf1d1ba1 Introducing support for the GetBlockHeader api call in the single-connection mode 2018-06-12 13:34:42 -05:00
Nelson R. Perez 4f6b628891 Introducing the SkipAssetOptionsStrategy class, used to avoid falling into an infinite loop while deserializing/serializing results from the get_relative_account_history API call 2018-06-11 23:48:35 -05:00
Nelson R. Perez 7582fefd0e Introducing support for the GetRelativeAccountHistory api call in the single-connection mode 2018-06-11 15:40:01 -05:00
Nelson R. Perez 8ed74dbaed GetBlock constructor now receives an argument of type long 2018-06-11 15:12:48 -05:00
Nelson R. Perez 56c808c353 Added a toString to the PublicKey class 2018-06-11 15:12:16 -05:00
Nelson R. Perez c71d9802ba Correctly deserializing the GetRequiredFees API call's response 2018-06-06 10:50:14 -05:00
Nelson R. Perez 7c79c7f5bf - Introduced the DeserializationMap class in order to keep a mapping between request and response classes, and how to de-serialize them
- Fixed an infinite loop that was introduced in the de-serialization of the AccountProperties
- Implementing the GetAccounts wrapper in the sample app
2018-06-05 23:11:28 -05:00
Nelson R. Perez c956ebadc1 Fixed problem with the new GetAccounts API wrapper 2018-06-04 22:39:44 -05:00
Nelson R. Perez aa758a09e0 Added support for the GetAccount api call in the new service-based single connection scheme 2018-06-04 22:10:03 -05:00
Nelson R. Perez 3125f07da5 Merge branch 'feat_central_broker' of github.com:Agorise/graphenej into feat_central_broker 2018-06-01 21:45:37 -05:00
Nelson R. Perez 7abf7343a1 Added 'isLifetime' property to UserAccount class 2018-06-01 21:45:07 -05:00
Nelson R. Perez 935b0d2575 Using the OperationHistoryDeserializer in the GetRelativeAccountHistory api call 2018-05-31 23:26:15 -05:00
Nelson R. Perez 915b446d1d Extended the BrainKeyTest in order to cover OpenLedger's accounts 2018-05-31 15:52:26 -05:00
Nelson R. Perez 636de75fb8 Gradle update 2018-05-31 15:52:26 -05:00
Nelson R. Perez 87421e210c - Properly resetting the connection status in case of an EOFException
- Allowing the NetworkService to be used with an externally provided list of node URLs
2018-05-31 15:52:26 -05:00
Nelson R. Perez e118b8df04 Added a new #isConnected() method to allow an external party to query the current status of the connection 2018-05-31 15:52:26 -05:00
Nelson R. Perez 0b79231a3a Detecting and deserializing operation history objects 2018-05-31 15:52:26 -05:00
Nelson R. Perez 5dea8a6eb4 Renamed HistoricalTransfer to OperationHistory 2018-05-31 15:52:26 -05:00
Nelson R. Perez 0a4c0c0c9d Added an order book getter to the OrderBook class 2018-05-31 15:52:26 -05:00
Nelson R. Perez 42d5cb68eb Removed the result attribute from the BaseResponse class 2018-05-31 15:52:26 -05:00
Nelson R. Perez 6bda451f72 Increasing the current id after sending the message and moved the shared preferences setup to the SampleApplication class 2018-05-31 15:52:26 -05:00
Nelson R. Perez 1848c82a46 Fixed a couple of crashes caused by accessing invalid data 2018-05-31 15:52:26 -05:00
Nelson R. Perez 593d3fc0d8 - Moved the NetworkService management logic to the newly introduced NetworkServiceManager class 2018-05-31 15:52:26 -05:00
Nelson R. Perez 94986a4786 Introduced the GetRequiredFees API call 2018-05-31 15:52:26 -05:00
Nelson R. Perez e9c920d469 Moved the NetworkService to the graphenej library 2018-05-31 15:52:26 -05:00
Nelson R. Perez 628faf6109 Handling only credentials and API access messages locally, deferring all other messages to the bus 2018-05-31 15:52:26 -05:00
Nelson R. Perez 69a0a64d30 Initial tests in order to introduce a centralized broker architecture 2018-05-31 15:52:26 -05:00
Nelson R. Perez 4fdfed07b0 Added tests for the account upgrade operation 2018-05-30 22:26:09 -05:00
hvarona fd70cb63dc implement Account Upgrade Operation 2018-05-23 11:20:28 -05:00
Nelson R. Perez 3e92673c7b Fixed typo 2018-03-01 11:07:02 -05:00
Nelson R. Perez d0f9ddbbb9 Fixed a remaining issue with the deserialization of the BitAssetData 'get_object' response 2018-02-22 17:38:20 -05:00
Nelson R. Perez 857d861e4b Fixed a problem with the deserialization of the get_objects api call that ocurred when the requested objects were of type impl_asset_bitasset_data_type 2018-02-20 23:38:47 -05:00
Nelson R. Perez dd87ea1df8 Version bump 2018-02-15 23:25:36 -05:00
Nelson R. Perez 2da04adfea Enabling and disabling log printing in the SubscriptionMessagesHub 2018-02-01 12:02:03 -05:00
Nelson R. Perez f186bbe7b9 Adding a getter to the Transaction's blockData attribute 2018-01-25 18:04:26 -05:00
Nelson R. Perez 9af682f0cb Version bump 2018-01-25 17:58:20 -05:00
Nelson R. Perez 3c6d96f48a Using the Bitshares mainnet chain id as default, but allowing the user to set it up manually either via constructor or setter method 2018-01-23 12:03:20 -05:00
Kostya Shpachenko b60fffdc3b Added test of custom operation deserialization 2017-12-18 15:41:21 +02:00
Kostya Shpachenko a2886ea0a5 Fixed deserialization of "seller" field of limit_order_create_operation 2017-12-18 15:40:38 +02:00
Kostya Shpachenko d0629eab85 Implemented deserialization of custom operation 2017-12-18 15:39:37 +02:00
Kostya Shpachenko be9a16a48b Added tests for custom operation 2017-12-13 23:56:41 +02:00
Kostya Shpachenko 16d3ff6721 Implemented support of custom operation 2017-12-13 23:55:00 +02:00
Kostya Shpachenko a849fae997 Added test for GetBlock API call 2017-12-12 16:37:50 +02:00
Kostya Shpachenko 74767f2d1d Implemented GetBlock API call 2017-12-12 16:36:50 +02:00
Nelson R. Perez ff856e7e2c Fixing small issue with the OrderBook#calculateObtainedQuote() method 2017-11-29 00:24:13 -05:00
Nelson R. Perez 50bd0aa05c Version 0.4.6-alpha5 2017-11-29 00:17:47 -05:00
Nelson R. Perez 2520099762 Serializing the memo only when the message bytes is not null 2017-11-27 23:05:42 -05:00
Nelson R. Perez de11203ef8 Version 0.4.6-alpha4 2017-11-27 22:55:15 -05:00
Nelson R. Perez 2e4bd213c7 Changing method's name 2017-11-23 23:39:29 -05:00
Nelson R. Perez fb80fe3c02 Introducing some copy constructors and making sure #multiplyBy and #divideBy return different instances 2017-11-23 23:38:53 -05:00
Nelson R. Perez 9a1808d127 Modified AssetAmount#multiply() and AssetAmount#divide() to not cast its value to a long primitive and thus preventing some overflow scenarios that the idea of using the UnsignedLong class is suposed to prevent 2017-11-23 23:03:41 -05:00
Nelson R. Perez 805903bed4 Version 0.4.6-alpha3 2017-11-23 19:20:45 -05:00
Nelson R. Perez 3796ed5f81 Updating the OrderBook class, adding #calculateObtainedQuote and #calculateRequiredBase methods 2017-11-17 16:46:26 -05:00
Nelson R. Perez ab7f88d17c Version 0.4.6-alpha2 2017-11-16 10:38:49 -05:00
Nelson R. Perez 394ed4b3b0 Adding support for optional decimal or hex representations of the memo's nonce value in the newly introduced toJson method. Also introducing a Serializer 2017-11-09 23:52:50 -05:00
Nelson R. Perez c2287f5410 v0.4.6-alpha1 2017-11-09 23:34:48 -05:00
Nelson R. Perez 70b251a665 Adding support for a string-based query when using the LookupAssetSymbols API 2017-11-09 18:21:41 -05:00
Nelson R. Perez 3406fcdd68 Fixing the test for the GetAccountBalances API handler when used with the NodeConnection class 2017-11-09 17:53:28 -05:00
Nelson R. Perez 2ea1fa9cc7 Using a long data type for the sequenceId variable 2017-11-09 17:51:29 -05:00
Nelson R. Perez 2d81979c08 Only subscribing to events if the clearFilter variable is true, and also adding support for handlers added before the connection was established 2017-11-09 17:50:49 -05:00
Nelson R. Perez 1e18382451 Avoiding a NullPointerException and using a sequential requestId in order to use this class with the NodeConnection 2017-11-09 17:49:18 -05:00