Commit Graph

49 Commits

Author SHA1 Message Date
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 75ff879770 goas: nullifier does not need to re-commit to nonce
since it's included in note commitment
2024-08-17 15:17:09 +04:00
David Rusu c0aa2b0e08 goas: make nullifier is collision resistant 2024-08-17 10:52:29 +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
Giacomo Pasini 7e67014042
Deposit (#8)
* Add native zone deposits

* check note unit and death constraints

* fix deposit logic

* fix ptx merkle root derivation

* restrict ptx inputs/outputs

* re-org directories
2024-08-01 12:46:17 +02:00
David Rusu 4abd98b951 cl: ban zero valued outputs 2024-07-30 18:22:39 +04:00
David Rusu 762fdcc980 cl: typo 2024-07-29 14:52:45 +04:00
David Rusu 1d16f40a4c cl: add death constraints to simple transfer scenario 2024-07-27 18:55:43 +04:00
David Rusu 884232b2d3 pol: risc0 implementation of the PoL zk statemetn 2024-07-25 02:19:03 +04:00
David Rusu c5bcf3ebe7 cl: InputWitness does not need utxo_balance_blinding 2024-07-23 13:47:27 +04:00
David Rusu 247f3f042b cl: give a name to the balance unit point in zero commitment 2024-07-22 19:02:30 +04:00
David Rusu 6463d9c65b cl: use BundleWitness in bundle proof 2024-07-22 18:08:54 +04:00
David Rusu 61388121fb cl: doc zero commitment; drop Ptx::balance_delta, rm InputProof 2024-07-22 16:39:15 +04:00
David Rusu 05fbbdfe81 cl: make transfer scenario readable 2024-07-21 19:59:10 +04:00
David Rusu 9ca5e8af57 goas: output + partial_tx + bundle proofs all working together! 2024-07-21 19:05:35 +04:00
David Rusu 91e0108fb2 goas/ledger: test_input_nullifier_prover to test_input_prover 2024-07-19 01:30:59 +04:00
David Rusu 5208164204 goas/ledger: move prove_input to ProvedInput::prove 2024-07-19 01:29:26 +04:00
David Rusu d424a95786 goas/ledger: build ProvedInput artifact from input proof 2024-07-19 01:27:27 +04:00
David Rusu 6b1d0c4172 cl: simple_transfer integration test 2024-07-19 00:40:12 +04:00
David Rusu 6a45163014 goas: BundleWitness::balance to BundleWitness::balance_blinding 2024-07-18 01:44:01 +04:00
David Rusu b73182b3df goas: drop compress from balance tests 2024-07-18 01:22:48 +04:00
David Rusu 849b0b539d goas: rename balance to balance_blinding in witness 2024-07-17 23:30:27 +04:00
David Rusu e57566d674 goas: unlink input and output balance commitments 2024-07-17 22:03:16 +04:00
David Rusu b20121e293 goas: switch nullifier to sha2; drop unused dependencies 2024-07-17 22:03:16 +04:00
Giacomo Pasini e6402007f0
Add zone funds spending logic (#2)
* Add zone funds spending logic

First iteration of the zone funds death constraints

* Add zone logic support for withdrawal txs

* move zone proofs out of cl crate

* Address review comments
2024-07-17 19:14:53 +02:00
Giacomo Pasini 221d7102a9
init 2024-07-16 17:06:54 +02:00