David Rusu
1fd4c6bd64
goas: move nonce into note
2024-08-27 15:57:19 +04:00
David Rusu
cffd687e50
goas: rename DeathConstraint to Constraint
2024-08-27 15:56:41 +04:00
Giacomo Pasini
23df7331c8
Use efficient comm for balances ( #38 )
...
* Use efficient comm for balances
At the moment we're using merkle trees even though we don't need
inclusion proofs, which means we're calculating more hashes than
necessary and limiting the account set size to 256.
This change is a temporary solution that chooses a more efficient
way to calculate a commitment to the account balances, while we
wait for something more scalable like a Verkle Tree.
* remove leftover constants
2024-08-26 19:29:49 +02:00
David Rusu
5151438d3f
goas: reduce the width of the MMR height field
2024-08-23 13:05:33 +04:00
David Rusu
226da49440
remove old implementation
2024-08-23 03:09:40 +04:00
David Rusu
362749b1b6
goas: MMR for the zone transaction log
2024-08-23 03:06:15 +04:00
David Rusu
7a706583dc
goas: switch balance commitments to hash based commitments
2024-08-21 22:00:49 +04:00
David Rusu
7488dea9d1
goas: move balance blinding to ptx level
2024-08-21 13:00:35 +04:00
David Rusu
310932818a
goas: replace input/output proofs with ptx proof
2024-08-20 23:58:38 +04:00
Giacomo Pasini
ff0afeebd7
Provide state roots instead of whole state ( #33 )
2024-08-20 19:12:10 +02:00
David Rusu
e38b76e020
goas: don't expose nullifier nonce/commitment bytes
2024-08-19 21:52:33 +04:00
David Rusu
6862f291ef
goas: isolated test for user atomic transfer proof
2024-08-19 21:11:50 +04:00
David Rusu
a4e52b75aa
goas: add isolated test for zone fund constraint
2024-08-19 20:46:48 +04:00
David Rusu
341c8b44d3
goas: isolated test for zone stf proof
2024-08-19 19:29:43 +04:00
David Rusu
ed4bfca90e
goas: in zone tx signing/verifying
2024-08-17 20:45:56 +04:00
David Rusu
213be6ccd7
goas: more robust nonce evolution strategy
2024-08-17 16:58:13 +04:00
David Rusu
733b316815
goas: clippy + print proof cycles
2024-08-11 23:17:37 +04:00
David Rusu
034fe8eda5
goas: reuse ZoneNotes struct in the deposit/withdrawal scenarios
2024-08-11 23:08:40 +04:00
David Rusu
d73508a43c
goas: atomic transfer scenario
2024-08-10 21:09:36 +04:00
David Rusu
847e253f10
goas: user intent constraint
2024-08-09 20:20:18 +04:00
David Rusu
0e278d9284
goas: remove state from alice's deposit note
2024-08-09 20:14:34 +04:00
David Rusu
7a7bea3931
goas: factor out common zone config to executor lib
2024-08-09 20:00:31 +04:00
David Rusu
72e198eeb5
goas: bind the deposit tx to the deposit note
2024-08-09 19:46:36 +04:00
David Rusu
aa4e03b567
aat: deposit ptx test
2024-08-09 19:41:34 +04:00
Giacomo Pasini
1aa7a7f81f
bind proofs ( #22 )
...
* bind proofs
* refactor to remove cycle
2024-08-09 17:33:01 +02:00
Giacomo Pasini
85a3e941b9
add zone tx inclusion proof ( #20 )
...
* add zone tx inclusion proof
* rename input to tx
2024-08-09 11:52:42 +02:00
Giacomo Pasini
5d3f3ab9fb
Refactor zone auth ( #19 )
...
* Refactor zone auth
* remove redundant check
2024-08-08 17:50:28 +02:00
davidrusu
a320c20d25
Integrate zone withdrawal with CL ( #17 )
...
* aat: integrate withdraw with CL
* aat: withdrawal passes!
* aat: cleanup withdrawals a bit
* aat: move Ptx{Input|Output|Private to cl::partial_tx
* aat: zone_state zone transition validation coded w.r.t. metadata
* aat: rename meta to in_meta in zone transition validation
2024-08-07 21:37:21 +02:00
Giacomo Pasini
5b03e070b5
Add evolved nonce
2024-08-02 17:57:19 +02:00
Giacomo Pasini
ca2c141d91
use NullifierNonce::evolve
2024-08-02 17:44:03 +02:00
Giacomo Pasini
ca42d3ed4f
simply merkle root calc
2024-08-02 17:43:53 +02:00
Giacomo Pasini
584f814465
check zone id in zone funds auth
2024-08-02 15:06:40 +02:00
Giacomo Pasini
e7ba67d09b
add death constraints to metadata
2024-08-02 14:42:13 +02:00
Giacomo Pasini
4cf93c4ef1
validate zone input/output notes
2024-08-02 00:10:17 +02:00
David Rusu
2c32905112
aat: scaffolding for the user ptx
2024-08-01 16:57:20 +04:00
David Rusu
7ab248646c
cl: rename goas/zone to goas/atomic_asset_transfer
2024-08-01 16:45:08 +04:00