Skip to content

Commit

Permalink
Merge branch 'main' of github.com:hyperledger-labs/zeto into change-d…
Browse files Browse the repository at this point in the history
…etector
  • Loading branch information
Chengxuan committed Dec 3, 2024
2 parents 09ddd0f + 2860844 commit 863e860
Show file tree
Hide file tree
Showing 109 changed files with 1,611 additions and 1,996 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ name: release
on:
push:
tags:
- 'v*.*.*'
- "v*.*.*"

env:
ZETO_VER: ${{ github.ref_name }}
Expand Down Expand Up @@ -93,7 +93,7 @@ jobs:
- name: Release Zeto Version
uses: ncipollo/release-action@v1
with:
allowUpdates: 'true'
allowUpdates: "true"
artifacts: zeto-wasm-and-proving-keys/*.tar.gz
tag: ${{ env.ZETO_VER }}
env:
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
.DS_Store
.vscode
6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"yaml.format.singleQuote": false,
"prettier.enable": true,
"prettier.jsxSingleQuote": false,
"yaml.format.enable": true
}
10 changes: 5 additions & 5 deletions go-sdk/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ require (
github.com/pkg/errors v0.9.1 // indirect
github.com/rogpeppe/go-internal v1.12.0 // indirect
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
golang.org/x/sync v0.8.0 // indirect
golang.org/x/term v0.25.0 // indirect
golang.org/x/text v0.19.0 // indirect
golang.org/x/sync v0.9.0 // indirect
golang.org/x/term v0.26.0 // indirect
golang.org/x/text v0.20.0 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
)

Expand All @@ -46,8 +46,8 @@ require (
github.com/iden3/go-rapidsnark/types v0.0.2 // indirect
github.com/iden3/go-rapidsnark/witness/v2 v2.0.0
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
golang.org/x/crypto v0.28.0 // indirect
golang.org/x/sys v0.26.0 // indirect
golang.org/x/crypto v0.29.0 // indirect
golang.org/x/sys v0.27.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
gorm.io/driver/postgres v1.5.9
gorm.io/driver/sqlite v1.5.6
Expand Down
20 changes: 10 additions & 10 deletions go-sdk/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -88,21 +88,21 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/x-cray/logrus-prefixed-formatter v0.5.2 h1:00txxvfBM9muc0jiLIEAkAcIMJzfthRT6usrui8uGmg=
github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE=
golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ=
golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg=
golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ=
golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24=
golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s=
golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU=
golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E=
golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug=
golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
Expand Down
7 changes: 7 additions & 0 deletions solidity/contracts/lib/interfaces/izeto_base.sol
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,11 @@ pragma solidity ^0.8.20;

interface IZetoBase {
event UTXOMint(uint256[] outputs, address indexed submitter, bytes data);
event UTXOWithdraw(
uint256 amount,
uint256[] inputs,
uint256 output,
address indexed submitter,
bytes data
);
}
22 changes: 10 additions & 12 deletions solidity/contracts/lib/verifier_anon.sol
Original file line number Diff line number Diff line change
Expand Up @@ -43,20 +43,20 @@ contract Groth16Verifier_Anon {
uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930;


uint256 constant IC0x = 7880570501616954033449249705612423743947917217762227169455996425895409308069;
uint256 constant IC0y = 16037977379262161215838992441602151816132528427823476849251965711850026771282;
uint256 constant IC0x = 1902294708609438766644796849204928803663740221366415953958959671322392851564;
uint256 constant IC0y = 12303706229402770227626541861677666866256980943367923556129762158140843548287;

uint256 constant IC1x = 3191333703052089419021769453082884793399932129266866020831740455289118800142;
uint256 constant IC1y = 21477517066616503414140155997000632350001710942549881728779592511429573079111;
uint256 constant IC1x = 6203750222123167001680138260485388290509753949796409294680745274528939225218;
uint256 constant IC1y = 14273694985744114904153451898553819231835595683225898188370999467603823889120;

uint256 constant IC2x = 16885208475016452114858926052206861980729516929087584811016509445387840675455;
uint256 constant IC2y = 5147245545557756973634019997703333615725927836480197246708868784411191230479;
uint256 constant IC2x = 13851857796635439596347101558854032349005376871103497746213823704338073021460;
uint256 constant IC2y = 7967526762804365938696698938751824648449736305244161041844814326643079898090;

uint256 constant IC3x = 15835356586191668496840124419874303619120998155857419776899384064363221991587;
uint256 constant IC3y = 20908242415588131257102523967622376586606149730424652535302995251912262933338;
uint256 constant IC3x = 12245690231014470786603136099602124408674587253367196875598058296083705481696;
uint256 constant IC3y = 11623815329524890470474756993864782999204409209062428531060410020655296376735;

uint256 constant IC4x = 9093574318834908512463783917068049424411720596282920493474417518947185056343;
uint256 constant IC4y = 11075523168674705447560739102902207168994349904089316239065508553166880667632;
uint256 constant IC4x = 12465556430374686644611513936282716496357430439429402691697005880009555085162;
uint256 constant IC4y = 19628482398819988298416397224449752871272762208876492653622728381407269132622;


// Memory data
Expand Down Expand Up @@ -178,8 +178,6 @@ contract Groth16Verifier_Anon {

checkField(calldataload(add(_pubSignals, 96)))

checkField(calldataload(add(_pubSignals, 128)))


// Validate all evaluations
let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem)
Expand Down
86 changes: 42 additions & 44 deletions solidity/contracts/lib/verifier_anon_batch.sol
Original file line number Diff line number Diff line change
Expand Up @@ -43,68 +43,68 @@ contract Groth16Verifier_AnonBatch {
uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930;


uint256 constant IC0x = 7350704524928688275292840025124065423740063008800895120525087407994752877201;
uint256 constant IC0y = 2799126510591142173363017397720516529394924864315551143867807018421626690119;
uint256 constant IC0x = 14401916694900248086984454610617645117186037810025870355725588875905411527905;
uint256 constant IC0y = 21823139981972768925181597835606667363291590735926744185425609626967895836641;

uint256 constant IC1x = 15114426819216201179872908092779017267381626760685787377067219151816946668652;
uint256 constant IC1y = 14838074688889382104234389353861310342101008292329117062017984254049923814567;
uint256 constant IC1x = 18152399282716158169629531201439344161063103224251361362440246670930516009303;
uint256 constant IC1y = 6080278265173093538537246863599160169974109935068305121259074193384775431363;

uint256 constant IC2x = 730339637320572287782154794373845462390183137415643273893913142940971480827;
uint256 constant IC2y = 19985499776670900046058141562265498153194098786416301295749136204157143223257;
uint256 constant IC2x = 8297218266848061835807071945554336477046207943620428501160290285825071517363;
uint256 constant IC2y = 15656222378314004248176477825191755476212778291146638786091437963148762568128;

uint256 constant IC3x = 9288139911866100824798052123452797946689070588016735822932030258103315149401;
uint256 constant IC3y = 16977250707758369783496569651353493853376997801050995881185421156748434466112;
uint256 constant IC3x = 3047434740237115324297422001872346293290441872228378409771516453051049454159;
uint256 constant IC3y = 10541096522864074461757896295030226941094097575004052502097468583817879074093;

uint256 constant IC4x = 21510548625929410705790577208028337997806497327590548181858615339378132408637;
uint256 constant IC4y = 3128887610074880752216864118368626601909966489390261420893039641632285348662;
uint256 constant IC4x = 18415204963750428001366853480098284329225951295307528124155234247674301562276;
uint256 constant IC4y = 18206845444283706289783054066424364156383540489856915668759698699066029015528;

uint256 constant IC5x = 2361488310513536785687009709084938913997548752815455418762779361014568173520;
uint256 constant IC5y = 13064109709118668398319496370144322446834954821774816697768219563719250168349;
uint256 constant IC5x = 5848632330022221449217083844906849578988699882267611916943101169293886327152;
uint256 constant IC5y = 8525192717750394881723959129538639054882628564239664911410730246619999848599;

uint256 constant IC6x = 21741423469437839061841808146523619080128207788113423296935124975483247508524;
uint256 constant IC6y = 18529865771178923498390020744089890179100271666005560576880042925185095150796;
uint256 constant IC6x = 18737933721565426341245741788052591666191809520781288299820522320094073877002;
uint256 constant IC6y = 17893060166280487897808816982590615297284643156483941137846260492062460760617;

uint256 constant IC7x = 11716063437444665329534450300340853360047012717360647680536852931180756322691;
uint256 constant IC7y = 13954938730266059993129237217568930694055393902398630589007640179821232776471;
uint256 constant IC7x = 19098445952237615276849115001752018549598132495817554411626726814628060269826;
uint256 constant IC7y = 12055887832584514874540928561552980046792594771344397625875810924512944008940;

uint256 constant IC8x = 18539559570765334761569967454539119188781496123683317380886819179820750135048;
uint256 constant IC8y = 1483429005281923495773016521713883280913961201691552702249885389478804186825;
uint256 constant IC8x = 14049087315628302176692100175044083505908130478745651601589669404557285071536;
uint256 constant IC8y = 11760483736571233695765389297508375430401740670321979310551162352220705482170;

uint256 constant IC9x = 20285495211995559572269870221492706959016981268896437450344735235620123723655;
uint256 constant IC9y = 6752334852699479365814827613653118536864386885890891616534513343873157237627;
uint256 constant IC9x = 13933845163646305706487746770461738555628647435735733692423741028126085769120;
uint256 constant IC9y = 5906072330325167864469019724869377799273255560000238774314064772801265008600;

uint256 constant IC10x = 499733066798987642797898596902737884227228799269010229470629826857301398382;
uint256 constant IC10y = 15539873607166155350908234290005251689258814640931878010822879323585218295253;
uint256 constant IC10x = 13705817542782816555899655377219516947625498453397622184137502850319776285664;
uint256 constant IC10y = 9042948681425040255034970979470429950080719583285309041655605511548953117983;

uint256 constant IC11x = 14930084334244027775740030172875333009547849405540674149093528597500172682264;
uint256 constant IC11y = 16031096719063780066038712493256021950493445187501019225557322455675638312312;
uint256 constant IC11x = 21219849026857904949098640161461967736586495130286899335070690044195456905584;
uint256 constant IC11y = 9738292818521877248157023071103026883633012472866114286481112790569861434809;

uint256 constant IC12x = 6930962007199462838250740922397839173312453564335400737449304292728948783789;
uint256 constant IC12y = 16346148217738032915228412851186792388219205265009907670473983861216251226700;
uint256 constant IC12x = 16821584442373432772708439871996312879436027142106307298789026044142912059297;
uint256 constant IC12y = 18179456728684141852474805451524977640053894307290781083105544127773978083590;

uint256 constant IC13x = 9287437502652310030364103755261068142532329727588192042484528210346407028717;
uint256 constant IC13y = 10794968646463009884004236152576271915074358785469677937139140234440868974660;
uint256 constant IC13x = 18644980581060530311357977147481430713902817828375295403067823676395599257852;
uint256 constant IC13y = 4274710606613794907868577617888070748913495219029409238664182414438828140774;

uint256 constant IC14x = 8642192551833486309442810432407204382142862801515472400962676449719624895869;
uint256 constant IC14y = 4332840556069660127909924749213870708387611051261894964111742875494185381254;
uint256 constant IC14x = 1670061012290661486355607450319597799823993362799528125098867249745378187092;
uint256 constant IC14y = 17357067744661529049119254714176244266487122291167133704079413719073749738908;

uint256 constant IC15x = 14067924916167871162655244922817653716539707386728077576851376753722366021529;
uint256 constant IC15y = 14550114442576756814639260074491842266739552217696789898458344525407905929187;
uint256 constant IC15x = 20214070364826093890785202955205369405718408221128285777814067171054281417142;
uint256 constant IC15y = 6676623764796503794882178144016983490948422057538987148553778809368627351866;

uint256 constant IC16x = 857685849844171065596763211033783999825532174706327764798436830629594817956;
uint256 constant IC16y = 1806650528151069748359044935863429380424562852004122550972004167352156895294;
uint256 constant IC16x = 19188803159885638492346037355574861082584717060749055884680169327249938506224;
uint256 constant IC16y = 14635030226769140385410527971428459895270353563660740462654337932363700995073;

uint256 constant IC17x = 6579597513808886576406099469755577551041805432889990719580240981271077896359;
uint256 constant IC17y = 710420057294757587910020146667270882809600269535553928956263589284791937083;
uint256 constant IC17x = 1032439080446701812081769707385444592210021579802000978244234134167421120896;
uint256 constant IC17y = 20080022736872634490249028574119868255366821827646688359584040403863693869436;

uint256 constant IC18x = 11601578039573676772840572687707180388906572122494709390061757932977931982868;
uint256 constant IC18y = 7211311325685441076944820285599089955580368690880374995924683333150557101184;
uint256 constant IC18x = 6320239074134649680926373071446503578744317667951777657870688787798460814779;
uint256 constant IC18y = 4076247364427329948398771036551813672936759695367436275660900533153237218613;

uint256 constant IC19x = 20231546290866664701331485462044304003843557412739655597831229162580880981510;
uint256 constant IC19y = 876382137719899827148465359455799570987326687830025736167684593436185681270;
uint256 constant IC19x = 18319045025948706149806565908584079240069485862781923810594761414646236403507;
uint256 constant IC19y = 1443810282819553906570438933381282835687988434540658729326313586117183414978;

uint256 constant IC20x = 14850885628527218757662473212989221130196138052975444666446471458588122224774;
uint256 constant IC20y = 12708590969663513735666954823403671843557581713214725762521430223488205347685;
uint256 constant IC20x = 17616701033046011221658156058153126401552902469497703215789359069808206367708;
uint256 constant IC20y = 7948235851932996085506931557727991080994605820774849180821643683325993620091;


// Memory data
Expand Down Expand Up @@ -290,8 +290,6 @@ contract Groth16Verifier_AnonBatch {

checkField(calldataload(add(_pubSignals, 608)))

checkField(calldataload(add(_pubSignals, 640)))


// Validate all evaluations
let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem)
Expand Down
Loading

0 comments on commit 863e860

Please sign in to comment.