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