46 Commits

Author SHA1 Message Date
tomFlowee 7ecf23e391 Follow indexer changes for all services
Separate the log-conf and service-config file locations.
Avoid providing a bind on the commandline, make it come from the
config file instead.
2026-05-22 00:12:45 +02:00
tomFlowee efa6c05e1a A API review of CashAddr.h
This removes from the header all private methods, adds API docs and does
some renames that make code using this API much more readable.
2026-02-09 15:28:04 +01:00
tomFlowee 49324fad28 Limit linking to only needed boost libs.
We now removed the need for Boost:chrono in all the libs, to avoid
accidentally linking to it again this change makes the apps link to
the actual specific libs instead of just all.
2025-03-07 15:36:36 +01:00
tomFlowee 6966dd8643 Minor messaging cleanups in cmake. 2024-08-11 18:49:35 +02:00
tomFlowee bc47a700a4 Refactor; wrap BufferPool in shared_ptr
As we moved most of the creation of a BufferPool to be via the
Streaming::pool() method, which uses a thread-local, it makes sense
to start cleaning up the design and make it more modern C++.
The above mentioned method would return a reference and you'd see
loads of places use `auto &pool =` which is less than ideal.

As the number of places where we actually instantiate a BufferPool
goes down, the usage of some sort of smart pointer makes more sense.

This now makes all APIs use BufferPool be wrapped in a shared_ptr.
2023-12-21 15:23:23 +01:00
tomFlowee 2d0aec2cd7 Rename file to match class it is in
This follows the coding style guideline that the file that contains a
class should follow the exact name of this (main) class.

key.{h|cpp} -> PrivateKey.{h|cpp}
2023-11-24 22:20:40 +01:00
tomFlowee 66f3ec2fe4 Port to Qt6 2022-09-07 12:01:14 +02:00
tomFlowee c9af7cca4a Rename class CPubKey -> PublicKey 2022-07-06 21:56:34 +02:00
tomFlowee c33d54ed7d Rename class CKeyID -> KeyId 2022-07-06 21:52:47 +02:00
tomFlowee 1b5ae89d31 [Refactor] rename FastTransaction.{h|cpp} -> Tx.* 2021-11-02 11:05:14 +01:00
tomFlowee ae78dd0bb8 Update email address 2021-06-20 22:44:44 +02:00
tomFlowee dfdd37ad07 Fix whitespace in docs 2021-04-30 17:33:20 +02:00
tomFlowee fcb648916d Make pubkey follow coding styleguide 2021-04-19 14:48:18 +02:00
tomFlowee ca0201f107 Avoid working on temporary 2021-03-26 19:24:08 +01:00
tomFlowee 8124a65795 Peer reviewed: Blockchain::IncludeTxFees
Make plural.
2021-03-18 11:34:59 +01:00
tomFlowee fdd35c9e2c [REST] Implement address/details POST 2021-03-16 13:38:01 +01:00
tomFlowee bd5baa7133 Add ability to retrieve fees for a transaction.
This adds an option to the GetTransaction Flowee API to return the fees
for a whole transaction.
Support for this is added in the Blockchain (searcher) and the
RestService components.

Notice that no fees will be returned if the BlockMetaData was not
created properly.
2021-03-12 09:06:06 +01:00
tomFlowee a222777c5a Minor fix: pass by reference. 2021-02-26 15:32:31 +01:00
tomFlowee 379e950cde Share code between projects
Move from the rest-server the method returnTemplatePath to the library
and reuse that in the bitcore-proxy client.
2021-02-23 17:55:26 +01:00
tomFlowee cb245f27d7 Make pretty 2021-02-23 16:52:07 +01:00
TomZ b1f8372b10 Improve error messaging for services
We now no longer show the full help page after we've seen a service at
least once. Because we know its not a lack of config that caused the
issue.
2021-02-22 16:31:09 +01:00
TomZ 88caaa4410 Resolve warnings from code-analyzer 2021-02-22 16:31:09 +01:00
tomFlowee 950ca2569a Refactor global threadpool usage.
Use C++11 features instead of boost, and force calling the reserve
method in the getter since its too easy to forget reserve otherwise.
2021-02-18 09:59:00 +01:00
tomFlowee 1deaab6cc3 Search harder for config file.
This gets around the sillyness where you need an extra dir for a config.
  ~/.config/flowee/rest-service/rest-service.conf

