Commit Graph

4227 Commits

Author SHA1 Message Date
parazyd
41e87e3aee net/protocol: Fix version exchange 2024-05-03 10:22:07 +02:00
skoupidi
73a159ef83 contract/money: properly integrate txs fees into block rewards 2024-05-02 19:01:07 +03:00
skoupidi
07606d27e4 drk: added fee call to transfer 2024-05-02 16:07:30 +03:00
skoupidi
cd4655bb62 src/contract/money: delayed_tx test added 2024-05-01 17:42:24 +03:00
skoupidi
e956ee71f2 drk: bincode rpc retrieval fixed, transfer tx generation fixed 2024-04-29 16:40:00 +03:00
skoupidi
080417bb3f chore: replaced all MerkleTree::new(100) with MerkleTree::new(1) for consistency 2024-04-27 16:02:36 +03:00
skoupidi
80044e306f darkfid: fully configurable fees verification 2024-04-27 15:09:37 +03:00
skoupidi
ca5df82a72 darkfid: apply blocks with minimal verifications when using sync checkpoint 2024-04-24 21:34:34 +03:00
skoupidi
a5b9706829 darkfid: properly handle the garbage collection task 2024-04-24 01:15:40 +03:00
skoupidi
ad7f835d50 darkfid: pending txs garbage collection added 2024-04-23 17:49:02 +03:00
skoupidi
c208ba4442 validator: better erroneous and unreferenced penging txs handling 2024-04-23 14:52:49 +03:00
skoupidi
ee2859554a darkfid: optional checkpoint usage during syncing added 2024-04-22 21:14:56 +03:00
skoupidi
39bfc94d39 darkfid: sync cleanup 2024-04-22 15:17:31 +03:00
draoi
7528147b6c message: extract the length of the packet into a buffer, then deserialize
this protects against hostile nodes from sending giant messages and
eating up our resources in trying to decode them. using `stream.take()`,
we only read as far as the reported length.
2024-04-20 09:24:58 +02:00
skoupidi
12efdd87f3 darkfid: use proposals/consensus logic while syncing
Additionally, performed some cleanup on validator code and handled cleaning up fork mempool when finalizing a block
2024-04-18 18:43:57 +03:00
parazyd
dd3f0583ce net/tests: Fix license header 2024-04-18 10:37:59 +02:00
skoupidi
40739693a1 darkfid: persist sync headers in a sled tree + some minor beautifications 2024-04-17 17:42:41 +03:00
skoupidi
07e7252901 darkfid: sync logic changed
Currently we used forward block syncing, while with this changes we do two step backwards header sync and then forward block sync using already known headers. This enables the node to know in advance the tip of the peers they will sync from
2024-04-16 18:36:56 +03:00
draoi
58db8fe588 session: don't add manual peers to hostlist
By extension, don't share manual peers with other nodes on the network.

This commit also updates the net integration test.
2024-04-15 12:20:35 +02:00
draoi
ec2f74fdaa manual_session: connection attempt now loops forever
previously we would try to connect Settings::manual_attempt_limit times
and exit if we fail on all attempts.

However, Manual session should instead just loop forever. It's not
intended for general users, but is rather a focused session for spinning
up clusters of nodes for development/ testing purposes.
2024-04-15 12:20:35 +02:00
draoi
f46e6abe94 protocol_address: add upper bound to transport requests from other peers 2024-04-15 09:17:55 +02:00
draoi
6c0b1faf98 net: add manual session to p2p integration test 2024-04-13 13:46:55 +02:00
draoi
72c22d0124 doc: change protocol_version TODO to NOTE 2024-04-13 13:46:55 +02:00
draoi
1dcd31ee3a chore: update hosts.rs TODOs 2024-04-13 13:46:55 +02:00
draoi
efe2d57c4e net-test: add assert 2024-04-13 13:46:55 +02:00
draoi
e3c69b0fcc chore: delete unused code comment from message_subscriber.rs 2024-04-13 13:46:55 +02:00
draoi
9aea678125 outbound_session: replace TODO with NOTE 2024-04-13 13:46:55 +02:00
draoi
c0f9920d0a doc: remove deceptive comment on session/mod.rs 2024-04-13 13:46:55 +02:00
draoi
92cbca047e outbound_session: just do seed next time if peer discovery waiting for addrs times out 2024-04-13 13:46:55 +02:00
draoi
740a539bfd channel+protocol_version: add Option<VersionMessage> into Channel
When we receive a version message from a node we are connected
to, update to Some(VersionMessage).
2024-04-13 13:46:55 +02:00
draoi
61e51b33d0 lilith+net: move whitelist_refinery back into lilith + create new public functions
we expose some methods that allow uses of the P2P interface, such as
lilith, to interact with the hostlist in a safe way.
2024-04-11 11:30:42 +02:00
draoi
7ad0792976 net: make self_handshake_interval a configurable Setting 2024-04-11 11:30:42 +02:00
draoi
2055820a9a hosts: fix visibility
Our new visibility policy is as follows:

1. All methods that write to the hostlist or otherwise modify states
   are restricted to the net crate, or are completely private to hosts
   when possible.

2. Read methods that do not modify the hostlist and associated states
   are public, unless it's an internal function that will never be used
   by apps.
2024-04-10 12:11:20 +02:00
draoi
5b02abf032 lilith: move whitelist_refinery() into session::refine_sesssion()
This allows us to avoid making a lot of Hosts functions public that
should rather be private to the net module.
2024-04-10 12:11:20 +02:00
draoi
38dcac45b5 p2p: remove more unused artifacts 2024-04-10 12:11:20 +02:00
draoi
2b46488e09 doc: add missing docstrings to net/outbound_session 2024-04-10 12:11:20 +02:00
draoi
06c64b06aa doc: upgrade some NOTE comments to docstrings 2024-04-10 12:11:20 +02:00
draoi
3998b80d8f p2p: delete unused peer_discovery_running variable 2024-04-10 12:11:20 +02:00
draoi
a4c9ddcfed outbound_session: make SlotPreference enum 2024-04-10 12:11:20 +02:00
draoi
7e95c56d61 session: fix bitflags on mod.rs 2024-04-10 12:11:20 +02:00
zero
2d9f5af6b5 test-harness: update pks/vks hashes 2024-04-10 11:00:51 +02:00
zero
441150bbad contracts: adjust k values to smallest possible 2024-04-10 10:37:02 +02:00
zero
e1b259c019 zkrunner: regenerate all proof witness json files 2024-04-10 10:04:29 +02:00
parazyd
f011b02336 drk: Introduce SQL schema for Deployooor contract 2024-04-09 09:53:57 +02:00
skoupidi
4f9c104206 blockchain: replaced header tree with just its root 2024-04-08 16:36:22 +03:00
skoupidi
9f5e6aafc4 blockchain: changed block height from u64 to u32 2024-04-08 15:17:01 +03:00
skoupidi
0318720cd3 blockchain/tx_store: changed location tx_index from u64 to u16 2024-04-08 12:26:46 +03:00
skoupidi
1a0f997f28 contracts: simplyfied call index usize usage 2024-04-08 12:10:22 +03:00
parazyd
509d9bf0d4 net: Fix bitflags 2024-04-08 10:51:42 +02:00
skoupidi
d9304c15cd runtime: changed call_index from u32 to u8 2024-04-08 11:40:16 +03:00