zero
dd341c156a
smt: add docstrings for runtime/SDK fns
2024-04-03 19:07:40 +02:00
zero
56d5281f6c
runtime: remove unused put_object_bytes()
2024-04-03 18:59:06 +02:00
zero
b42cb611c5
runtime: review and update ACL perms for fns
2024-04-03 18:57:40 +02:00
zero
cb4ef9b1fe
money: fix FIXME, add (tx_hash, call_idx) now the calls exist
2024-04-03 18:20:24 +02:00
zero
e0932c5c50
deployooor: fix instruction deserialization
2024-04-03 13:53:20 +02:00
zero
ac979a2e38
doc/wallet: expand scenegraph section
2024-04-03 13:33:52 +02:00
zero
3a6707cb81
runtime/merkle: remove faulty asserts, we used to exit early with success if coins was empty but then that meant the merkle root -> blockheight wouldn't be updated. recently this was changed so the old asserts are no longer valid.
2024-04-03 13:13:15 +02:00
parazyd
2ef2f6560b
sdk/crypto/smt: Move tree recalculation into separate internal function
2024-04-03 11:45:32 +02:00
zero
0d3b3cf77c
deployooor: fix broken WASM fns
2024-04-03 11:21:35 +02:00
parazyd
d68619d84d
runtime/import/smt: Correct log message
2024-04-03 11:17:19 +02:00
parazyd
f425397115
sdk/crypto/smt: Implement leaf removal support
2024-04-03 11:16:26 +02:00
zero
dcf419b0ca
sdk: move find_subslice() and NextTupleN from zkas into SDK util.rs
2024-04-03 11:14:30 +02:00
zero
1cdbd03673
sdk/util.rs: add Itertools trait with .try_collect() method
2024-04-03 11:08:04 +02:00
zero
d3404939aa
sdk/crypto/util.rs: replace ugly CtOption mess with cleaner version using .into() and match
2024-04-03 10:55:36 +02:00
zero
b9cc42cdf4
SDK: move all WASM runtime fns into wasm/ submod
2024-04-03 10:44:51 +02:00
draoi
83549ccbf0
doc: add missing documentation to refine session and hosts
2024-04-03 09:27:46 +02:00
draoi
7ff45ea2a5
refinery: acquire exclusive lock on greylist before refining
...
Modifications to the greylist (appending or deleting from) are dangerous while the refinery is ongoing, since it can lead to panics in the case the refinery fails (because we delete from the greylist by index when that happens).
We mitigate this issue by acquiring an exclusive lock on the greylist before proceeding with the refinery, and dropping the lock once the refinery process has finished and greylist modifications are no longer dangerous.
2024-04-03 09:00:00 +02:00
zero
564089646d
sdk: add hex decoding fns
2024-04-03 08:34:48 +02:00
zero
c781936b12
replace usage of blake3::Hash for tx hashes with TransactionHash type. Change all occurances of let txs: Vec<blake3::Hash> = block.txs.iter().map(|x| blake3::hash(&serialize(x))).collect(); to let txs: Vec<TransactionHash> = block.txs.iter().map(|tx| tx.hash()).collect();
2024-04-03 07:36:59 +02:00
parazyd
5f922f836f
sdk/crypto/smt: Code style fixes
2024-04-02 18:42:33 +02:00
draoi
c47630366c
refinery: acquire exclusive lock on greylist before refining
...
Modifications to the greylist (appending or deleting from) are dangerous while the refinery is ongoing, since it can lead to panics in the case the refinery fails (because we delete from the greylist by index when that happens).
We mitigate this issue by acquiring an exclusive lock on the greylist before proceeding with the refinery, and dropping the lock once the refinery process has finished and greylist modifications are no longer dangerous.
2024-04-02 13:51:44 +02:00
draoi
24ec6fffd7
doc: add cautionary comments about unregister()
2024-04-02 13:51:44 +02:00
zero
ed01a1a76a
test-harness: update vks/pks hashes, put back to info and fix docstring in sdk
2024-04-02 11:52:01 +02:00
zero
88c39e5861
dao::propose(): fix get_tx_location(), by making the test-harness write the txs and their locs to the DB inside wallet.add_transactions()
2024-04-02 11:52:01 +02:00
draoi
318c7bef49
inbound: remove duplicate call to unregister()
...
it gets called in session::remove_sub_on_stop() so this is redundant + dangerous
2024-04-02 10:49:04 +02:00
zero
afa66e2bb0
MerkleNode: display as hex string instead of base58
2024-04-02 10:47:43 +02:00
zero
b6e8c00243
replace all data strings output as [123, 78, ...] with big endian hex strings.
2024-04-02 10:40:56 +02:00
draoi
84dcc54433
net: add blacklist field to settings and avoid for duration of program.
2024-04-02 10:37:22 +02:00
zero
b24cde844c
dao: add usage of get_tx_location()
2024-04-02 10:03:12 +02:00
zero
9188a62bb3
smt: simplify ZK gadget. Use root = sparse_merkle_root(pos, path, leaf) instead of the more complicated is_member = sparse_tree_is_member(root, path, pos, leaf)
2024-04-02 09:39:38 +02:00
draoi
4d0c36a508
hosts: reject peers from other hosts that already exist on our greylist
...
Previously we would update the last seen field, however it is better to
let the refinery do that and keep the insertion process strictly
seperate.
2024-04-02 09:30:47 +02:00
AgustinBadi
bb47e7ef0b
Improve anynomous assets page - Add minor explanation
2024-04-02 08:41:16 +02:00
AgustinBadi
89bc896bd2
Improve anynomous assets page - Clarify terms of the explanation
2024-04-02 08:41:16 +02:00
skoupidi
e8cb2d1f51
script/research/blockchain-explorer: updated to latest darkfi structures
2024-04-01 22:34:54 +03:00
skoupidi
85c80e1bd3
blockchain: store txs locations using the new tree
2024-04-01 21:48:14 +03:00
skoupidi
dad7577bed
blockchain/tx_store: new tx location tree added
2024-04-01 21:28:43 +03:00
zero
83f5898de5
DAO::vote(): now with SMT flavor
2024-04-01 18:31:57 +02:00
zero
732b9ae38a
drk: 'fix' make clippy error (just a temp patch)
2024-04-01 17:57:07 +02:00
zero
98fb3af981
runtime::{smt, merkle}: add missing call_idx to db_roots data
2024-04-01 17:50:52 +02:00
zero
9074440105
runtime: remove call_idx from the payload, and add it as a Runtime param
2024-04-01 17:46:27 +02:00
zero
69cf9c3a1a
runtime: add missing get_tx_hash()
2024-04-01 17:04:09 +02:00
zero
fbe13ed480
DAO::propose(): goodbye nullifiers, hello SMT
2024-04-01 15:52:58 +02:00
draoi
cb821b651e
chore: move excessively verbose debug statements to trace
2024-04-01 15:43:14 +02:00
skoupidi
34dd60a9b7
blockchain/block_store: unified all trees into a single store structure
2024-04-01 16:40:12 +03:00
skoupidi
ea93623ff8
blockchain/contract_store: unified wasm and states trees into a single store structure
2024-04-01 15:56:02 +03:00
skoupidi
70aeb839f5
blockchain/tx_store: unified main tree with the pending tree into single store structure
2024-04-01 15:24:58 +03:00
draoi
52e6ea0530
net: implement greylist downgrade and goldlist upgrade
2024-04-01 13:33:38 +02:00
draoi
1cd330b798
net: create RefineSession
...
* Move greylist refinery and ping self process into Session.
* Remove hosts/ submodule and return store to net/hosts.rs
* Temporarily disable Gold/ Grey list upgrade and downgrade (we will move into RefineSession)
2024-04-01 13:33:38 +02:00
draoi
c794507458
store: fix logic error in is_connection_to_self()
2024-04-01 13:33:38 +02:00
draoi
1f1bfd3dce
net: flatten move_hosts() so unregister call happens outside function
...
this leads to cleaner code since depending on the use case we still do
different things with the HostState following move_host(). However it
does mean that unregister() has to be called manually in some cases.
2024-04-01 13:33:38 +02:00