now you can just use
  ~/.config/flowee/rest-service.conf
2021-02-06 23:10:17 +01:00
tomFlowee 6a92cbf695 Add easier way to set the id on a base58 data. 2021-01-05 22:38:57 +01:00
TomZ 706be16a8d Make install place the systemd / conf files
This is now also done for the rest-services
2020-11-21 13:58:31 +01:00
TomZ 3343b7a2b2 Share binding code with bitcore-proxy
Additionally, support optional port argument.
2020-11-16 23:09:17 +01:00
TomZ 960e3afeb2 Redo binding logic in all Qt
Avoid conversion to and from boost and this solves the issue of trying
to listen to multiple interfaces not working very well.
2020-11-16 22:45:46 +01:00
TomZ b257ac62b3 Due to popular demand: bind on all interfaces
When there is no config we now bind on all available (at startup)
interfaces to listen for service requests.

This solves the problem where a fresh server would not listen to
requests from the outside world but only on localhost.
2020-11-16 19:44:24 +01:00
TomZ 8f7bf582cf Allow binding on multiple interfaces. 2020-09-20 21:12:51 +02:00
TomZ ea6f128c42 Remove not yet implemented docs
The help message for the address series of endpoints was optimistic
and not all documented ones have been implemented yet.
This removes the unimplemented ones to avoid confusion for users
reading this online.
2020-09-19 20:49:22 +02:00
TomZ 4cf108cc16 Fix possible threading issues
Make sure that aborted() moves to the proper thread in order to write to
the socket without issues.
2020-09-19 20:48:05 +02:00
TomZ fd211fda01 Add new inline docs page 2020-09-19 11:27:00 +02:00
TomZ 57b85a9784 The real damage of the dusting attack: tests fail
I needed to update this auto test which used coins last moved in 2012 as
reference, but the test broke because the dusters (sending 547sats)
ended up adding a UTXO to the output.
2020-09-18 21:13:06 +02:00
TomZ 68759fbf00 [REST] Add unconfirmed fields to the address/details 2020-09-18 20:40:49 +02:00
TomZ 352644fc05 [REST] Make transaction/details also fetch from mempool
This uses the new MempoolSearch api in order to allow the REST API to
fetch and display transaction data which has not been confirmed yet.
2020-09-14 15:30:51 +02:00
TomZ 8642143089 [REST] Add support for POST version of sendTx. 2020-09-09 18:47:25 +02:00
TomZ bf921a4267 [REST] Add sendRawTransaction GET support. 2020-09-09 14:52:50 +02:00
TomZ e423a70975 Implement rawtransactions/getRawTransaction (GET) 2020-09-08 20:29:54 +02:00
TomZ 4d3b243870 Make POST requests work much more reliably
It now checks after the header has been parsed if we need to wait longer
before the POST data has all arrived and schedule that if needed.
2020-09-08 18:38:46 +02:00
TomZ 01c288d6e8 fixlet 2020-09-08 14:25:00 +02:00
TomZ ef1d14d6e6 Add various tests
Also return a json with an error when something went wrong with a
call and separate the self-documentation part out to avoid mixing
them up.
No dev wants to get a html page when they expected JSON...
2020-09-07 20:31:08 +02:00
TomZ b1ef8e5588 Make restService more self-documenting 2020-09-07 14:15:48 +02:00
TomZ 7bb8236b84 Add more tests for the REST apis
and also fix some bugs it found.
2020-09-03 17:07:24 +02:00
TomZ c4ced98c4e Add address/utxo GET test 2020-09-03 17:03:36 +02:00
TomZ 67f0535607 Squashed commit of the following:
commit f1c09cbbdf228cefbfbd339567ba337083e93e52
Author: TomZ <tomz@freedommail.ch>
Date:   Wed Sep 2 13:56:38 2020 +0200

    Fix sorting in address/utxo call

