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
skoupidi
8753c20c1b
validator/pow: don't blindly unwrap next darkfi rx key
2026-02-11 15:04:26 +02:00
skoupidi
08adccb16c
validator/consensus: minor clarification comment added in reset_forks()
2026-02-11 15:02:22 +02:00
skoupidi
eb7ee7dddc
validator/consensus: bound in-memory forks with a configurable param
2026-02-11 15:01:08 +02:00
x
7c5390c899
contract/money: Implement Money::BurnV1 function
...
This allows provable coin burning without requiring outputs.
2026-02-10 15:03:25 +00:00
x
4607434a13
Use simplified harness API for tests
2026-02-10 14:46:27 +00:00
x
a173a5c412
contract/dao: Use simplified harness API for tests
2026-02-10 14:41:55 +00:00
x
348ea7fff1
contract/money: Use simplified harness API for tests
2026-02-10 14:41:55 +00:00
x
c17f2a650d
contract/test-harness: Deduplicate Nullifier and Coin handling code
2026-02-10 14:41:55 +00:00
skoupidi
7181db089e
chore: updated sled-overlay to new version
2026-02-09 18:16:37 +02:00
x
06cf1be98d
validator: Use saturating arithmetic
2026-02-09 12:37:11 +00:00
skoupidi
142ac78c38
validator/consensus: log height when appending proposal
2026-02-03 20:53:54 +02:00
skoupidi
3bbe1166fa
chore: updated sled-overlay to new version
2026-02-03 20:53:26 +02:00
oars
bc79cb5021
net/session/refine_session: replace unwrap with error handling
2026-02-03 20:49:59 +02:00
skoupidi
cb07f10595
chore: updated sled-overlay to new version
2026-02-02 23:20:13 +02:00
skoupidi
67a8cb3833
chore: updated sled-overlay to new version
2026-02-02 17:55:35 +02:00
skoupidi
e36a6d635b
validator/randomx_factory: simplified factory api to not use locks
2026-02-01 21:35:38 +02:00
skoupidi
ecefad8ac0
validator: guard everything behind a single lock
2026-02-01 19:46:43 +02:00
skoupidi
bd68f9238b
darkfid/task/unknown_proposal: full refactor for cleaner code and usage of append lock while generating the reorg fork
2026-01-30 17:10:51 +02:00
skoupidi
95523adfcf
darkfid: protect reorg trees from getting dropped by gc
2026-01-29 13:43:46 +02:00
x
6d09d6eb18
chore: Update quinn dependency
2026-01-28 15:11:39 +00:00
skoupidi
df6fb02d66
net/session: changed log level of timeout spammy logger
2026-01-26 23:35:42 +02:00
skoupidi
689212f6a4
darkfid: include miners templates txs when purging pending txs and remove erroneous ones from fork mempool when retrieving its unproposed ones
2026-01-24 17:51:07 +02:00
skoupidi
3b823c17bb
darkfid: include miners tempaltes new trees when purging unferenced trees
2026-01-24 17:09:54 +02:00
skoupidi
7914422d8b
chore: updated sled-overlay to new version
2026-01-24 16:58:57 +02:00
skoupidi
a3368c87a2
darkfid/rpc/tx: properly cleanup pending txs
2026-01-22 15:16:31 +02:00
skoupidi
22c60bee61
darkfid/task/garbage_collect: handle unreferenced sled trees
2026-01-21 14:22:52 +02:00
x
436e5fe13e
net: Simplify Hosts to use a single lock
2026-01-20 09:31:52 +00:00
x
ad385200cb
system: Remove obsolete thread_priority module
2026-01-20 08:43:45 +00:00
skoupidi
c8642a0e96
contract/test-harness/lib: properly initialize wallet validator
2026-01-19 21:43:24 +02:00
skoupidi
b78ca1d796
contract/test-harness/vks: updated hashes and modify inject to work over an overlay not the actual db so we ensure native zkas can be included in all genesis monotrees
2026-01-19 20:49:16 +02:00
x
9ac548af37
zkas: Correct rustdoc typo
2026-01-19 17:30:56 +00:00
x
a914be462d
net/protocol: Implement ProtocolHolepunch
...
This is a basic NAT holepunching protocol that uses a relayer
2026-01-19 17:29:55 +00:00
skoupidi
1eebd74ff2
validator/pow: simplyfied randomx keys usage in pow module
2026-01-19 16:56:21 +02:00
skoupidi
bfd1c9f7ac
blockchain/contract_store: exclude contracts zkas verifying keys from their monotree record value
2026-01-19 14:01:41 +02:00
skoupidi
830497f5c7
blockchain/contract_store: monotree handling refactor
...
This commit replaces the in-memory contracts states monotree with a sled one. Monotree update handling is changed to always use new changes, as contracts or their tree drops are handled via the overlay reverts. Each contract now includes its wasm as a record in its monotree, so no separate wasm monotree is needed. Native contracts zkas is also included in their monotree, locking it down from changes.
2026-01-16 17:54:26 +02:00
skoupidi
adca901174
sdk/crypto/contract_id: minor cleanup
2026-01-16 17:48:07 +02:00
x
ae3cb958ac
net/settings: Support quic network profile with defaults
2026-01-16 10:00:35 +00:00
x
5d24ab3c27
net/transport/quic: Enable endpoint reuse
2026-01-15 18:49:30 +00:00
x
cb7f9e4d0c
net: Implement QUIC transport based on quinn
...
Also deduplicate some TLS code.
2026-01-15 16:42:43 +00:00
skoupidi
89a38d0977
darkfid/rpc/tx: remove pending txs without checking consistency
2026-01-14 18:18:55 +02:00