Add fixed key leaf by contract

This commit is contained in:
arnaucube
2020-05-18 13:09:41 +02:00
parent ecb1704793
commit 00b52a1a53
9 changed files with 84 additions and 59 deletions

View File

@@ -174,17 +174,18 @@ contract DepositVerifier {
DepositPairing.G1Point C;
}
function verifyingKey() internal pure returns (VerifyingKey memory vk) {
vk.alfa1 = DepositPairing.G1Point(4690052268710270598869542532809702456418003799694536273077130369652196429884,9145902013599810527210227446448286424172036724970647907168421870847502009945);
vk.beta2 = DepositPairing.G2Point([16623062689690044255750716956401317560821762623856422123246403067057225130588,14652078637219990978821431784894112719594629514313306953371073983618015546541], [676307836452309210538606902645077301940331422390550491696691282441239090551,10369757414475454684684292675796821047567632748417978318178776038061059658326]);
vk.gamma2 = DepositPairing.G2Point([16528273881363574239250709218131920578661276173856341283262670072792844980215,6787263438752395682957935213403119833234411728635969992478064476167401704867], [5274450027585795927175443590954483941244906290165165924583130738506736130942,3392062216862930269651390569850019803754187174311810728530683507098775212357]);
vk.delta2 = DepositPairing.G2Point([17494603128862092548460623189930936969297925345032047648552416238816792961152,10402239940545833330287339048137499178728329705094695706126321196019762386747], [6175570631583630130350739728971333086849468117273142369720724145166167909214,20067049654764111179832549405286061192607773249291087398308936796066289541314]);
vk.IC = new DepositPairing.G1Point[](6);
vk.IC[0] = DepositPairing.G1Point(12697195619443882847721561991615544069218791667870821589914853846794238615885,18011435976524410295453245674507929643029222984348817278231712383283229915782);
vk.IC[1] = DepositPairing.G1Point(20324524778567704633470845008079551007952919835272398568401853167438653396525,8061504440558567975766943783054577602934521477527864647610640054521787242724);
vk.IC[2] = DepositPairing.G1Point(13332163378649502560807390864020561151254011879905389699984218750502394665905,4286598055677625399864995783940420134575107187974587372574457085466044561759);
vk.IC[3] = DepositPairing.G1Point(10175138903387311357088170792861518054422766016077544491949838159573444744976,16570515458939310802788756001103880353070070639900081360517205384175233432226);
vk.IC[4] = DepositPairing.G1Point(3298627468931988714290186736998190106240510584555740172431361939625148350723,10415330389886845959598036431340102923398308416032482557275534081287380793067);
vk.IC[5] = DepositPairing.G1Point(16030968253618323807449863533252146464206835591288004165377534537620304134907,6223567249648011787592835059978931866773091863735841649895374018321000148662);
vk.alfa1 = DepositPairing.G1Point(18695173155707885922021631283033755535591418672197129614467100440698872763407,1626506100460323286733991395349100178389097370543005429942370444444167817065);
vk.beta2 = DepositPairing.G2Point([7298930152319519678724671205658347486392659569051487272914904218878630422004,20278804400136230600016602729050494456082496665552956593575216136952301465879], [14400234736726653666673256209185515676662403987927981307851255786137918403808,202061819848056105351629960337366504214917264758439266970901420364923813257]);
vk.gamma2 = DepositPairing.G2Point([88902560478033838314004667971746300540170455168011513957934457035035362077,10509682790371697523911222284395334237969554461187168055951064284438196928133], [262372519755819494139123390519431075073514105365767199648231997477378997038,9903995889180920976180540681258851480387134172307619545103102622070424881278]);
vk.delta2 = DepositPairing.G2Point([19749667459894634917871046338432887676262288965549093528649050450724219163245,13756931459128709749559820929305092888983958863551084787825233693015050987062], [20576516057444847821805169435613033091289908065519785381540290141111162328929,15244981401483924012411101359641406633223142876027993598824472316124280834070]);
vk.IC = new DepositPairing.G1Point[](7);
vk.IC[0] = DepositPairing.G1Point(2000117758538561750953181437087792909020385452287399464015848728440127592389,275875173722294745606860506515174747141273674463415300932791922897441449811);
vk.IC[1] = DepositPairing.G1Point(4176102879547484253346821261893297661469569413245667250587796973056187219608,1926060395020061418051275655183984440402034736270275535768335121260270447114);
vk.IC[2] = DepositPairing.G1Point(8176255402316361002530601013228562072839156358144426319604813511766758290537,19255649988335327919495695859359269216762287298096174272638221716012315581350);
vk.IC[3] = DepositPairing.G1Point(20944119614073443108911839024077113785116860484550901273175814017528952294710,15941356189224733186425469351312052553223296343229173777927394845664358416828);
vk.IC[4] = DepositPairing.G1Point(16474742653420689694601265238954907093607463298284817604813422283427863653617,9311356062394012318240362122996250765056867942021818814568734196480690247200);
vk.IC[5] = DepositPairing.G1Point(12016269570988993052956789433371861013003194299504564318255744188658097042633,18130086499603245000319550360003638349858422145937471155520725380017515910661);
vk.IC[6] = DepositPairing.G1Point(14992989709522098533999247134336293504761296073753622771564136461571770746835,8331491724814987424742621582227793410739471354578262538342699991611045759814);
}
function verify(uint[] memory input, Proof memory proof) internal view returns (uint) {
@@ -210,7 +211,7 @@ contract DepositVerifier {
uint[2] memory a,
uint[2][2] memory b,
uint[2] memory c,
uint[5] memory input
uint[6] memory input
) public view returns (bool r) {
Proof memory proof;
proof.A = DepositPairing.G1Point(a[0], a[1]);