commit c61b03b05de04c9d53c6fdf413dd1b6d33dc17f6
Author: TomZ <tomz@freedommail.ch>
Date:   Wed Sep 2 13:03:43 2020 +0200

    Also catch missing services for more complex searches

    We did catch it on 'start()' which may not actually use a service that
    was missing and only in a followup would the missing service be used.
    So also catch the exception for missing service on the other event
    handling methods.

    This means that we now show a nice "setup needed" message to client when
    a call is done that is not supported because of missing backing service.

commit fbcfe60c7d21b309e9c827dd927de0e196d7f5b6
Author: TomZ <tomz@freedommail.ch>
Date:   Tue Sep 1 16:03:19 2020 +0200

    Also use the complex UTXO lookup to do callbacks.

commit d948225ae7786aa6b62ff9355c2d768a85569642
Author: TomZ <tomz@freedommail.ch>
Date:   Tue Sep 1 15:47:48 2020 +0200

    Add address/utxo call.

commit cbc4695d4abae1404afe03f34b10427e48f819ae
Author: TomZ <tomz@freedommail.ch>
Date:   Tue Sep 1 14:34:31 2020 +0200

    Add address/details API call

    This mostly implements the API call to list an address.

commit 1d215032af09551e2b3eda314c072a200e5fb37a
Author: TomZ <tomz@freedommail.ch>
Date:   Tue Sep 1 14:30:26 2020 +0200

    Fix warnings

    This fixes warnings from the compiler and the linter.

commit b61e7dd42222537b456a79e14439a0d36007e8d7
Author: TomZ <tomz@freedommail.ch>
Date:   Tue Sep 1 14:27:27 2020 +0200

    Blockchain::Search: Clean a little and fix bugs

    This follows the API docs on the utxoLookup() callback and we indeed
    return back the blockheight/etc parameters even if the utxo is already
    spent (represented by unspent=false).

commit 7ec3ebf937d7f2fb6a7a18f21d2e8b645db6fe3e
Author: TomZ <tomz@freedommail.ch>
Date:   Mon Aug 31 12:24:18 2020 +0200

    Fixes and move to v2 url

commit 32b8018af805ce068da7d3e149add66a90c92264
Author: TomZ <tomz@freedommail.ch>
Date:   Mon Aug 31 11:29:35 2020 +0200

    Build the rest service

commit c386adff9d28a0f844916019602ea0032bbc360a
Author: TomZ <tomz@freedommail.ch>
Date:   Sun Aug 30 19:24:29 2020 +0200

    Cleanup old code and make vin work

commit 5b88457863892ff8391e42a7eff61cd243851b41
Author: TomZ <tomz@freedommail.ch>
Date:   Sun Aug 30 18:42:41 2020 +0200

    Output addresses.

commit 46c2ce680409c38f1a67730e23cde942db2ecc46
Author: TomZ <tomz@freedommail.ch>
Date:   Sun Aug 30 17:51:03 2020 +0200

    Make tx-refs easier for the Blockchain::Search

commit b0591b5a6b57e2eb7022db7b7a351c694220e5ad
Author: TomZ <tomz@freedommail.ch>
Date:   Fri Aug 28 18:28:48 2020 +0200

    Make printing of tx work better

commit d337ac91ad4ab9eeb768695c639dcbbbcc463837
Author: TomZ <tomz@freedommail.ch>
Date:   Fri Aug 28 15:46:04 2020 +0200

    Make rest service show a nice help for setup.

commit 5997ff1fa06bd1a6b51ead93eef094a5561fdb53
Author: TomZ <tomz@freedommail.ch>
Date:   Wed Aug 26 17:43:09 2020 +0200

    Parse the json automatically.

commit 5ed7d6e53761828e2e385e085f44d530449b0b3b
Author: TomZ <tomz@freedommail.ch>
Date:   Wed Aug 26 13:07:04 2020 +0200

    Start project rest-service.
2020-09-02 14:58:09 +02:00