Commit Graph

305 Commits

Author SHA1 Message Date
tomFlowee 3becd7aa45 Remove unused log sections and code
Decentralized all things!

But, really, don't put the logging sections for external apps in the
library code.
2023-04-04 15:47:25 +02:00
tomFlowee 805c2d9893 Split out the too-big logging section 'p2pnet'.
This introduces the spv-sync debug section as a child of the p2p lib
logging section.
2023-04-01 22:58:11 +02:00
tomFlowee 1d75226cd6 Add comments 2023-01-30 17:10:12 +01:00
tomFlowee b5b493542b Rework base58 and tests
The unit tests testing base58 encoding were using univalue JSON
parsing, since we deprecatd univalue to be a hub-private lib
this has now been ported to Qts JSON parser.
Which also makes the clunky cmake hack nice to replace with the
QRC files concept.

As I was in there anyway, the base58 methods being global scope
C-style methods has now been fixed by putting them in a namespace.
2022-12-13 11:34:54 +01:00
tomFlowee c63519fa47 Move 3rdparty libraries around.
The leveldb and univalue 3rd party libraries are not installed and
not needed by anyone outside of the Hub.
So move them there, making it easier for 3rd party usage.
2022-12-13 11:34:54 +01:00
tomFlowee 6de770466b Avoid possible references-of-deleted
This sanity check might avoid issues in future code by not assuming a
log channel (or anything it depends on) will avoid using logging at the
moment it is shutting down.
2022-11-25 14:01:05 +01:00
tomFlowee f3fb02a522 Make channel interface available
The manager now has an addChannel() method for anyone wanting to
implement a separate logging channel.
2022-11-24 18:14:14 +01:00
tomFlowee f798bf6fe5 On adding log-file output, instantly open it.
This allows this API to be used in more places and do the expected
thing.
2022-11-11 19:03:57 +01:00
tomFlowee 58afd8ab6a Make compile with older libc 2022-09-13 20:30:38 +02:00
tomFlowee c6720314ff API fix 2022-08-13 23:42:40 +02:00
tomFlowee 8ff3802687 Fixes in the HDMaster* classes 2022-07-11 18:04:14 +02:00
tomFlowee 887fbef139 Add some convenients methods. 2022-07-11 13:31:24 +02:00
tomFlowee a737803198 Install HDMasterPubkey.h 2022-07-11 12:55:31 +02:00
tomFlowee 0c2ddfe760 fix language in comment 2022-07-10 12:07:11 +02:00
tomFlowee 9a9a2d0829 Avoid duplicating magic numbers
Move the prefix numbers all to one place to avoid copy-pasting them.
Also make the xpub more complete.
2022-07-08 13:14:41 +02:00
tomFlowee f318774663 Add HDMasterPubkey to derive xpub style addresses
This also alters the 'toString()' on HDMasterKey to stop giving
a rather useless xpub and turn it into a dedicated toXPubString()

