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
davidrusu
75930a5ac8
Merge pull request #37 from logos-co/goas/mmr-in-zone-state
...
goas: MMR for the zone transaction log
2024-08-23 16:18:23 +04:00
David Rusu
30354a08bd
goas: remove found flag from balance insert helpers
2024-08-23 13:39:36 +04: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
edd69d63bd
goas: remove input/output proofs
2024-08-21 00:03:41 +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
davidrusu
5fd3c299c1
Merge pull request #32 from logos-co/goas/isolated_proof_tests
...
goas: isolated executor proof tests
2024-08-19 21:53:35 +04:00
David Rusu
e38b76e020
goas: don't expose nullifier nonce/commitment bytes
2024-08-19 21:52:33 +04:00
Giacomo Pasini
8870a32cbe
Use basepoint as the blinding point ( #31 )
2024-08-19 19:18:42 +02: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
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