x
b8c81f7353
event_graph: Bidirectional sync, persistence, minor improvements
2026-04-16 12:52:05 +00:00
x
fe95bc2258
chore: Clippy lints
2026-04-07 10:39:08 +00:00
oars
3885d494c0
event_graph: header sync with tips, retrieves events header that are not ancestors of the tips
2026-04-06 05:17:40 +03:00
oars
ef7e4411c8
event_graph: add tests
2026-04-06 05:17:40 +03:00
oars
6079b19cd0
event_graph: fixes a bug due to how message subscription is handled between dag_sync and event_handle_put that triggers "peer replied with wrong event" when a valid event is replied from a peer
...
- when events are requested during dag_sync there are two subscribers for EventRep message, one is the one in dag_sync the other one is in EventGraph,
so _trigger_all in message dispatcher sends EventRep to all subscribers, thus the subscriber for EventRep in EventGraph will have messages queued
when event_handle_put starts executing, thus when requesting for missing_parents events in handle_event_put, it will get the queued EventRep
from dag_sync and it will result in "replied with wrong event" error
- the fix is to clean the message subscription queue before starting handling the new message in event_handle_put
2026-04-06 05:17:40 +03:00
oars
70f3b93190
event_graph: during event request retrive only the headers we don't have the events for so we don't ask the event we already have
2026-04-06 05:17:40 +03:00
oars
454a25fd96
event_graph: set synced boolean to true after all dags are synced
2026-04-06 05:17:40 +03:00
dasman
29b559fc5c
event_graph: cleanup and refactor poc memory expensive fields
2026-04-06 05:17:40 +03:00
dasman
719db10f7d
event_graph: proper distiction between registered and slashed RLN accounts
2026-04-06 05:17:40 +03:00
dasman
47435c8300
event_graph: implement slash zk circuit utilizing remove_leaves()
2026-04-06 05:17:40 +03:00
dasman
e9141d5831
event_graph: added account registeration zk circuit, removed old privmsg struct, plust few small fixes
2026-04-06 05:17:40 +03:00
dasman
fac3892c4b
event_graph: [WIP] implement slashing, storing shares, recover secret
2026-04-06 05:16:38 +03:00
dasman
99dbc2dc4f
[WIP] add static DAG and implement RLN
2026-04-06 05:14:00 +03:00
dasman
842caa25e1
event_graph: fix already sync check
2026-04-06 05:14:00 +03:00
oars
b544722d69
event_graph: fix order of events sent to client, should be oldest to recent
2026-04-06 05:14:00 +03:00
oars
f5cc23d9ac
event_graph: simplify sort_dags by turning header_dags and main_dags to BTreeMap
2026-04-06 05:14:00 +03:00
oars
6c93c11ba1
event_graph: use the genesis timestamp as a dag name, this will make it easier to sort dags
2026-04-06 05:14:00 +03:00
dasman
70ba815ebb
event_graph: fix publishing genesis event to binaries
2026-04-06 05:14:00 +03:00
dasman
e75c9936b1
event_graph: increase number of dags to 24, and decrease rotation periods to 1hr
2026-04-06 05:14:00 +03:00
oars
0ab59427a9
event_graph: improved faster parallel event download
...
- the last one uses join_all on the futures thus the speed of the download is determined by the slowest peer
- in the current impl, FuturesUnordered is used to schedule a chunk download as soon as one peer finishes,
thus the download speed will be determined by the fastest peer
2026-04-06 05:14:00 +03:00
oars
0a58512423
event_graph: fix bug with batch insert of events in dag_insert
2026-04-06 05:14:00 +03:00
dasman
8bc4cec15a
evgr2: merge multi-dag branch
...
one is able to sync up to 5 dags each of 24hrs, pruning means dropping the oldest (fifth) dag and prepend a new one.
2026-04-06 05:14:00 +03:00
dasman
17328a6c51
event_graph: chore clippy and fmt
2026-04-06 05:14:00 +03:00
dasman
8094102614
event_graph: fix broadcasted_ids issue when batch downloading events
2026-04-06 05:14:00 +03:00
oars
19b8d125c7
event_graph: parallel event download
2026-04-06 05:14:00 +03:00
dasman
eab0aa9b88
event_graph_v2: implementing sync mechanism and fast head mode
2026-04-06 05:14:00 +03:00
dasman
616e5cdd25
[WIP] added event headers, concurrent requests from connected peers and wip sync mechanisms
2026-04-06 05:14:00 +03:00
oars
76588e4221
drk, contract/test-harness: don't add tx-local coins to money tree
2026-03-30 17:56:19 +03:00
oars
fc8b542a1a
contract/money/client/transfer_v1: make proof module accessible, important when building custom transfer calls
2026-03-27 15:17:26 +03:00
x
a5d06e324f
money/tests: Add DEP-0008 test and remove delayed-tx test
2026-03-24 15:34:06 +00:00
x
06528a9c14
money/burn: Implement tx-local state and remove token commitment limitation
2026-03-24 15:34:06 +00:00
x
d4e1c33592
money/token_mint: Remove spurious comment from TokenMint
2026-03-24 15:34:06 +00:00
x
15d399e6f5
contract/money: Implement tx-local state
2026-03-24 15:34:06 +00:00
x
440b6f8a4f
contract/money: Avoid use of unwrap() in accumulator group helper
2026-03-24 15:34:06 +00:00
x
49a85c9d12
sdk/wasm: Add _local db functions for wasm contract usage.
...
This adds the contract-side API for DEP-0008.
2026-03-24 15:34:06 +00:00
x
1da8d83977
runtime/import: Implement tx-local db functions
2026-03-24 15:32:25 +00:00
x
4df34ceaac
runtime/db: Refactor functions into separate modules
2026-03-24 15:31:01 +00:00
x
24e884106b
validator|runtime: Add tx-local state
...
This adds a transaction-local, in-memory database in Runtime that
exists during single transaction execution.
2026-03-24 15:31:01 +00:00
skoupidi
1b0a1a01a4
validator/utils: use the correct randomx hash based on block pow type in block_rank()
2026-03-24 17:17:30 +02:00
oars
eec7de2ecd
refactor: move compute_fee from validator to sdk/blockchain and remove drk dependency on validator feature due to validator feature's deploy_native_contracts function
...
that causes an error when drk is used as a library
2026-03-13 16:50:41 +02:00
brid
d268ae6847
drk/doc: grammar edit drk help and doc comments
2026-03-04 13:01:59 +01:00
x
2b955bfdd5
contract/money: Remove artifical limit of single token ID per transfer.
...
We now keep grouped accumulators for each token ID.
2026-02-25 12:25:10 +00:00
G10h4ck
7e2c613054
net: add UPnP IGD NAT traversal support
...
Implement opt-in UPnP IGD port forwarding for P2P nodes behind NAT,
enabling inbound connections without manual router configuration.
This is gated behind the `upnp-igd` feature flag.
Changes:
- Add PortMapping trait for pluggable port-mapping protocols (UPnP, PCP, NAT-PMP...)
- Add optional oxy-upnp-igd v0.1 dependency behind `upnp-igd`
- Parse UpnpConfig (enabled, discovery_timeout, lease_duration, description,
refresh_interval) from listener URL
- Periodically refresh external address and publish it to the P2P network
- Add UPnP-specific error handling
- Enable `upnp-igd` feature in darkirc (opt-in; not enabled by default)
Port mappings are created lazily once a gateway is discovered and are
automatically renewed. External addresses are tagged `source=upnp` and
refreshed at a configurable interval.
Signed-off-by: Gioacchino Mazzurco <gio@polymathes.cc >
Reviewed-by: grug
Reviewed-by: upgrayedd
2026-02-13 13:33:29 +02:00
skoupidi
06ff2454fd
validator/utils: minor fix in worst_fork_index()
2026-02-12 15:41:47 +02:00
skoupidi
cc782bfea2
validator: chore format comments to match style
2026-02-11 16:01:14 +02:00
skoupidi
caca412031
validator: use a single MAX_32_BYTES constant
2026-02-11 15:20:38 +02:00
skoupidi
89b4dbe4a1
validator/verification: verify block timestamp based on sync state
2026-02-11 15:18:44 +02:00
skoupidi
b4fa82cb3f
validator/utils: fixed missmatched returned value in median()
2026-02-11 15:06:41 +02:00
skoupidi
de5b7699c6
validator/consensus: ensure no other competing fork exists during confirmation
2026-02-11 15:06:05 +02:00
skoupidi
e4ce356952
validator/consensus: check fork proposals are after the requested tip height before appending them in get_fork_proposals_after
2026-02-11 15:05:15 +02:00