Closes: #1
2022-07-07 21:16:50 +02:00
tomFlowee 0eee5a06b6 Split test into two.
Since they are in different libs, it makes sense to put the right part in
the right test dir.
2022-07-07 21:00:53 +02:00
tomFlowee 1ab4d88993 Split version.h
Version.h held mostly stuff for protocol.h, which is a hub-specific file.
The only thing that we actually use is the PROTOCOL_VERSION in our code
and as such that one moved to the interfaces dir.
2022-07-06 22:50:53 +02:00
tomFlowee 05bbba3cb3 Rename class CKey -> PrivateKey 2022-07-06 22:12:33 +02:00
tomFlowee 0f91e9ac46 Remove dead code 2022-07-06 22:08:50 +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 32c7f28b24 Change cast.
This correctly makes our value signed before turning it into
a negative number.
2022-07-06 14:28:34 +02:00
tomFlowee 1572608605 Make this explicit
Since the default copy constructor of the HDMasterKey uses the copy
constructor of CKey, make the latter have a copy constructor explicitly
defined as well.
2022-07-06 14:10:23 +02:00
tomFlowee bc52d3eda0 Be consistent in the header file and avoid misuse. 2022-07-06 14:09:17 +02:00
tomFlowee 82ca91d836 Use slightly less memory.
This avoids creating an empty static string in most well written apps.
Also use const ref for a loop because that avoids copying.
2022-07-06 14:08:18 +02:00
tomFlowee cfc50b3a9a Always initialize this field in the constructor.
This avoids future problems should the constructor be used elsewhere.
2022-07-06 14:05:44 +02:00
tomFlowee 9fa877f425 Rename hashing methods to start with lowercase 2022-05-17 00:46:54 +02:00
tomFlowee cca8a885bc Fix coding style issues
Follow the coding styleguide and make the methods lowercase on CKey
2022-05-11 13:46:15 +02:00
tomFlowee 7b57024413 Make set() be internally consistent
setting an incorrect value should not keep the old data after we already
update the fValid boolean.
That would give the user the impression that the data was removed while
it really isn't.
2022-05-11 13:20:15 +02:00
tomFlowee aef7366034 Implement BIP69 in TransactionBuilder
This adds support for the
 Lexicographical Indexing of Transaction Inputs and Outputs
anonimize concepts of transactions directly in the transaction builder.
2022-04-15 17:33:55 +02:00
tomFlowee e23925a954 Clean up the API and implement logging on failure 2022-04-06 14:23:37 +02:00
tomFlowee e5c97d1e87 Use non-openssl cleanse 2022-04-06 12:04:23 +02:00
tomFlowee a47a7072b3 Add unit test for allocator too 2022-04-06 11:39:49 +02:00
tomFlowee 0d4b214e23 Move over to the new allocator 2022-04-06 10:24:16 +02:00
tomFlowee 26262783de Allow mid(1, 0) to be called
This now creates a zero size, empty, result.
2022-02-10 18:02:50 +01:00
tomFlowee c0989158c0 Add API docs. 2022-02-08 19:03:14 +01:00
tomFlowee 41e00b134f Add convenience methods on ConstBuffer
this adds indexOf() and toString()
2022-01-25 23:59:54 +01:00
tomFlowee 5bebaeb37c Add another write() helper method. 2022-01-24 13:19:23 +01:00
tomFlowee 7376c28a3c Move pool thread-local getter to utils.
This nicely cleans up the calling usage a static on the connection
manager instance.
2022-01-24 12:06:37 +01:00
tomFlowee 7b5c10845e Add helper method 2022-01-21 22:44:36 +01:00
tomFlowee 1b5ae89d31 [Refactor] rename FastTransaction.{h|cpp} -> Tx.* 2021-11-02 11:05:14 +01:00
tomFlowee 639a57d957 [Refactor] primitives/BlockHeader -> BlockHeaderFields
This avoids a naming conflict with a p2p class BlockHeader.

Notice that the block data structures are mostly still private API, they
are in the utils dir but headers are not installed, nobody has needed
them so far.
2021-11-02 11:05:14 +01:00
tomFlowee 50af3dc02c [Refactor] rename FastBlock.{h|cpp} -> Block.* 2021-11-02 10:24:58 +01:00
tomFlowee 6ff0e7c0de [Refactor] FastBlock -> Block 2021-11-02 10:18:24 +01:00
tomFlowee dce57fd8ea [Refactor] rename block.{h|cpp} -> MutableBlock.* 2021-11-02 10:13:23 +01:00
tomFlowee 406dc46671 [Refactor] move CBlockLocator to libs/server
Its not needed anywhere outside the apps.
2021-11-02 09:59:13 +01:00
tomFlowee 4689cc6a92 [Refactor] CBlock -> MutableBlock 2021-11-02 09:36:09 +01:00
tomFlowee 64d901d760 Refactor; CBlockHeader -> BlockHeader 2021-11-02 09:28:35 +01:00
tomFlowee cc2b725452 Install random.h from flowee_utils 2021-10-27 19:14:09 +02:00