Commit Graph

36 Commits

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