4941 Commits

Author SHA1 Message Date
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