skoupidi
9a2fad2c0f
drk: replaced rest hardcoded balance base10 decimals with the const
2024-01-26 16:28:13 +02:00
draoi
cecf284cef
net: create system::run_until_completion() to ensure ping_node() does not create zombie process
...
This commit refactors the ping_node method to use a system function
called run_until_completion(), which ensures a task will safely complete even
if it's parent task has been cancelled.
This happens in ping_node() in the case the handshake is ongoing but the
p2p network has been destroyed.
We also introduce a timeout for ping_node() to prevent
perform_handshake_protocols from running forever and blocking
channel.stop() from being safely invoked.
2024-01-26 11:10:44 +01:00
dasman
0567c219bd
bin/darkirc: [commitbot] replace pusher name with committer's
2024-01-25 23:37:43 +03:00
skoupidi
0e400fb299
drk/Cargo.toml: missing darkfi feature added
2024-01-25 20:28:36 +02:00
skoupidi
8c8db819f2
drk: script kiddies be gone
2024-01-25 18:55:47 +02:00
skoupidi
3062597fca
drk is back in the menu boys
2024-01-25 18:52:03 +02:00
skoupidi
2f6bb5748f
drk2: Dao functionality added
2024-01-25 18:44:38 +02:00
parazyd
cf2a5fcc44
darkirc: Add "hostlist" to config
2024-01-23 17:26:59 +01:00
aggstam
342106e2ac
drk2: Completions functionality added
2024-01-23 16:02:31 +02:00
aggstam
8ebcfe3222
drk2/dao: updated to latest changes
2024-01-23 16:02:04 +02:00
Dastan-glitch
2f0d966491
update darkirc tmux test session
2024-01-23 05:16:38 +03:00
aggstam
f9683b867e
drk2: Token functionality added
2024-01-22 20:33:18 +02:00
aggstam
531ead2cb5
drk2: OTC swap functionality added
2024-01-22 16:26:07 +02:00
aggstam
31dd5d6208
drk2: Transfer functionality added
2024-01-22 15:34:37 +02:00
aggstam
1fcbfdded9
drk2: Explorer functionality added
2024-01-22 14:03:41 +02:00
aggstam
4cc4082bb2
darkfid2: notify subscribers for new blocks
2024-01-21 23:41:14 +02:00
aggstam
d440003fd1
drk2: Unspend, Inspect, Broadcast, Subscribe, Scan and Alias functionalities added
2024-01-21 23:40:29 +02:00
aggstam
cf56a07c3d
drk2: finished up wallet subcommand functionality
2024-01-21 15:14:51 +02:00
aggstam
cebeacd858
drk2: addresses functions added and simplified some internal calls
2024-01-21 14:29:38 +02:00
aggstam
6ba1fb5947
drk2: retrieval of multiple db records added
2024-01-20 19:50:02 +02:00
lunar-mining
15d5f7e6d4
lilith: select last element from the whitelist, not random element
...
this reduces the chance of the same element being selected twice consecutively (would only happen consecutively whitelist has a length of 1)
2024-01-20 14:43:59 +01:00
aggstam
0800757693
drk2: initialize schemas
2024-01-20 13:42:09 +01:00
aggstam
f5a9cf3e96
drk: drk rewritte skeleton added
2024-01-20 13:42:09 +01:00
parazyd
d3fae80d5a
chore: Update copyright year in license headers
2024-01-18 19:30:56 +01:00
aggstam
c7248f44f6
darkfid2: parse network config directly from the config file, not as flattened arg
2024-01-18 19:30:31 +01:00
aggstam
efe6f39041
darkfid2: use minerd to mine blocks, validator: cleaned up threads info as its not longer required
2024-01-18 19:30:31 +01:00
parazyd
31d0d2f617
validator: Configurable fee verification, incomplete
...
It's now only used in add_transactions(), but needs to be in other
places as well.
2024-01-18 19:30:31 +01:00
parazyd
4ec1daa589
chore: Enable some additional arti-client crate features
...
Additionally perform a dependency update.
2024-01-18 19:30:31 +01:00
parazyd
7240e6251f
chore: Clippy lints
2024-01-18 19:30:30 +01:00
parazyd
77f3c0d079
net: Port from deprecated async-rustls to futures-rustls.
...
This is also a protocol-breaking change. We now have a bit looser
certificate verification that does not append the base32-encoded
public key into the altName.
2024-01-18 19:30:30 +01:00
parazyd
857ebb42bf
chore: Update crate dependencies
2024-01-18 19:30:30 +01:00
Dastan-glitch
25e696e03b
fix & update darkirc test script
2024-01-18 19:30:30 +01:00
Dastan-glitch
da8d143ef1
fix&update Twitter bot
2024-01-18 19:30:30 +01:00
lunar-mining
f3361db4c4
lilith: change hostlist paths on default config
2024-01-17 14:31:38 +01:00
lunar-mining
eda5c69af4
lilith: add whitelist_refinery task
...
Lilith now periodically pings nodes on its whitelist, updating their
last_seen field if they are active, otherwise downgrading them to
greylist.
This is to prevent Lilith from sharing inactive peers with other hosts
when it shares its whitelist.
2024-01-17 14:27:51 +01:00
lunar-mining
c7cf7d861d
lilith: change no hostlist warning to fatal panic
2024-01-10 14:53:29 +01:00
lunar-mining
995ff6f6c2
lilith: add hostlist path to NetInfo and default config
2023-12-29 17:29:26 +01:00
lunar-mining
b456d8f5ec
lilith: remove load and save host functionality (made redundant by greylist upgrade)
2023-12-29 17:28:15 +01:00
lunar-mining
065f254661
lilith: comment out broken load_hosts code and add FIXME note
2023-12-29 17:25:44 +01:00
lunar-mining
0639e9bdf7
net: working greylist protocol
...
Working on this commit:
* Nodes connect to a seed node, do ProtocolAddr, ping themselves and send over their ADDR if the address is reachable.
* Seed nodes add addresses into greylist, probe them to make sure they're reachable, then promote to whitelist and send to other peers.
* On receiving whitelisted addresses, nodes add to greylist and after performing refinery process, promote to whitelist.
Still TODO:
* reimplement address filtering
* test: unstable_sort_by_key
* implement "anchor" connections when we've already established a connection to a node
* keep track of how many times we ping ourselves to avoid redundant self ping
* idle handshake protocol
2023-12-29 17:21:17 +01:00
lunar-mining
748c659f93
lilith: fix warnings
2023-12-29 17:20:38 +01:00
lunar-mining
de743a03b6
lilith: remove all peerlist filtering logic
2023-12-29 17:19:22 +01:00
lunar-mining
491ad0a318
net: add debug statements
2023-12-29 17:14:30 +01:00
lunar-mining
cf3642fb3a
net/ lilith: change last_seen to use UNIXEPOCH instead of SystemTime
2023-12-29 17:14:20 +01:00
lunar-mining
406a37bbb4
net: only run GreylistRefinery if the greylist is not empty. also properly initalize Weak<OutboundSession>
2023-12-29 17:14:09 +01:00
lunar-mining
a19e20e006
net: cleanup
2023-12-29 17:13:49 +01:00
lunar-mining
4f0c4cdc0a
net/lilith: move refresh_whitelist() process out of hosts and back into lilith.
2023-12-29 17:13:39 +01:00
lunar-mining
2c01db5270
net: migrate outbound sessions over to new protocol. also replace lilith periodic_purge with periodic_cleanse.
...
periodic_cleanse doesn't remove any connections, it simply updates the
last_seen field when it is able to establish a connection, per:
2023-12-29 17:13:07 +01:00
lunar-mining
9a09e8c6cd
net: remove HostPtr from ProtocolVersion and update probe_node()
2023-12-29 17:12:45 +01:00
lunar-mining
7952b8ad41
lilith: store last_seen in host list. also change outbound_session to run new protocol
2023-12-29 17:12:28 +01:00