From 4532b8d229546785624ca07d8a612a65e74ae270 Mon Sep 17 00:00:00 2001 From: zero Date: Wed, 27 Mar 2024 11:27:57 +0100 Subject: [PATCH] for most .zk proofs, provide a corresponding witness.json file which is usable with zkrunner, benchmarks and other utils (using import_witness_json()). --- example/zk.rs | 1 + proof/arithmetic.zk | 2 +- proof/witness/arithmetic.json | 15 + proof/witness/opcodes.json | 86 ++++++ proof/witness/smt.json | 272 ++++++++++++++++++ .../witness/auth-money-transfer-enc-coin.json | 38 +++ .../proof/witness/auth-money-transfer.json | 73 +++++ src/contract/dao/proof/witness/exec.json | 68 +++++ src/contract/dao/proof/witness/mint.json | 30 ++ .../dao/proof/witness/propose-input.json | 79 +++++ .../dao/proof/witness/propose-main.json | 99 +++++++ .../dao/proof/witness/vote-input.json | 79 +++++ src/contract/dao/proof/witness/vote-main.json | 79 +++++ src/contract/dao/src/client/auth_xfer.rs | 2 + src/contract/dao/src/client/exec.rs | 2 +- src/contract/dao/src/client/mint.rs | 1 + src/contract/dao/src/client/propose.rs | 2 + src/contract/dao/src/client/vote.rs | 2 + .../proof/witness/auth_token_mint_v1.json | 42 +++ src/contract/money/proof/witness/burn_v1.json | 84 ++++++ src/contract/money/proof/witness/fee_v1.json | 101 +++++++ src/contract/money/proof/witness/mint_v1.json | 37 +++ .../money/proof/witness/token_freeze_v1.json | 18 ++ .../money/proof/witness/token_mint_v1.json | 35 +++ .../money/src/client/auth_token_mint_v1.rs | 5 + src/contract/money/src/client/fee_v1.rs | 7 +- .../money/src/client/token_freeze_v1.rs | 7 +- .../money/src/client/token_mint_v1.rs | 5 + .../money/src/client/transfer_v1/proof.rs | 10 + tests/smt.rs | 2 + tests/zkvm_opcodes.rs | 1 + 31 files changed, 1278 insertions(+), 6 deletions(-) create mode 100644 proof/witness/arithmetic.json create mode 100644 proof/witness/opcodes.json create mode 100644 proof/witness/smt.json create mode 100644 src/contract/dao/proof/witness/auth-money-transfer-enc-coin.json create mode 100644 src/contract/dao/proof/witness/auth-money-transfer.json create mode 100644 src/contract/dao/proof/witness/exec.json create mode 100644 src/contract/dao/proof/witness/mint.json create mode 100644 src/contract/dao/proof/witness/propose-input.json create mode 100644 src/contract/dao/proof/witness/propose-main.json create mode 100644 src/contract/dao/proof/witness/vote-input.json create mode 100644 src/contract/dao/proof/witness/vote-main.json create mode 100644 src/contract/money/proof/witness/auth_token_mint_v1.json create mode 100644 src/contract/money/proof/witness/burn_v1.json create mode 100644 src/contract/money/proof/witness/fee_v1.json create mode 100644 src/contract/money/proof/witness/mint_v1.json create mode 100644 src/contract/money/proof/witness/token_freeze_v1.json create mode 100644 src/contract/money/proof/witness/token_mint_v1.json diff --git a/example/zk.rs b/example/zk.rs index 1a0203247..80744052c 100644 --- a/example/zk.rs +++ b/example/zk.rs @@ -65,6 +65,7 @@ fn main() -> Result<()> { let public_inputs = vec![*value_coords.x(), *value_coords.y()]; // Create the circuit + //darkfi::zk::export_witness_json("example/simple.witness.json", &prover_witnesses, &public_inputs); let mut circuit = ZkCircuit::new(prover_witnesses, &zkbin.clone()); circuit.enable_trace(); diff --git a/proof/arithmetic.zk b/proof/arithmetic.zk index 6999bb015..70e9a1d24 100644 --- a/proof/arithmetic.zk +++ b/proof/arithmetic.zk @@ -1,4 +1,4 @@ -k = 13; +k = 11; field = "pallas"; constant "Arith" {} diff --git a/proof/witness/arithmetic.json b/proof/witness/arithmetic.json new file mode 100644 index 000000000..620712dea --- /dev/null +++ b/proof/witness/arithmetic.json @@ -0,0 +1,15 @@ +{ + "instances": [ + "0000000000000000000000000000000000000000000000000000000000000072", + "00000000000000000000000000000000000000000000000000000000000001b8", + "40000000000000000000000000000000224698fc094cf91b992d30ecffffff97" + ], + "witnesses": [ + { + "Base": "0000000000000000000000000000000000000000000000000000000000000004" + }, + { + "Base": "000000000000000000000000000000000000000000000000000000000000006e" + } + ] +} \ No newline at end of file diff --git a/proof/witness/opcodes.json b/proof/witness/opcodes.json new file mode 100644 index 000000000..8d7dd54ca --- /dev/null +++ b/proof/witness/opcodes.json @@ -0,0 +1,86 @@ +{ + "witnesses": [ + { + "Base": "000000000000000000000000000000000000000000000000000000000000029a" + }, + { + "Scalar": "3ea15fc0727f348299fd3f42a8f40f270a9edd0dea819100839f20105c6b5e4e" + }, + { + "Base": "32cbc98dd3f7202eb5710577a94cc9b9863675302180cb83b021b6c58a15f77f" + }, + { + "Base": "000000000000000000000000000000000000000000000000000000000000002a" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000045" + }, + { + "Base": "18ba7cfa088871f85824d8e64e6700bcf7570284a40ed1230cad72a4b8e61c05" + }, + { + "EcNiPoint": [ + "2a1d0c3fc137f43b0cac67991160d2a465bcaeb76dc633a5e91b462b3a3db9ec", + "1a47ccee19855fb218249222d8b2d04ec05efcd7077086fa6ec68943379e7595" + ] + }, + { + "Base": "3301594bae9da203607525104a8ac961674b0cba99b2f7b2cb21d7810d0d43dd" + }, + { + "Uint32": 2 + }, + { + "MerklePath": [ + "006d1cc1f8fbb96c0151fd986f9e07cf30d51a3f7ac20332e1fd7ea54554dfe6", + "311c46ebd03ee9c8702b569442f9a16bf549dc1ca0288c21715b35de8ad2a939", + "30d056957683dfe0c3e289ea1c2304b19b5c09c17cabbb3a0464cd14463f41c7", + "044279ac8f3c57b2aa1638aca9d27eda6a7df26d8174ec50fde5537739fc1121", + "31b4ea3aced9464a3daba756ae9945b86407f3ef514c38f2d4645cb4fefb6a80", + "18abed52ed3002af2798f51bc19bedd2c9fc69003699e845c6f0c0f257413e87", + "02c4ff95a4f8937220846aa30a8abc6fa8a053125ac1c870ade13a952013ab27", + "3b13f3906f701d1f8e4ad7221b0555056830523b11374b5ba6a291f13d56144e", + "1f3707da6df0e41c6f67045d859633ce55851d4b17f4b74e0f8ad193f9e4bbb3", + "0e17bd4c92572b5a39b8bc1c99cbdf79c628ba3fe9279eeb6ad7f0c6e9bdf54e", + "0743b7c639f9a56294bf11831b6a7da417d27c7d6a0dc31ecaf5ebac6825c0a3", + "390dd1d2c5662b30f61c6ca9ca404d1db4495decd6ba0516da2261ae0bb3f93e", + "0b9ed98ef64fa6a78488390038e530982d3670de72c1703be6ab93cb0028ae22", + "1b66b7651dbb92721c035c140d313b05a617c9df9c97b0ed4cc27226d9107118", + "3b4564b91762fb4b354bab9090e3fa6611bec6af2c04c20c8b144f36bead983f", + "0fec4763bc96f603590823c9660544edf425bdb3e0734973f136f90dd1dbf863", + "34dcf5b7ecb1dda089e3cb6d0678e464e5fa8d146835315a886140ac3e168221", + "31d3a638278b57a2923bc1ac63da2789d61aaa069e1fcdf9f3a3181968c09dbd", + "2e8d63c774216c4b093197923c2255d39ce6a93d3386a93b5eb97f3b95ed2cca", + "1a4e1a33a59cc1c3bd78771168f6ab8d24ee714d09e0e1aa459e6fb5964b3555", + "05f71033d378bb729e90f578654694e692acc541cacaffdea045a02a4cb09770", + "012e36772839eb54c3f50a619a59c57acbe5e8223f7a8610d43b81ff21681de8", + "24d86d9aaaad5838a6d179cb5c2a3b8c80fd3849c9fdc4b896497c7f56e87d15", + "0b5d7773fe73ed739820ebe6eafc1859278bf9c49546122cc12061cd51ce1ffe", + "2d0a3ab6ae0a5a33b346835b4e3252b137ff3010fa0c4df7692601122998911f", + "22559754c745c606ec0a54140795eda7bebfbb3c18961393a37df12af515ec5d", + "258a081b5900f6074c3a94da3cc613b61758cc331d94ee75ab3b461dd92aaee8", + "0f06d046da76daf00097e8af438215b183a518a5f423687696f5ce71e3de3fd5", + "2ed66b6b6f8f29b6b3f625e8fe886221ebec30c729e8619a4c91e7ef4c44d215", + "3f25121b0218dc6cf514fdb8e5d9a3b685d60e6b6baa837aea10aaa017a6574c", + "27ba14a06cf07323de77da59259e3523acb269d955be20791a83bd195c91d43f", + "2a4c109fe28f5c71f7bda83f74ec8b684cb90e8462772b224449ee07cd63d087" + ] + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000001" + } + ], + "instances": [ + "1b009f66d669c390564fe6bda3df06d0226598c222c7bc4d67b603d2d7b15d59", + "316762ff5d96da5c63cc938663e9f66cfbae492057a82fa391042395b8950c4e", + "2ebcc5a2ef7ed3428ed9dfe6aa08e708d54196642ba5ea6c7286a1099bf62259", + "108382667ba2e39474895ddbe16c22d252e768eb815492bdcb8a313434de8b1c", + "287b272e9e60bcf16b24b8572023aeb9686f80485ad843c9fd511d47248a1971", + "3dcfe08d10fd4ece01ef9012d24f0d2e143831920c1fe026901736c9f2aaaac0", + "2b0d11600d6758de885dc43d16d7ae979b21721d1956d8af7e8f0c816736b79e", + "3baa717c517f07e8dd120b77bbf52818bbbd93b71c93d7d158f8228eb390ccab", + "1301e889d297056a5f934af4bc242b4cbccf7c91075da2a6a67d6915f5bccb30", + "000000000000000000000000000000000000000000000000000000000000002a", + "0000000000000000000000000000000000000000000000000000000000000000" + ] +} \ No newline at end of file diff --git a/proof/witness/smt.json b/proof/witness/smt.json new file mode 100644 index 000000000..c78240f72 --- /dev/null +++ b/proof/witness/smt.json @@ -0,0 +1,272 @@ +{ + "witnesses": [ + { + "Base": "32befc4812ad54098ddbda8e57fe5992816d1a9387e4771f6e6fd5cd092c7d3e" + }, + { + "SparseMerklePath": [ + "0fe83b8f5d6373daa15e11d587aa943265e7a909c06a8c7395acb632a06bf9d9", + "0a7b7d316b998706635becfbb3297f0ce34f3d08a3b3b154abeec72e64220956", + "07f825e570f076643b29b3cfe7a9f3b4b942ef60d8abb1a0a8af07e90e392d98", + "1d9fea0cbb58f6481563ad670f6075786128a1328e77098c298349b40ffbf2c7", + "00ceca8ae32afda4df20851bbe40b0cb4113aee17f28966fdc0efb03fcca9fe5", + "24222d12990845fcdc06660982d921138b7174e3c4a28f2718f5954c2ed13367", + "1c33fb2b2bf28dfaf25603c1d8ba80fd6753e161504032cd4032702bc9634471", + "3f5cfdff3e19a03b57be821227f509103f8a51e60eb5f3978e9a9cc03e4d128c", + "2dc9987c40959d65ba77c64a78caeb0fda15893b656d216b3fc1a622e7173d65", + "34e970844de735d09d1748b0bdb0fd76a94c45781ede4575bb7fc3b38fccdfb0", + "0be2dbdfbc4f76f75d161d59c270caf655b82dbeacab0a250f24cfb0cec28dc7", + "2f254d1855cd0be22e5324dae74b0b625b1b25b3b5a2a788f1685e14186bf7f1", + "15a09a9ce5833014cd6d901dc0830f28593c2919d06d083c0c07896f9f1d64d1", + "16c6c536533761cb518f48ea8b2d92c306bad4a9b660f6ac3dc579ce0a003736", + "3b1ce50a2e745b847f3bb5a736b67c220fdf40eac22f2b5e251afcba84aafce4", + "23f437dfa69b17f0ef529897f223c446f996e4345b6aa59f65045de657b00762", + "1a66fb63d0526571705655499eddea1a3ea2011f572ea7f40768a4c716f699ae", + "12a055ffd6725b48b8bcb833f72a6d688967aef45cb1751e17ba0576ac47ef73", + "196e8a3711caab93d1afcf037fae5cc0d57044bfca45dc33b0ac21ff1f1eb1d5", + "298639dea13742ecf7c75ffdece6f00e7187acc05619d64790d2a9ca72a1860f", + "24fa722b60aca46e358745d38b31da89bf6c06e161a5e29844e6ad8931a2b58d", + "2611bf3615cea519334b6bc314d08c819439c569fdcc4ea0013b462cc5e2ee24", + "3719c323f44c683367109d6208253f209437959c162f00e6c1f9a8a6615c73dc", + "1e77609e7763df743c5fe90977fb8f14b447a56fce7e1c853cc1be66d60846b8", + "36ed25f79d404aa6d09273bc6a6a81fa3b7330cf331da0eeac079d1f814a574a", + "37eead79b0decdf39b13603cd39ab1e862f033cff1bb518f00969f24330612cc", + "34946156144c956a6d3d240c7f109db049f325d7f6dbfc33273a034cd8d139c5", + "14c135e735af210dedb7cad31e133fea5aaa92448a255e44f73f6342300563b2", + "0e4db52aa89e1782690a16b26ee80925e2bcaf32229ac7c4e8fa4f7fc1d32903", + "13051e6d8b28f4d353fecf00595e254ded30361f9b3dc321c30d089c6fac7b57", + "2fb76b0a9d081cfdce94f95ca4836c48412f17ed4fd5299748439fb3306b357d", + "1423e2dcac5d3192a1614d0823de3ce673cdaa1ecc05d563be3ac571ede9e6d4", + "18e093034b8fa94437fb4fde264fa376dcbcf033ea93c211d70d76661a86940d", + "1563ea9ff93155ac78466fa34b417995c628c84fc8fbc4d7d4aca7ce039bd75f", + "2e1ad21b58ecfd10b41b2ddf4076326f0ed284e8ceaf2fb71281bc8f370ec5b8", + "28026600035fb09f0f326779f655f6f6cd5c152fd64e72aa100f6130aa399926", + "2d686f59e0ae8a182299e799c809bacb9b814c4573c5f1c3273bce9aace7320a", + "0a5916de754467486c958d88c5ea9a7c1c258bc05fa12124fa5d595e7c75e869", + "2047c47fe2b32b4ba73474e6fb98eafc4d0f05c2fd4d2382e2bf94560c8c5f0a", + "2f7b0ab990b6717db1330766aa3a9b88e5b1fee55b19ffa5c3d124aa0f22c845", + "17dd6215966d69081b912c63fddd5579d05c4bac8d6e7b262b6118e5c8f751fb", + "083870c216e61d0ad085e52e4283ce6add5d95c1f9c5fdc246a1f3d365f72676", + "1e0c4e372d6ea5a69d5b5a307b21d4d7a247d80141f1976886b2f90bb064eb84", + "172c843da8d192cee959e971194260697ca68732b5a36c9acad93b9a206a36e8", + "1c78db05b4cf7c69fae70189f61bd14b210010cffef9b5c86199d948c3c6f738", + "1a518b94b0f061d621d4c0b0738b0c21e4b20183312dd15a43e29f171bac4412", + "3593512f1bd6d55e56b18562189315d3bbffb3107bdb4c008381261b0060ed01", + "27557b110bc9fcb4ecb1c6c01b635d05a4b93c725d4f9fd6f5a031abbde06007", + "23b002b85a97cbaccfae163cad265a420a8d9354d24571e1859af37c0fe479a6", + "074260a839fa32cab467f8d817983d0480408ca4a798285e85875792c3b857a2", + "05c560ff8a75a2a8877933e420b6787382c245b0fa064a76abb8f74cb4b3f3bb", + "071a90ea1cfa49e94f27235d44e7a22eca1b791d9734960f41188569cae868d2", + "33283917598bfe9d73e84de87cb8814869cda724b8a6029eaac629c11c8a6532", + "3a6352a63e88c0a5f5b5b7385e970c8c01b01484e28952c6650935ed8dfe935c", + "028493f6aac925c26e749f731c663eadbe728416b4fbed944d28866f92c54bb7", + "2e8dd279cea40c033dc4398707b8adff15395d3fc9e5d1e31512cade740012c5", + "0fa8dfb23a60d9c27daa4e31e318fe11800c24ecb0449682bec96ea31269956e", + "0d8a00cda1877e1b4d7b9c618ca725fdbf57a91b368a596356d5067ce6851c42", + "07df0f3970d15b6d5206da18498c2561f4662b7efc54f19db02c47e9667383d9", + "0c3fba5d05ba8fff85e382adb59e5d0a583c22c7ab7dc44c96ff5351a981c016", + "38633af1d6f74cf9e859b13c3210c6a28630c9056e400cf2d1ba3b9a2ba4cfde", + "02385e8eb6652b250d8d53d9234bdf61302eeef0c9a16617cc89ad8478d41a53", + "26a4fb9e31fab5c3879d4f91ad894150cbadaf9ba9ee104ce119faa2de19d540", + "0caf0419d2c38f3d8a43011d7ba817c54c112d6ecdb7b4676eca24bb07bce840", + "3f1ff3d360a1e6400aedd0b4503fdfef1ee5e625405c63e5aa9802cfea30b27f", + "0b0014c005d11a72f0df6a5a471e400b6d76d0ccb02123669dea990d07a2a97a", + "3743e38e1c1bf37d526faa6b54e3bb5011152d2d95d0f8daae957a4966d85b24", + "0b3a33fc9f0b18f99df71fd6a58bcf7e8bc6a70d0519f0be1116e119991f2ddc", + "20c383e4be7f0483cd7b93962d0c0e94cf8543381d5594d8f6e2c96a0af305e3", + "210434b6d46400377b846c04dfc3dd735144a081587f397078165416e42edd23", + "18abdb23479a321583bb0974c4fb6097abd1a1ef8ceae05357a3d43bb98c368c", + "156e19d597a84c1fcbafcaaab50d06ede0caee8ac16f7ad08751009f107f1d10", + "3acf173e6ac82f372971d01c70b9947f074035620d64eecf72fdfe05fcef7774", + "017b83d2fe862f98a7e546ad16b2b69bd5dfbcedf58f4a351981b8346d5fb2c9", + "09df52813e053fcb68144744a5775fb137f28c9cc47a709638d6f2287aa498ff", + "2bf5a4535bd70580b594bf009eca18882e6b636817a7f0de9ef3134fc86f800b", + "271f17dd2ce95e4c11bc371f54065f7418964a81cff2d46a80825326c2a44534", + "31569052c9d05a4d32498b69b51ac0f986db3a2dbe171a7f0ef966a3dee41cb4", + "0730ed26e07c48457bd784508873ed7bfdc32d5ab705700b194b9a831baf1fb9", + "191e74e4b0dee30cfe72a5fb066fad82c511b34c5b166b1f40f3802d97f9f2bd", + "244ab91d3a2bb6eaef1bcb87d162f322f227836c8f619416f615100ed8cd1170", + "39a7e260743802736c25e40ab14483ca41b66cbf2d4a4da43c762e7c1c2507ae", + "280489796c6fb38c9e4889c70a11b531f6c856b820c137ef56affbb2d23b44a4", + "143d7d370b90a253019a0e0cb6a7cfccc7530a9953d588d072318acf9c0ee0bf", + "23e3500c39c1ee0ba8af4267eda5f9513d50239cd801a935ea91d45a77dcf340", + "0ecfc842f26b2eeec0c0692b5deef17ee9ec37dc86d1708ce5a2121848a034eb", + "39390eb009c12ca3ddbdaa1d48373c7532356dee3cbc770df373c5b8ebd22743", + "2bc64efe2b8ceb1ab842414acb0090ddf04776fb59f1b24881e09fca48d7addc", + "06c456cf0a86bd9bee226e4b27fa4aa68d6f2ffb99d9a7b4fc0d01a7908b858a", + "115d6246020c9b549f622ea34b879626c3e7d4306f56ae13ecf98b9436c7e555", + "124a11d1ce2c80afe59a5b58e4c5d231df3c2b53f989093cd10217ab8333bcd8", + "3ac5e29def27496ad910a9fdfa8422392e48dbe5e3a0289bb3f633b12cd120cf", + "07d4074593fe19a11b97213aee4459883efd619bc655549ef5b13c36dbef13ee", + "09aa7f4d20d2c752136a16b23fa8c140a77a9df9a0e35a09fe23b88b6e352edc", + "20985362b9e385dc92bd2aea57c513bf20c579c6998792895907c27773adf646", + "17079d5b389834f13e18356a0868bcc9d33ededda3162a95829c24c06eb90899", + "3237267c0c90cdcb46855aa988fcae7517572d8aba0b6ac0cf225a73d7c1e647", + "18d2b3b364458a32480cf82f1b5f6405e9e82f0582ca3737dfb4c6026b2d120e", + "3c71bdb7e803fe92fca51e33d1feb8c321101ab8f28f106424a87e3d41e4c5b6", + "2c7039986b9bb6b657bfb02726fba413806b5df0ebae33b08c0e7c754c02a3e1", + "0d204d7098557e4938b9ca03dc024b947de4aa0fd5af565d1466c0529a67d120", + "3d67511eb5b23a4ae6d1f8b04126c2bc57eaf1472ace898bc9e4bfeae8229202", + "24c3f22de80f9f6c05c33d07eda4f7641a184965c9891b86a7d7c815384bb511", + "23277d1e7d3312ceb7ef381d9d69c77d790f0b976ef51d1f376df23e528146ab", + "17f8ad0b46479b00bb5a18e32f2480cd17571177d2aa5d0515e07b74445b1bd9", + "163737b5ce6f658cbc91ae736b029dc441e6e002da3127b072212551a2c1eaec", + "020317395f6a7f64b12955c9409bdc71fa2b7fdb9f09d92ab016400bbbe519b2", + "00aedac93402bb18cd40862d18a618ca5e8191434103c97da1e4b90ede93e6b1", + "1d9b06412d5ce96d7156a6665745ebdd99ae344fc71c31a77f2b9ddc96bdc70a", + "3106e68eea1351cec9bfd1a1c6f80cce77f31b1ffce3fb9214480920d0a06a79", + "03ee1b0281a3563ad0cc0ec85d1ea7753bf7d2203458c3150d7280b665939c7f", + "0a96fced47195d166c8821019a6ed39cbf5448d452e93194956883ed477692d6", + "1d9b75598c074958376303271b9ae555256fa58356ff07cb116ff721c096b9ba", + "38b6299ebbec1f54c46f0930ea2902a5f7b72cb3678deb9fcc192bda0ac09f8d", + "0ac868ec3dd9ebadae9db3f8ec0d030b3280e7e3c238e988bf327372cf693be8", + "1cec34b131c6d1485231646ef35022c557097db94a74b55e7ca56218ef580900", + "061db09f7c7956663df0dd3c20d7803901ce46c51ca21207e5bb7659667ddfd4", + "207e13847eee223e05bbc7b8b66ff4dcc3cb7b46ba8c47beb133f7b5a05d5e92", + "204b419898f8a6f8b20c68e0fdb5d5f1e6990890ee4cf68452d748e41518a2d4", + "28f117fcfef35da6ff5e0090b846b06dd12e0c979fe0452d202755edb699c52c", + "3a0414657ec0d812bab808204b5e08aa598809759a327db76e578d7eaf032135", + "22af474b0b051fd96d86c9246128b03029aaa3c3c2c509ca1a39f01f9a3b0ac9", + "00c7a1a7eba0232e2fe8ed4b935591b7a112e339f122b859d725c4c00dd21894", + "26656db10b0d8afa5fbfcce81f0c07bad6fa3eecfabed4ed2ae5a389f9072b40", + "17236699364a1d256155ed318a99e79cdfaf4dbeac4c7de8f0ee9c9ef39752b2", + "0944787d2fe15a6697c5aef5a1b587aaae9e91a90d45363ad140c375e8430d4f", + "3d43cf647552bea7d6232f3af68819c2e769f626f6ccb11ddaf1b25949545117", + "1a7892dc5e82ab39d6dd5963ca09110e57328b260e046eda9959d075f478f8f7", + "0d34fea9410710dd0a80541544aef313b5c70162ca58e0fe1e4c0e395dda5127", + "103cacab50fa50c8463c5e21abd08844097224b94d84ca83bcfc8fa9e40f91be", + "31e9b21d52e192b02104560000fef1ff659ca3c6f5bd7ff5f3b928331d72702f", + "028cfa1ff8107705db6b98b210777a589d50a31ec6d49a3015d318809f60865f", + "212f7fa30f223b93f219411c70f285062448fe31fe61e6ec2b1e22b718a3b91e", + "1f8eb32a975dafbab07ec6198b4b897889e0132891b60aed75a84a45bcb8858b", + "3e6582172a41f7d54d1004dc39ae5766cc2b47c63ba10fcd36edf93a387cb60f", + "1a9ba420d2f389c209a268b43b2edcf60a4008ebcf4c8d828aff4bf1b94467a1", + "1fa88175a199231015b8df320a06e44373d60c67a3036e88fef92cd972c2ae73", + "07d68aa4efc4c70a2e0fda6eeae1bd4ba9cfb590e28e06e13b45778f5c162b88", + "1cd3f0167137966bdc2bdd5dc388b9ac8d90ef0f9e9e412e5fdba4a75284ae16", + "190a705bd7932ee5f71ba848b0486e74f90be72096668fe03eab61c1e0f1894e", + "2fdd205811f034d5dc31cebbf5c4dc30e2858c7e206179a9aba896b423158040", + "2beec004fff52582fb11af0a4564b800ad3fee969fec610b9cb55a459dba8b0f", + "1e6e95e9a5d03728c442f6e1e7da058ea47de8aadd39e53f35152a50d30a1f42", + "13e4208949e31df561958357ffc953081476d797bfd103cd7c4bcd2e919ce944", + "21b2f2343c364d2756bb71773c3947f5312457748a25f90557b07139ba293f92", + "1f90e68a6190dfd7331063c5887d937bea5731918b689a10b5008e213864563a", + "1c88b570d97d132f1f4b37c58f34160df5331c87da1b47aaaba56b0a6eae644e", + "249cf703d15adbcf72683515b0fd297904c152e6efe8837c39e9707cd191047b", + "3a210a1d3ce74b4732735dd34897fed8a1a5c0ccc5384a5f440c6e9c0b7d20cf", + "1e62c63b2d4dcce4e53d524b50d3c7df0bbf8c3c0bfd53097985afbaca05fb7b", + "199f499c41a96fb8d868e8736146fc203f4d02703ac40da3339c93afe06b6424", + "07d009c744f40744093634ff4d7447403fa1538acdb892d9ee200a57edeeb076", + "3e84c27e6eac70d1bf0cd1d98f7cab28e75de3f18a153ee695bb9b2493100d1f", + "22306aac801e9696e9d03261baca400723315e4439f546b5fd12132b6d4b1cb8", + "1380bd48f98efa742ecb2b6166590d1b60b018f901a90bcfb023e2dcd0af5cdc", + "1a0b071831f9004b14ad2568091842783b0011e79f9665aa8c3e57dcdfcbb030", + "308dbc8723e9a242a476412799f2cadb167f0968923bf6866e4346f0b63f1934", + "335f9530238e10aa44f368422b601a1e6c8843cd4877adb80eb127bfd81ad21f", + "1591db904b23c7368b9b22ef684ffb050fdd3668381824fbaa8986046dc44290", + "131f0b2e45e0d3a9b34a4e1c50e4f9a31c43e7f7044b06269baa070c1e998908", + "1d613dc762e2da6147f90d6f32f19930c93283a3ff20366517c9f9f310b4ed74", + "25c973cfd4666ef870d0f287b6fb257d80e2e56d2d9696745b1575c35570b631", + "3035f564a6ca6d5eda2228fba1395996bc66eb7722f1210088ca319bdf34d082", + "2a28f60cf833652dd8a1f52ea822ec74a1735e6c7cf9e8e3e7c2e5c936b9f578", + "02893e63debedb51d956641ab37f8224f2576a8afa7e88b16d488a79fbfaeb6b", + "159b5f00f85226e56834c5ab663dae4a1ffd8f859b778cd697c554cb2bc7e10b", + "38a1ec67630e73dff8db08d424ceb5a19dd07caaebcfbc9b4c6077ce5851b11c", + "2773016b94aec214a5945cad0443e2b24f28a5057e63d9c4e4ce4f1708becfd5", + "2af0401500a133adb83c1879c433f0cec4375581dd6a10c1da3ded9efa2c3e39", + "0890942c3755ba121dda9e1420f9ef23e50626318e1d2fff3a858d7896b912a9", + "27c987ae496f5fdd82e6a67f0cdea31c3a6af10069c763a14773bbc47762ed92", + "34797c991f1237879b46c24b9533188d18c85c9506ee2f4f3d7d586515fc6c46", + "2656598cd4645af0585b14825b5ad5c60dc8aa31131c85e3ef2fcb243e62a46c", + "02e70bec3a4b28525fe742934ee905bdacd2a69bf84a3d3851277f9edb676e9b", + "03c1b5ab8bf028fdb00ab432eb152bfb4321a033001ec2bc7cb948daf20c8743", + "35261aef6cdb67517b11e5c5c9536452787254546824b7dc7049b1a70877655d", + "08030d0b420a0e5930ea7e66df40128a036188e251791905c05f09aa0985670b", + "37f2ef43a3ae9eb592f4e41edd36c6fe116184c46e97787b8839ecb654d1a720", + "3a656ea92dca77d304c33ef1d626b84f4677be6b2d3a05064fb05f8ae264c429", + "0888340570b20630dcb80424b9a2bdd514c0adee725fbbde9f559ae8daad9b94", + "3e9e816ed45e6137d1af401cdc7e107f9f1ae44ed4e339fb65d69b797b3074a4", + "11a9241d8dc681e1dfa8f84a7d0a2bd2b6b46895955aa7dab59c9765f0bf3b00", + "102b14e823fc673fd79c6cea186f84cb967473fb2dc66c5c86f8918fe5ef2632", + "3ddfeeca13f802a35bb7aced07f65cfc6c90fb653293423ad825e9c5b039c431", + "0739c55c984e337af46826fda9f8ae40480ba581139f9873a7b0d3cfbd5295e0", + "38a14f0e48e31bb3dad7940a3b8fd44846693dc98377e3aae7d5b6dcc9041184", + "0c00c70dc2dc3c47e2445f8da9fb8cff4510975fdcab17182b12d90a174906d8", + "1e464cb65ea84090687f87239625fc22f90dae70507fa089a6489525a354be92", + "2afc284e5e641119d2fc60db48742f6cfecac07de16f5830127938514ba77d41", + "227f44c0a1a01fd2f67cabc62c6bc52521022ee8a023532a594ef290ee00e62d", + "14a0ff81aa610dd1e51de0b9acef7831722c69f54a71702238bbbe32f3c31eb3", + "1e7cc24137af66ca6b95c6bbf38a77af53edbd7d7cd5dff97c7b6a7a5f3a8732", + "0249ab641c0dd2161471e45a60074681c332ffddcab926ffcf6ca880c4b57566", + "2681e8c667b5a435e8011e830ba32ff0aba2302cc96bdfde24f57661bbac302d", + "01b65829275acf4126fd5335c2f4b239bb6f80a0d6e7542537b8648cd93c671b", + "37fa49f169efd22228f385ba31e06edd4c3cb14f94466735ea81d36814fa04ba", + "262033dccfe9b9fa6baa46e71ac385beed9ebd15139c1f6bd97eea1516a96709", + "1ee633d2fb5a17682d379e38e9da35b3ed8e761167e028b13fc52baf7cba3f05", + "2de21104833d698b5ff96274cc09f6f820565f7f2fabc136305da6c96157de03", + "35dd6506bff3fba8d5f8264123a285a1727c3a9d968425d01a7f5dbeeb85440d", + "3491d0abc689059ebee5e18b0899c4bd51893ab52b87e844d6856b0581484a80", + "2914e258563f0a1d69c49e5c30e1d9eb8929d87529e2d83e37598e5a55794938", + "00f296a6cb22cdd57d510951de49935abb3f5101afe5b95cb1ce963174ff53f4", + "303e0b05872f031e3fe59265ce7a319b3135e7ccd65d641e875c33b952c9e3b9", + "1d41bd3b1e42d857174ec7a5e06004464f51a31b2d89389cde7a24ad5340e11c", + "21c519ae2546d8bf3cf183d4fe29e11b9aee34256dcde17d998069223aad18d0", + "335d0c815648246497983d9bebce0b26684ca0aaec13bf895cd8d5510699d859", + "2fe3b7263c5ad9451dc8903d943673f2f50b1e6d8c58ba11489b875e2a1dfcb8", + "3f65390f2be2639248a97890cc7cebe9a596a9060f06bc9c88008e6d216722d6", + "10fe58e3d709845d20deed4e48b5998a962bb9e50cc28c8439de5602c3440a28", + "310eb8b16bd52b5c98f7cdd92e87ab8b612d3199d0d650afcd9e4ec144e4fecc", + "0b675c5155b583fb43b03367b992a4cb61adad1170cb6ad331e10158e0609e12", + "1f2c785cd53a75312f272c1e3723e1f0b0b2cafca021de6195e4d3c6713c8b98", + "38b4be13facaabbda5e280db519eb4d2b8b33c8387f87170520be537b3c7976c", + "3dc1ee940a0d49a1e2f10485c5224aca2c30e4326d28c5d0c1008f95b5a30ec1", + "340e0653a9355f23978e34b19bb14445ee2de10bbf2df17ff1492242707cd62b", + "3d0b2d14b5611d29d41ad687a4afa03655640a059d275bfd71064134b816a654", + "1b376d3d610a0b09376a4d651179eac13dd5ababa51f0fa5feb7ed6ae8f921a9", + "1b0463c8b5022edb194b7e38e1b58bf3ca7ac6e3391934f7dec9d5eff4732bc8", + "31c8c50b91880565d7f39e8e2b3871975bcd320655d6df3293a802ff5e0a5c74", + "1d4925e7df9327bb32fd7b690d60714e22de083e542e88ef4fe46af13d411cb1", + "022cf3bfbcf480a0fb5964a1b1f621f492e7bb46f7ecd881826a68439c6cc700", + "3ec767e505ee2f1b9ead0c0f58946c1a00646f2e56aff36a3ec0798ea92fd30c", + "2c17e0a7b92c0be8b4072507cb0cdc40e0a251339b7cbd13ca61c38bfd43b306", + "16b50fb12797fc65ab4c23ad369595e2785f87aa160d7d91cbda037e8121c9e7", + "3ff28302761a6b9542b1e6ae750a523d1d5d3fd04dbae38672c3ceff501f1f76", + "37ebe308145ebdcb190a70b828ec4774f6e4e7e2983f9a7d0cf2fdc0de8f9cce", + "24d266df43d0881c912a43c406332c84b2b499715cfffaac182abf658bfcbde0", + "2358a0f7e472ae30ec9f63a0a2a836455f457eb7af0ea74a82a295313543cea0", + "33c9ffb85f0333028a77e847dec3a2b4fdcc380a915e9fe437e3c3794a67b158", + "15f7de06da2d96c9cdb8d4f4c3a36d2e7f858dbe8c843e3da68fc3ea2324871a", + "30e5fb6e6fdf9664b139922a986b0ac928fe40df23797dd9fe1c102bc809670d", + "2458bae1bb538b8168f58a385800cb98c2136d8eea99b7e50d7d7a71f88252b2", + "258dea48aee8d67b8fceed5e7707b42fa3ac3f486f1c243ec32068a99af07e61", + "2d37128e74ce6fcc6ec2d78d5ed5d7639e58f7ee1de407229d475ca8dc5c402f", + "356c7ecb86fc6a9b5fbe1b7dc1f414553a42c755f7daac7d7411e24402342d89", + "1c79f4aa3bb6cce96646153c786cbb3917c5ce529ecf1542f513705b6cef61bb", + "33c3d0189963d3e0323b4d9cd7269160dafc04b4f51e0d7f01b77944d2ecbc02", + "3554c3efb2690acb7a6df8b31e9406493d6f81b17e7c1acea2a61abaf4143105", + "1577a9875e1af86c0ce5922d02a6f1b3a297c50fb35144f2c58a53abd55f3809", + "302cb42a0a14b23aaa17e7eb43038d70a234edc72643eb1e2f05743a6284d47f", + "1e7639068129c5e98d9e65d43d89b7d71db0ecff4985917521420460aa3767f8", + "319e1e3a74ec1a5fa6d75c9aff7674d4a3fefd56914495247a5c9bf9013d0207", + "00b88e4674e21b3829fd5f2d7debd014bafa3c71aa2bef1fd0ba2f37b9c5d930", + "018e558c71cb152e61dd1ef9ca9e29dcc9de71a73b4db9fee76bd6f9b98214e0", + "1f431806e7a5236e431f9e33667d38e539af404c0ef27542271d231ae290b1a0", + "0f0247b79829b359d5f64ea56f6d9d1783ebfaaaeaa2c98a413f64c07b89cb74", + "153d37b3671d5043391628389711fa32e9f03965fa32f3113dce7d91ee903995", + "384f31275ba6d066aa335d0399e98ad7f82476851acb9cf845c27592a56f6c30", + "145d40a67484373723868b1d0433198b3b1ce42f1c04203507d0d4cb66808d87", + "2eaff451b551ccec88ac6e4362d594b6795add36a5d2c516635c1cf7d374308c", + "12a9b4fd088a12e4e8b699f9891d8597db1cef740d5610129e836c39ae5b8114", + "362320e8e7d662f4751feb9e9a9b7ffbe22b4486bece41d1e774e9db0948a682", + "0394521bb77c67f4c7eb0033d30084694dc531bc4ff2c2271ec2c6ce8359517a", + "0000000000000000000000000000000000000000000000000000000000000000" + ] + }, + { + "Base": "17aded6019d75c124d41a73b814f5a18f5ac3bc51505182af5fb1bf6896cbeae" + } + ], + "instances": [ + "32befc4812ad54098ddbda8e57fe5992816d1a9387e4771f6e6fd5cd092c7d3e" + ] +} \ No newline at end of file diff --git a/src/contract/dao/proof/witness/auth-money-transfer-enc-coin.json b/src/contract/dao/proof/witness/auth-money-transfer-enc-coin.json new file mode 100644 index 000000000..a9db7cba9 --- /dev/null +++ b/src/contract/dao/proof/witness/auth-money-transfer-enc-coin.json @@ -0,0 +1,38 @@ +{ + "witnesses": [ + { + "EcNiPoint": [ + "0c294d0f0badedce92b1ab0905956e31c0d8dd8b2ab7a2960ede3927da7e0395", + "2a4bc8dc35415faf75c6761185f47abafffae1878dbee43e2aaf662adee82a8f" + ] + }, + { + "Base": "000000000000000000000000000000000000000000000000000000002cb41780" + }, + { + "Base": "267f9b7c64549bf080307d045bd0bd7ae4389093f6b2896114ec4e523a77a10f" + }, + { + "Base": "36303875f077e711be1466ee4def9e7d837a90f441eda05df04652d7a935ec54" + }, + { + "Base": "37acf834bd95d56892362c84aa86ea427fa5f07a87c35e66497511643ef89699" + }, + { + "Base": "1cdf955658c67d579672a4a98314cca1efac1d92fc04bcbb36044a000baa745f" + }, + { + "Base": "2f3e2184b91d9fafaebaa06f8dad8e76aa47acd25f6a7e185d7f66ce6ed5d51a" + } + ], + "instances": [ + "037315381e451d50765b7cc15144ed8bd98899ec454ddf7eeaf033b2cff4d894", + "19663d172b6f461541e1efbaf264abb9a5e00914cba25a439c12be07ba011b89", + "14d14d97dfb5f923612685687881375ba87cd419303c7a05904b071858e138f4", + "0da51e01fbee7b7b516f4e09bca61094af7390c498fe545736914ca44060160d", + "25c6a47feb236e997fafc7ca57b18b914fe276552fc57d590fb7768eaa80038b", + "1c3ec7a5f340ca938a4cb53945d594b9d15837f7ac63d3d0c84e1a0e09a5994b", + "2b1da401cf430126b272c8317fd45672c9560973fdf92b64b2321105261cc95b", + "217679dca5d0aa4d380497b438a0b8a5f56afad0e0807264ff54f201dd93df7d" + ] +} \ No newline at end of file diff --git a/src/contract/dao/proof/witness/auth-money-transfer.json b/src/contract/dao/proof/witness/auth-money-transfer.json new file mode 100644 index 000000000..72e9f9d6a --- /dev/null +++ b/src/contract/dao/proof/witness/auth-money-transfer.json @@ -0,0 +1,73 @@ +{ + "witnesses": [ + { + "Base": "02819e494477be102986adf568bad3e99d90ea6e6b476bab0614fed8aea14f7e" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "000000000000000000000000000000000000000000000000000000000000001e" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "21bf80cc480ef3b8664ebe2715c5e3e8195556af191276a6fc2fbb11ec3e34bc" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000005f5e100" + }, + { + "Base": "000000000000000000000000000000000000000000000000000000000bebc1ff" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000002" + }, + { + "Base": "08764b2ed7fd2c2642996de084884819cc23e300213545ec37adc602d00e1418" + }, + { + "EcNiPoint": [ + "0c294d0f0badedce92b1ab0905956e31c0d8dd8b2ab7a2960ede3927da7e0395", + "2a4bc8dc35415faf75c6761185f47abafffae1878dbee43e2aaf662adee82a8f" + ] + }, + { + "Base": "2a83ca13422458cd0db77cf513727481472bf8c6bac3e878bfe0025c48a1219a" + }, + { + "Base": "2ca954d274324093870b57f4b1812dc722c11e19551f5b927c090992d703765c" + }, + { + "Base": "000000000000000000000000000000000000000000000000000000002cb41780" + }, + { + "Base": "267f9b7c64549bf080307d045bd0bd7ae4389093f6b2896114ec4e523a77a10f" + }, + { + "Base": "1cdf955658c67d579672a4a98314cca1efac1d92fc04bcbb36044a000baa745f" + }, + { + "Base": "36303875f077e711be1466ee4def9e7d837a90f441eda05df04652d7a935ec54" + }, + { + "Base": "01253a183ec891fef7185057fd57ee7febac638b013a8e87eae995e110c67605" + } + ], + "instances": [ + "28267c5be87923d074b91c0d3839487ce150592177b9df5a287419ad3e3f68e7", + "3fe5d8e5e0d598bbca212ed0f265c69b39fb57f2b5c715f307eba932b96b56ea", + "037315381e451d50765b7cc15144ed8bd98899ec454ddf7eeaf033b2cff4d894", + "36303875f077e711be1466ee4def9e7d837a90f441eda05df04652d7a935ec54", + "02819e494477be102986adf568bad3e99d90ea6e6b476bab0614fed8aea14f7e", + "1a751b5b4c872774123149cd3e7e4962d3adef79fc9a89d24dc4e989c991f989", + "2d64cadfa978c3299002f275c568b205099a113bd25ef814534cebab2730604d", + "3600973bf87cf583ebe670e9496ea3e6c7c4a9e1e2983e42b40f2521e2a904c6", + "1bbbee7c614ecae97e11e31adb0a0473278802f145035f0bb80fe9c123f15c24", + "23faa07af8fffec3f6b7ec65f0bc3c9966eba1a437dc75f404a2bcfd94467066" + ] +} \ No newline at end of file diff --git a/src/contract/dao/proof/witness/exec.json b/src/contract/dao/proof/witness/exec.json new file mode 100644 index 000000000..31d8a4192 --- /dev/null +++ b/src/contract/dao/proof/witness/exec.json @@ -0,0 +1,68 @@ +{ + "instances": [ + "28267c5be87923d074b91c0d3839487ce150592177b9df5a287419ad3e3f68e7", + "02819e494477be102986adf568bad3e99d90ea6e6b476bab0614fed8aea14f7e", + "24d240bdc668465f1a3608700214357260c33f52868dc739217da6b87b4096ad", + "116432a355f1926ae33fbf332b765e4e1e94cae47290ebcd33196555c7148fdf", + "004fba11550ad87c88f1b7d4f4cbbe0ff3b93b1d5cb0477915fac7746a87abd7", + "1dfc5b0f5012e7f2bbd0f7892cb77409c385c14de571e8df9a936ed9d1409912", + "2f36059b1b15d5c5b03518e02296f157f69035132c3d9454157a3f08435e917c", + "3850afe39f2a91af43136f48eec92f56430d500cad8ea2661a14ee55eaf479b8" + ], + "witnesses": [ + { + "Base": "02819e494477be102986adf568bad3e99d90ea6e6b476bab0614fed8aea14f7e" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "000000000000000000000000000000000000000000000000000000000000001e" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "21bf80cc480ef3b8664ebe2715c5e3e8195556af191276a6fc2fbb11ec3e34bc" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000005f5e100" + }, + { + "Base": "000000000000000000000000000000000000000000000000000000000bebc1ff" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000002" + }, + { + "Base": "08764b2ed7fd2c2642996de084884819cc23e300213545ec37adc602d00e1418" + }, + { + "Base": "0c294d0f0badedce92b1ab0905956e31c0d8dd8b2ab7a2960ede3927da7e0395" + }, + { + "Base": "2a4bc8dc35415faf75c6761185f47abafffae1878dbee43e2aaf662adee82a8f" + }, + { + "Base": "2a83ca13422458cd0db77cf513727481472bf8c6bac3e878bfe0025c48a1219a" + }, + { + "Base": "000000000000000000000000000000000000000000000000000000000bebc200" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000011e1a300" + }, + { + "Scalar": "3386b8392d5839c06ac773a985c94446b2c26be861d60eb37a83602c072ae292" + }, + { + "Scalar": "36488a893a9228e3f656f010719b543d6760fca37931e5d18c1f0b264d39ee3e" + }, + { + "Base": "1ee7761218e80a49be91eb4ee0ffbbfef1a3f7dd82253a4eb8bbf6de2f3b15e8" + } + ] +} \ No newline at end of file diff --git a/src/contract/dao/proof/witness/mint.json b/src/contract/dao/proof/witness/mint.json new file mode 100644 index 000000000..119eecad7 --- /dev/null +++ b/src/contract/dao/proof/witness/mint.json @@ -0,0 +1,30 @@ +{ + "witnesses": [ + { + "Base": "0000000000000000000000000000000000000000000000000000000005f5e100" + }, + { + "Base": "000000000000000000000000000000000000000000000000000000000bebc1ff" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000002" + }, + { + "Base": "08764b2ed7fd2c2642996de084884819cc23e300213545ec37adc602d00e1418" + }, + { + "Base": "14c9a924c63d870e3edf3d0b823fce2a14e3d5ad1d56e5c0ff7475d50a95119e" + }, + { + "Base": "2a83ca13422458cd0db77cf513727481472bf8c6bac3e878bfe0025c48a1219a" + } + ], + "instances": [ + "0c294d0f0badedce92b1ab0905956e31c0d8dd8b2ab7a2960ede3927da7e0395", + "2a4bc8dc35415faf75c6761185f47abafffae1878dbee43e2aaf662adee82a8f", + "37acf834bd95d56892362c84aa86ea427fa5f07a87c35e66497511643ef89699" + ] +} \ No newline at end of file diff --git a/src/contract/dao/proof/witness/propose-input.json b/src/contract/dao/proof/witness/propose-input.json new file mode 100644 index 000000000..21c384e78 --- /dev/null +++ b/src/contract/dao/proof/witness/propose-input.json @@ -0,0 +1,79 @@ +{ + "witnesses": [ + { + "Base": "1d37a772222b959eced20cd1ca70de81aadc594cc27159a8b7a21abb138f1edf" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000005f5e100" + }, + { + "Base": "08764b2ed7fd2c2642996de084884819cc23e300213545ec37adc602d00e1418" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "21d59838eab37e0372409377e28f9e0a0e9d0cc2037d07cec509d4aa67338292" + }, + { + "Scalar": "3a9b0e569d6cfc8488e9c94fd17628e3e12cdbae60c3762a424a1c6af33d49e1" + }, + { + "Base": "047bd44a8b25aa2812229cf7e4a3edb9b51cd5d513bb9545d8c694c617c55451" + }, + { + "Uint32": 2 + }, + { + "MerklePath": [ + "223f054afc0a67781993d1d577e84fadd853ccaa03845a381230a15300fb4e77", + "313e806f041b24667203187f723bd92afaf966afab0e0ec1d4eea66502e5b9ab", + "23ecc57420a536e4f42b3929e51655a622d1dd67b1c37afc6bae4a7c8896cb46", + "044279ac8f3c57b2aa1638aca9d27eda6a7df26d8174ec50fde5537739fc1121", + "31b4ea3aced9464a3daba756ae9945b86407f3ef514c38f2d4645cb4fefb6a80", + "18abed52ed3002af2798f51bc19bedd2c9fc69003699e845c6f0c0f257413e87", + "02c4ff95a4f8937220846aa30a8abc6fa8a053125ac1c870ade13a952013ab27", + "3b13f3906f701d1f8e4ad7221b0555056830523b11374b5ba6a291f13d56144e", + "1f3707da6df0e41c6f67045d859633ce55851d4b17f4b74e0f8ad193f9e4bbb3", + "0e17bd4c92572b5a39b8bc1c99cbdf79c628ba3fe9279eeb6ad7f0c6e9bdf54e", + "0743b7c639f9a56294bf11831b6a7da417d27c7d6a0dc31ecaf5ebac6825c0a3", + "390dd1d2c5662b30f61c6ca9ca404d1db4495decd6ba0516da2261ae0bb3f93e", + "0b9ed98ef64fa6a78488390038e530982d3670de72c1703be6ab93cb0028ae22", + "1b66b7651dbb92721c035c140d313b05a617c9df9c97b0ed4cc27226d9107118", + "3b4564b91762fb4b354bab9090e3fa6611bec6af2c04c20c8b144f36bead983f", + "0fec4763bc96f603590823c9660544edf425bdb3e0734973f136f90dd1dbf863", + "34dcf5b7ecb1dda089e3cb6d0678e464e5fa8d146835315a886140ac3e168221", + "31d3a638278b57a2923bc1ac63da2789d61aaa069e1fcdf9f3a3181968c09dbd", + "2e8d63c774216c4b093197923c2255d39ce6a93d3386a93b5eb97f3b95ed2cca", + "1a4e1a33a59cc1c3bd78771168f6ab8d24ee714d09e0e1aa459e6fb5964b3555", + "05f71033d378bb729e90f578654694e692acc541cacaffdea045a02a4cb09770", + "012e36772839eb54c3f50a619a59c57acbe5e8223f7a8610d43b81ff21681de8", + "24d86d9aaaad5838a6d179cb5c2a3b8c80fd3849c9fdc4b896497c7f56e87d15", + "0b5d7773fe73ed739820ebe6eafc1859278bf9c49546122cc12061cd51ce1ffe", + "2d0a3ab6ae0a5a33b346835b4e3252b137ff3010fa0c4df7692601122998911f", + "22559754c745c606ec0a54140795eda7bebfbb3c18961393a37df12af515ec5d", + "258a081b5900f6074c3a94da3cc613b61758cc331d94ee75ab3b461dd92aaee8", + "0f06d046da76daf00097e8af438215b183a518a5f423687696f5ce71e3de3fd5", + "2ed66b6b6f8f29b6b3f625e8fe886221ebec30c729e8619a4c91e7ef4c44d215", + "3f25121b0218dc6cf514fdb8e5d9a3b685d60e6b6baa837aea10aaa017a6574c", + "27ba14a06cf07323de77da59259e3523acb269d955be20791a83bd195c91d43f", + "2a4c109fe28f5c71f7bda83f74ec8b684cb90e8462772b224449ee07cd63d087" + ] + }, + { + "Base": "19a542061c63ceefde8061d3d00c05ec062f450fbbed6df6696820f57f947715" + } + ], + "instances": [ + "2c2e5aa1ac8fcaaac25a407206f202f02f675cb95a167f8774361d89fff78918", + "2636ebde0cab44c0cc7f8ccb1052aad9a886cb022100073814b937287a5db16b", + "3beb35eaa13eb8eedaa0c7d6e32fcee4b83fe6d72e8e42e0235338a5f2f2e1c8", + "2783b14ff335c151dee9f1a36193829a7a9213e2333680fc73340dde4d7f86f2", + "2019bc8b928b90ce12a0e5e78dccfb70a497213bd084727f8dbb5f987dec6621", + "050243fa9f64679efff283aaa746f77b73808188376a9728ee8869c4bd414ed2", + "32def3d2ded7d9408c816cb38438b1af22fe34cd21f2420a5df7c5a66e4681a3" + ] +} \ No newline at end of file diff --git a/src/contract/dao/proof/witness/propose-main.json b/src/contract/dao/proof/witness/propose-main.json new file mode 100644 index 000000000..25c3997b7 --- /dev/null +++ b/src/contract/dao/proof/witness/propose-main.json @@ -0,0 +1,99 @@ +{ + "witnesses": [ + { + "Base": "0000000000000000000000000000000000000000000000000000000005f5e100" + }, + { + "Scalar": "3a9b0e569d6cfc8488e9c94fd17628e3e12cdbae60c3762a424a1c6af33d49e1" + }, + { + "Base": "047bd44a8b25aa2812229cf7e4a3edb9b51cd5d513bb9545d8c694c617c55451" + }, + { + "Base": "02819e494477be102986adf568bad3e99d90ea6e6b476bab0614fed8aea14f7e" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "000000000000000000000000000000000000000000000000000000000000001e" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "21bf80cc480ef3b8664ebe2715c5e3e8195556af191276a6fc2fbb11ec3e34bc" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000005f5e100" + }, + { + "Base": "000000000000000000000000000000000000000000000000000000000bebc1ff" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000002" + }, + { + "Base": "08764b2ed7fd2c2642996de084884819cc23e300213545ec37adc602d00e1418" + }, + { + "Base": "0c294d0f0badedce92b1ab0905956e31c0d8dd8b2ab7a2960ede3927da7e0395" + }, + { + "Base": "2a4bc8dc35415faf75c6761185f47abafffae1878dbee43e2aaf662adee82a8f" + }, + { + "Base": "2a83ca13422458cd0db77cf513727481472bf8c6bac3e878bfe0025c48a1219a" + }, + { + "Uint32": 0 + }, + { + "MerklePath": [ + "0000000000000000000000000000000000000000000000000000000000000002", + "11f4976cde2d797fccb9514e3858c906cbbd9f5e520f003c71c209c80725abd1", + "30d056957683dfe0c3e289ea1c2304b19b5c09c17cabbb3a0464cd14463f41c7", + "044279ac8f3c57b2aa1638aca9d27eda6a7df26d8174ec50fde5537739fc1121", + "31b4ea3aced9464a3daba756ae9945b86407f3ef514c38f2d4645cb4fefb6a80", + "18abed52ed3002af2798f51bc19bedd2c9fc69003699e845c6f0c0f257413e87", + "02c4ff95a4f8937220846aa30a8abc6fa8a053125ac1c870ade13a952013ab27", + "3b13f3906f701d1f8e4ad7221b0555056830523b11374b5ba6a291f13d56144e", + "1f3707da6df0e41c6f67045d859633ce55851d4b17f4b74e0f8ad193f9e4bbb3", + "0e17bd4c92572b5a39b8bc1c99cbdf79c628ba3fe9279eeb6ad7f0c6e9bdf54e", + "0743b7c639f9a56294bf11831b6a7da417d27c7d6a0dc31ecaf5ebac6825c0a3", + "390dd1d2c5662b30f61c6ca9ca404d1db4495decd6ba0516da2261ae0bb3f93e", + "0b9ed98ef64fa6a78488390038e530982d3670de72c1703be6ab93cb0028ae22", + "1b66b7651dbb92721c035c140d313b05a617c9df9c97b0ed4cc27226d9107118", + "3b4564b91762fb4b354bab9090e3fa6611bec6af2c04c20c8b144f36bead983f", + "0fec4763bc96f603590823c9660544edf425bdb3e0734973f136f90dd1dbf863", + "34dcf5b7ecb1dda089e3cb6d0678e464e5fa8d146835315a886140ac3e168221", + "31d3a638278b57a2923bc1ac63da2789d61aaa069e1fcdf9f3a3181968c09dbd", + "2e8d63c774216c4b093197923c2255d39ce6a93d3386a93b5eb97f3b95ed2cca", + "1a4e1a33a59cc1c3bd78771168f6ab8d24ee714d09e0e1aa459e6fb5964b3555", + "05f71033d378bb729e90f578654694e692acc541cacaffdea045a02a4cb09770", + "012e36772839eb54c3f50a619a59c57acbe5e8223f7a8610d43b81ff21681de8", + "24d86d9aaaad5838a6d179cb5c2a3b8c80fd3849c9fdc4b896497c7f56e87d15", + "0b5d7773fe73ed739820ebe6eafc1859278bf9c49546122cc12061cd51ce1ffe", + "2d0a3ab6ae0a5a33b346835b4e3252b137ff3010fa0c4df7692601122998911f", + "22559754c745c606ec0a54140795eda7bebfbb3c18961393a37df12af515ec5d", + "258a081b5900f6074c3a94da3cc613b61758cc331d94ee75ab3b461dd92aaee8", + "0f06d046da76daf00097e8af438215b183a518a5f423687696f5ce71e3de3fd5", + "2ed66b6b6f8f29b6b3f625e8fe886221ebec30c729e8619a4c91e7ef4c44d215", + "3f25121b0218dc6cf514fdb8e5d9a3b685d60e6b6baa837aea10aaa017a6574c", + "27ba14a06cf07323de77da59259e3523acb269d955be20791a83bd195c91d43f", + "2a4c109fe28f5c71f7bda83f74ec8b684cb90e8462772b224449ee07cd63d087" + ] + } + ], + "instances": [ + "2783b14ff335c151dee9f1a36193829a7a9213e2333680fc73340dde4d7f86f2", + "3d8d350651f6155c642a7ae0e15c540cac319dd21f461310b116186acbd725c8", + "28267c5be87923d074b91c0d3839487ce150592177b9df5a287419ad3e3f68e7", + "0000000000000000000000000000000000000000000000000000000000000000", + "2636ebde0cab44c0cc7f8ccb1052aad9a886cb022100073814b937287a5db16b", + "3beb35eaa13eb8eedaa0c7d6e32fcee4b83fe6d72e8e42e0235338a5f2f2e1c8" + ] +} \ No newline at end of file diff --git a/src/contract/dao/proof/witness/vote-input.json b/src/contract/dao/proof/witness/vote-input.json new file mode 100644 index 000000000..d8cdf3521 --- /dev/null +++ b/src/contract/dao/proof/witness/vote-input.json @@ -0,0 +1,79 @@ +{ + "instances": [ + "2f311a62c7555df20370fe7906cc425036c5183f30c1e7b39fa931c3d4a3e840", + "1c4535909c944eaff4bfd822d898d8c7b6750d6354c7f5186eefd78cd721140b", + "191332c4837097af0bee49fd9305e3fd99442854e23b9e38b1734e0f2ababae6", + "13c6557a65378c616548d647187be31a16c1f3d0de937a30a99240cb052361ff", + "2019bc8b928b90ce12a0e5e78dccfb70a497213bd084727f8dbb5f987dec6621", + "326db50c3b324d35e584203552584217ee075a2757d17e91f0ce6abb9a2ee754", + "0dcfeb0e62e0b433999dde4eb0e492abf4559171da541dc81d6021007b1067da" + ], + "witnesses": [ + { + "Base": "3e42c0ef25dff56837afc1eecdf0318c987db190d2ef31fed9345561bc674fd0" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000005f5e100" + }, + { + "Base": "08764b2ed7fd2c2642996de084884819cc23e300213545ec37adc602d00e1418" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "19fed245c68304da0bc6307341a5c7e9cc2457a379fe402f1bb8cf13a82453f2" + }, + { + "Scalar": "09da6f041fae1dbdc657a000e9297a399a5436518affaa3195210c7de604c15c" + }, + { + "Base": "3ebe6dd02ce81ba1ff001f3913799e1b0d8d5bf11a57ea68ac76d15932979ba6" + }, + { + "Uint32": 4 + }, + { + "MerklePath": [ + "0000000000000000000000000000000000000000000000000000000000000002", + "11f4976cde2d797fccb9514e3858c906cbbd9f5e520f003c71c209c80725abd1", + "0f8a9e8458d8a7aee37cad70a0d9292ad85c44f9196aeb1787d732b9b1ce56f8", + "044279ac8f3c57b2aa1638aca9d27eda6a7df26d8174ec50fde5537739fc1121", + "31b4ea3aced9464a3daba756ae9945b86407f3ef514c38f2d4645cb4fefb6a80", + "18abed52ed3002af2798f51bc19bedd2c9fc69003699e845c6f0c0f257413e87", + "02c4ff95a4f8937220846aa30a8abc6fa8a053125ac1c870ade13a952013ab27", + "3b13f3906f701d1f8e4ad7221b0555056830523b11374b5ba6a291f13d56144e", + "1f3707da6df0e41c6f67045d859633ce55851d4b17f4b74e0f8ad193f9e4bbb3", + "0e17bd4c92572b5a39b8bc1c99cbdf79c628ba3fe9279eeb6ad7f0c6e9bdf54e", + "0743b7c639f9a56294bf11831b6a7da417d27c7d6a0dc31ecaf5ebac6825c0a3", + "390dd1d2c5662b30f61c6ca9ca404d1db4495decd6ba0516da2261ae0bb3f93e", + "0b9ed98ef64fa6a78488390038e530982d3670de72c1703be6ab93cb0028ae22", + "1b66b7651dbb92721c035c140d313b05a617c9df9c97b0ed4cc27226d9107118", + "3b4564b91762fb4b354bab9090e3fa6611bec6af2c04c20c8b144f36bead983f", + "0fec4763bc96f603590823c9660544edf425bdb3e0734973f136f90dd1dbf863", + "34dcf5b7ecb1dda089e3cb6d0678e464e5fa8d146835315a886140ac3e168221", + "31d3a638278b57a2923bc1ac63da2789d61aaa069e1fcdf9f3a3181968c09dbd", + "2e8d63c774216c4b093197923c2255d39ce6a93d3386a93b5eb97f3b95ed2cca", + "1a4e1a33a59cc1c3bd78771168f6ab8d24ee714d09e0e1aa459e6fb5964b3555", + "05f71033d378bb729e90f578654694e692acc541cacaffdea045a02a4cb09770", + "012e36772839eb54c3f50a619a59c57acbe5e8223f7a8610d43b81ff21681de8", + "24d86d9aaaad5838a6d179cb5c2a3b8c80fd3849c9fdc4b896497c7f56e87d15", + "0b5d7773fe73ed739820ebe6eafc1859278bf9c49546122cc12061cd51ce1ffe", + "2d0a3ab6ae0a5a33b346835b4e3252b137ff3010fa0c4df7692601122998911f", + "22559754c745c606ec0a54140795eda7bebfbb3c18961393a37df12af515ec5d", + "258a081b5900f6074c3a94da3cc613b61758cc331d94ee75ab3b461dd92aaee8", + "0f06d046da76daf00097e8af438215b183a518a5f423687696f5ce71e3de3fd5", + "2ed66b6b6f8f29b6b3f625e8fe886221ebec30c729e8619a4c91e7ef4c44d215", + "3f25121b0218dc6cf514fdb8e5d9a3b685d60e6b6baa837aea10aaa017a6574c", + "27ba14a06cf07323de77da59259e3523acb269d955be20791a83bd195c91d43f", + "2a4c109fe28f5c71f7bda83f74ec8b684cb90e8462772b224449ee07cd63d087" + ] + }, + { + "Base": "38fafb7f231d5ac08e552cc5e79eacee0bb9acfa43c9ee0c9ef6daaba0c8e4fd" + } + ] +} \ No newline at end of file diff --git a/src/contract/dao/proof/witness/vote-main.json b/src/contract/dao/proof/witness/vote-main.json new file mode 100644 index 000000000..b1c9934d7 --- /dev/null +++ b/src/contract/dao/proof/witness/vote-main.json @@ -0,0 +1,79 @@ +{ + "instances": [ + "13c6557a65378c616548d647187be31a16c1f3d0de937a30a99240cb052361ff", + "28267c5be87923d074b91c0d3839487ce150592177b9df5a287419ad3e3f68e7", + "2d171093ffb0f7c87bbf6541853b9f501a48688bf5e9c566f3db1d0b95c730d6", + "2c0795d084ba08728f77c89b571a87f978a80af4f105b181cd2ddbb1caaaf039", + "1c4535909c944eaff4bfd822d898d8c7b6750d6354c7f5186eefd78cd721140b", + "191332c4837097af0bee49fd9305e3fd99442854e23b9e38b1734e0f2ababae6", + "0000000000000000000000000000000000000000000000000000000000000000", + "2d7aafa4b9a0f59473765622c2a539407f8ac2e596d33d1f2bc984a02a6f7924", + "0be64bf363b4ea270358c7b05711d702f97687da16f73d928e81c95e40cf71a9", + "2b93666ce169fcd689aa5c78824bfed1a28f790c0ce0d25369618a1c08eb6d01", + "11a43eee505f9c1f35314781a5f93de2fa56f996bf34178d2b8a78908cd381dd", + "1292f0c7a2de47591128332b50a00c44975fcba70b6dbec1e5e619f29745e00f", + "375393d585c4542afe3afeb89ed4cf42aff9a7f10d2628deb170f8ac4a40d0a3" + ], + "witnesses": [ + { + "Base": "02819e494477be102986adf568bad3e99d90ea6e6b476bab0614fed8aea14f7e" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "000000000000000000000000000000000000000000000000000000000000001e" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "21bf80cc480ef3b8664ebe2715c5e3e8195556af191276a6fc2fbb11ec3e34bc" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000005f5e100" + }, + { + "Base": "000000000000000000000000000000000000000000000000000000000bebc1ff" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000002" + }, + { + "Base": "08764b2ed7fd2c2642996de084884819cc23e300213545ec37adc602d00e1418" + }, + { + "EcNiPoint": [ + "0c294d0f0badedce92b1ab0905956e31c0d8dd8b2ab7a2960ede3927da7e0395", + "2a4bc8dc35415faf75c6761185f47abafffae1878dbee43e2aaf662adee82a8f" + ] + }, + { + "Base": "2a83ca13422458cd0db77cf513727481472bf8c6bac3e878bfe0025c48a1219a" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "Base": "113cf2889acb0c5a3d160280c30859e03f338ce8fc890552753543e6308da4e4" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000005f5e100" + }, + { + "Base": "09da6f041fae1dbdc657a000e9297a399a5436518affaa3195210c7de604c15c" + }, + { + "Base": "3ebe6dd02ce81ba1ff001f3913799e1b0d8d5bf11a57ea68ac76d15932979ba6" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "1039322af82a15d411ec32fe5358dc267b23f53cc767004f48beb026c3840f25" + } + ] +} \ No newline at end of file diff --git a/src/contract/dao/src/client/auth_xfer.rs b/src/contract/dao/src/client/auth_xfer.rs index fde39f3f4..f744ed703 100644 --- a/src/contract/dao/src/client/auth_xfer.rs +++ b/src/contract/dao/src/client/auth_xfer.rs @@ -95,6 +95,7 @@ impl DaoAuthMoneyTransferCall { enc_note.encrypted_values[4], ]; + //darkfi::zk::export_witness_json("proof/witness/auth-money-transfer-enc-coin.json", &prover_witnesses, &public_inputs); let circuit = ZkCircuit::new(prover_witnesses, auth_xfer_enc_coin_zkbin); let proof = Proof::create(auth_xfer_enc_coin_pk, &[circuit], &public_inputs, &mut OsRng)?; @@ -171,6 +172,7 @@ impl DaoAuthMoneyTransferCall { dao_change_attrs.encrypted_values[2], ]; + //darkfi::zk::export_witness_json("proof/witness/auth-money-transfer.json", &prover_witnesses, &public_inputs); let circuit = ZkCircuit::new(prover_witnesses, auth_xfer_zkbin); let proof = Proof::create(auth_xfer_pk, &[circuit], &public_inputs, &mut OsRng)?; proofs.push(proof); diff --git a/src/contract/dao/src/client/exec.rs b/src/contract/dao/src/client/exec.rs index 8fda3249d..c268e782d 100644 --- a/src/contract/dao/src/client/exec.rs +++ b/src/contract/dao/src/client/exec.rs @@ -114,7 +114,7 @@ impl DaoExecCall { signature_public.x(), signature_public.y(), ]; - //export_witness_json("witness.json", &prover_witnesses, &public_inputs); + //darkfi::zk::export_witness_json("proof/witness/exec.json", &prover_witnesses, &public_inputs); let circuit = ZkCircuit::new(prover_witnesses, exec_zkbin); let input_proof = Proof::create(exec_pk, &[circuit], &public_inputs, &mut OsRng)?; diff --git a/src/contract/dao/src/client/mint.rs b/src/contract/dao/src/client/mint.rs index 9a575c1e2..95db1c566 100644 --- a/src/contract/dao/src/client/mint.rs +++ b/src/contract/dao/src/client/mint.rs @@ -71,6 +71,7 @@ pub fn make_mint_call( let dao_bulla = dao.to_bulla(); let public = vec![pub_x, pub_y, dao_bulla.inner()]; + //darkfi::zk::export_witness_json("proof/witness/mint.json", &prover_witnesses, &public); let circuit = ZkCircuit::new(prover_witnesses, dao_mint_zkbin); let proof = Proof::create(dao_mint_pk, &[circuit], &public, &mut OsRng)?; diff --git a/src/contract/dao/src/client/propose.rs b/src/contract/dao/src/client/propose.rs index 09ce1b225..1845f88ba 100644 --- a/src/contract/dao/src/client/propose.rs +++ b/src/contract/dao/src/client/propose.rs @@ -140,6 +140,7 @@ impl DaoProposeCall { sig_x, sig_y, ]; + //darkfi::zk::export_witness_json("proof/witness/propose-input.json", &prover_witnesses, &public_inputs); let circuit = ZkCircuit::new(prover_witnesses, burn_zkbin); let proving_key = &burn_pk; @@ -200,6 +201,7 @@ impl DaoProposeCall { *total_funds_coords.x(), *total_funds_coords.y(), ]; + //darkfi::zk::export_witness_json("proof/witness/propose-main.json", &prover_witnesses, &public_inputs); let circuit = ZkCircuit::new(prover_witnesses, main_zkbin); let main_proof = Proof::create(main_pk, &[circuit], &public_inputs, &mut OsRng)?; diff --git a/src/contract/dao/src/client/vote.rs b/src/contract/dao/src/client/vote.rs index 68a11b0ed..c28e09deb 100644 --- a/src/contract/dao/src/client/vote.rs +++ b/src/contract/dao/src/client/vote.rs @@ -164,6 +164,7 @@ impl DaoVoteCall { sig_y, ]; + //darkfi::zk::export_witness_json("proof/witness/vote-input.json", &prover_witnesses, &public_inputs); let circuit = ZkCircuit::new(prover_witnesses, burn_zkbin); debug!(target: "dao", "input_proof Proof::create()"); let input_proof = Proof::create(burn_pk, &[circuit], &public_inputs, &mut OsRng)?; @@ -268,6 +269,7 @@ impl DaoVoteCall { enc_note.encrypted_values[3], ]; + //darkfi::zk::export_witness_json("proof/witness/vote-main.json", &prover_witnesses, &public_inputs); let circuit = ZkCircuit::new(prover_witnesses, main_zkbin); debug!(target: "dao", "main_proof = Proof::create()"); diff --git a/src/contract/money/proof/witness/auth_token_mint_v1.json b/src/contract/money/proof/witness/auth_token_mint_v1.json new file mode 100644 index 000000000..c01855224 --- /dev/null +++ b/src/contract/money/proof/witness/auth_token_mint_v1.json @@ -0,0 +1,42 @@ +{ + "instances": [ + "3aa3904484b7b8ab6da61d8ae91dd71a55be07168a37e310ac6a8c6c2568fcdc", + "0ce67a960b8d0092c1c49da2d8b476e7dd7bd3e18c4040749eba7fdd49c7b5fe", + "26f88d121d162b738b52ee7c0ef14db85c1fe1007ea2d4c0f9a76f95602d111e", + "05a2b4135d5718d13717817a7b9c5d5ed8aab4f26ab9b6af4f48747e0ae9b1e1", + "0ea6c8aa117870c6685484f84c6ea09c3af0f231a439e7a53fb996b8a9710d7a", + "0bfb1666b5b1ad10fadaec121117f78fa7f88de1b25aa1c77f1d0ec27fef2384" + ], + "witnesses": [ + { + "Base": "306807096d8cc3dd062d7494dc3e0b3f0b94bbc8672a7022576e60c14413426c" + }, + { + "Base": "3e0e3cada4907c709b6505dda1ea8caf871cfce5c5f1461e2f7a1809fff36bcb" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000077359400" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "14a91fd2fdf3838405566cef6b5dc6ef4fc6f60910c678af70819da0b02ec243" + }, + { + "Base": "2edd443860b042d6eadf74f6787bc99befe5a5c5f1b23c3cc8fbfa9f7f063a3e" + }, + { + "Base": "3429f5c18f5248ceb80683e82775b8c12735f39b4ccb89537c5339d916fef0fb" + }, + { + "Base": "36e43135c0f58c3bf4201f9829f71f93d9727ecd5c804f184987cd71de7190ab" + }, + { + "Scalar": "0234d76ca2d16a76da03e5db63a4d55ae99199532a49b21de9c51c8d34ee1681" + } + ] +} \ No newline at end of file diff --git a/src/contract/money/proof/witness/burn_v1.json b/src/contract/money/proof/witness/burn_v1.json new file mode 100644 index 000000000..742d5708a --- /dev/null +++ b/src/contract/money/proof/witness/burn_v1.json @@ -0,0 +1,84 @@ +{ + "instances": [ + "37fec00cd15c0b64be1ab185a823776572ebaacebd3de1249b15fb6d2c89e973", + "03bea0f7314b8c381ee0723f4a8097616bced0ea632406f0e9c25c2c2ae98dfd", + "06189be06bc072080cdc53801474f407218fa052b105d346225fc207c6026fdd", + "281325f279b7dda4a24ef1c527d9b635a40f8a5d22e1f672593031b1b8478f43", + "1b9c62dd62087706621812b7fe319a445ac41f9527f0023c475f057fc0fd3bae", + "0b9383713fcac63bcc0446fd6c182ea1ea018a12d04668ee270a6e36fc193700", + "0000000000000000000000000000000000000000000000000000000000000000", + "1b176f41a3b924a8039c72052a30232c4045e87406e14916bb5491ee7c8541b0", + "0d543ab8d47d0b2f0e494ec369cddb59d5cc31af89b4fd2c1d5a5ff2ed6aa61f" + ], + "witnesses": [ + { + "Base": "035516ded1b00e3ccc85c5cb797113c28071898fc9d8424446840e663addd6e2" + }, + { + "Base": "00000000000000000000000000000000000000000000000000000000000000c8" + }, + { + "Base": "2ca02b2481caa70f94f5ac746864da178fb7eb4403a770fe20d01a38fbdbf3bf" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "06c7b1c0bb0e91af27b0bdd29f0a0821cf4e676661219c22bd0ba730bbb2e3e0" + }, + { + "Scalar": "2d48438fc69f5dde208fdb63a5fbb5442f9150ce707476f8db79ea303f72122d" + }, + { + "Base": "2eed3ae0feaa1e4eeeb29f42e020e54e5cb93140d1460379e6b97579a9c335d7" + }, + { + "Base": "3d9032e3c7defdda440fd8163fea9d5495f071b0dc3b5219aa1f86323e4599f9" + }, + { + "Uint32": 10 + }, + { + "MerklePath": [ + "0000000000000000000000000000000000000000000000000000000000000002", + "328563d44473a36c5eeb351c0ebfc9254a491541f33a4c0ba3817e6b1a17e764", + "30d056957683dfe0c3e289ea1c2304b19b5c09c17cabbb3a0464cd14463f41c7", + "2a699f88eaab5799805cba06323696ea3dea875f94a8c2c389f5c22172d76ff5", + "31b4ea3aced9464a3daba756ae9945b86407f3ef514c38f2d4645cb4fefb6a80", + "18abed52ed3002af2798f51bc19bedd2c9fc69003699e845c6f0c0f257413e87", + "02c4ff95a4f8937220846aa30a8abc6fa8a053125ac1c870ade13a952013ab27", + "3b13f3906f701d1f8e4ad7221b0555056830523b11374b5ba6a291f13d56144e", + "1f3707da6df0e41c6f67045d859633ce55851d4b17f4b74e0f8ad193f9e4bbb3", + "0e17bd4c92572b5a39b8bc1c99cbdf79c628ba3fe9279eeb6ad7f0c6e9bdf54e", + "0743b7c639f9a56294bf11831b6a7da417d27c7d6a0dc31ecaf5ebac6825c0a3", + "390dd1d2c5662b30f61c6ca9ca404d1db4495decd6ba0516da2261ae0bb3f93e", + "0b9ed98ef64fa6a78488390038e530982d3670de72c1703be6ab93cb0028ae22", + "1b66b7651dbb92721c035c140d313b05a617c9df9c97b0ed4cc27226d9107118", + "3b4564b91762fb4b354bab9090e3fa6611bec6af2c04c20c8b144f36bead983f", + "0fec4763bc96f603590823c9660544edf425bdb3e0734973f136f90dd1dbf863", + "34dcf5b7ecb1dda089e3cb6d0678e464e5fa8d146835315a886140ac3e168221", + "31d3a638278b57a2923bc1ac63da2789d61aaa069e1fcdf9f3a3181968c09dbd", + "2e8d63c774216c4b093197923c2255d39ce6a93d3386a93b5eb97f3b95ed2cca", + "1a4e1a33a59cc1c3bd78771168f6ab8d24ee714d09e0e1aa459e6fb5964b3555", + "05f71033d378bb729e90f578654694e692acc541cacaffdea045a02a4cb09770", + "012e36772839eb54c3f50a619a59c57acbe5e8223f7a8610d43b81ff21681de8", + "24d86d9aaaad5838a6d179cb5c2a3b8c80fd3849c9fdc4b896497c7f56e87d15", + "0b5d7773fe73ed739820ebe6eafc1859278bf9c49546122cc12061cd51ce1ffe", + "2d0a3ab6ae0a5a33b346835b4e3252b137ff3010fa0c4df7692601122998911f", + "22559754c745c606ec0a54140795eda7bebfbb3c18961393a37df12af515ec5d", + "258a081b5900f6074c3a94da3cc613b61758cc331d94ee75ab3b461dd92aaee8", + "0f06d046da76daf00097e8af438215b183a518a5f423687696f5ce71e3de3fd5", + "2ed66b6b6f8f29b6b3f625e8fe886221ebec30c729e8619a4c91e7ef4c44d215", + "3f25121b0218dc6cf514fdb8e5d9a3b685d60e6b6baa837aea10aaa017a6574c", + "27ba14a06cf07323de77da59259e3523acb269d955be20791a83bd195c91d43f", + "2a4c109fe28f5c71f7bda83f74ec8b684cb90e8462772b224449ee07cd63d087" + ] + }, + { + "Base": "3ed8a069cc001e668f693d20be8167ee684361dc5b79d8a0a79c2845f900a4aa" + } + ] +} \ No newline at end of file diff --git a/src/contract/money/proof/witness/fee_v1.json b/src/contract/money/proof/witness/fee_v1.json new file mode 100644 index 000000000..94ee54836 --- /dev/null +++ b/src/contract/money/proof/witness/fee_v1.json @@ -0,0 +1,101 @@ +{ + "instances": [ + "082a7519ddf5f11d1954e7e5cf0f45cbd29dbd808828836a9af4a106edf85b2e", + "07a4a134b70d786e33639cd22d331d53b89af69cf0c9ab680403e159c7693be9", + "1f789f5e60f30490ac67771aa238e3a935b99307c2f08b01fc2d94c9f2f92a63", + "2d4e72452bd39885337a18ca2b0e1bc3899bfd76723abc06866b22059e520925", + "3e96ec844245b62e9429a18cc54457456ef3afb9bb4e887d475751a8eceb0fe1", + "17d6305ee26bf44c36568c3c74650eb7124a98661dd227f7ce18d0c34f1af660", + "18455f3aa57a08ae7faddf39e936734017404dc18b6474ea3c927f9f4446f1b3", + "146ac0c444cacbf7ced3b0522ebec3faa67242c8b4c3507f4ca25d70528ef90c", + "15d62a0b45b8b29579c7f440bcd0b93f8f9f3ee1ca4c84f424e1b438e2b3eb81", + "11f66fd50c683966d21555e6df359bd71c9004acbeabfb4ea5a2c735089a1e72", + "0ac574a1bdbcdeb1037ba7ed84004077e750b00af8dbab1632772bc8586d676f" + ], + "witnesses": [ + { + "Base": "1d37a772222b959eced20cd1ca70de81aadc594cc27159a8b7a21abb138f1edf" + }, + { + "Uint32": 2 + }, + { + "MerklePath": [ + "1bdc68910426c2c03281bda3971d2e705b25cc24b850e156630a88ce58f17e8f", + "065e4460c57031a702bbc44f0335e040803ac3bf224687a75b73ff85b8109f87", + "15d6935e2baddcd6dea6fd1894a2ebd5dbfae4d695607edfa382e8d0775c3135", + "044279ac8f3c57b2aa1638aca9d27eda6a7df26d8174ec50fde5537739fc1121", + "31b4ea3aced9464a3daba756ae9945b86407f3ef514c38f2d4645cb4fefb6a80", + "18abed52ed3002af2798f51bc19bedd2c9fc69003699e845c6f0c0f257413e87", + "02c4ff95a4f8937220846aa30a8abc6fa8a053125ac1c870ade13a952013ab27", + "3b13f3906f701d1f8e4ad7221b0555056830523b11374b5ba6a291f13d56144e", + "1f3707da6df0e41c6f67045d859633ce55851d4b17f4b74e0f8ad193f9e4bbb3", + "0e17bd4c92572b5a39b8bc1c99cbdf79c628ba3fe9279eeb6ad7f0c6e9bdf54e", + "0743b7c639f9a56294bf11831b6a7da417d27c7d6a0dc31ecaf5ebac6825c0a3", + "390dd1d2c5662b30f61c6ca9ca404d1db4495decd6ba0516da2261ae0bb3f93e", + "0b9ed98ef64fa6a78488390038e530982d3670de72c1703be6ab93cb0028ae22", + "1b66b7651dbb92721c035c140d313b05a617c9df9c97b0ed4cc27226d9107118", + "3b4564b91762fb4b354bab9090e3fa6611bec6af2c04c20c8b144f36bead983f", + "0fec4763bc96f603590823c9660544edf425bdb3e0734973f136f90dd1dbf863", + "34dcf5b7ecb1dda089e3cb6d0678e464e5fa8d146835315a886140ac3e168221", + "31d3a638278b57a2923bc1ac63da2789d61aaa069e1fcdf9f3a3181968c09dbd", + "2e8d63c774216c4b093197923c2255d39ce6a93d3386a93b5eb97f3b95ed2cca", + "1a4e1a33a59cc1c3bd78771168f6ab8d24ee714d09e0e1aa459e6fb5964b3555", + "05f71033d378bb729e90f578654694e692acc541cacaffdea045a02a4cb09770", + "012e36772839eb54c3f50a619a59c57acbe5e8223f7a8610d43b81ff21681de8", + "24d86d9aaaad5838a6d179cb5c2a3b8c80fd3849c9fdc4b896497c7f56e87d15", + "0b5d7773fe73ed739820ebe6eafc1859278bf9c49546122cc12061cd51ce1ffe", + "2d0a3ab6ae0a5a33b346835b4e3252b137ff3010fa0c4df7692601122998911f", + "22559754c745c606ec0a54140795eda7bebfbb3c18961393a37df12af515ec5d", + "258a081b5900f6074c3a94da3cc613b61758cc331d94ee75ab3b461dd92aaee8", + "0f06d046da76daf00097e8af438215b183a518a5f423687696f5ce71e3de3fd5", + "2ed66b6b6f8f29b6b3f625e8fe886221ebec30c729e8619a4c91e7ef4c44d215", + "3f25121b0218dc6cf514fdb8e5d9a3b685d60e6b6baa837aea10aaa017a6574c", + "27ba14a06cf07323de77da59259e3523acb269d955be20791a83bd195c91d43f", + "2a4c109fe28f5c71f7bda83f74ec8b684cb90e8462772b224449ee07cd63d087" + ] + }, + { + "Base": "0119e7995ed672d33ed581034501193aff3158f730df70d483ac6678e05eaffe" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000077359400" + }, + { + "Scalar": "2831428be203c677d29070b2dff19ede1eaeeaf8b54859b464433bd0ec63233e" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "32e6630c074ff37ae27554dd1c795a89685bb3931ab1251466b4ed68a661be55" + }, + { + "Base": "2ef950014c487371edb1f9a7b20a97d9da22b75e06ce0f2271695ae0b5234236" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000074235faa" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Scalar": "0479e6742539c97fa8c9f074a28959c4e5baab624a67a13945d4bff10101258c" + }, + { + "Base": "0251a5db10e5dec4a5eb5ee3dd3aca38a9ae3777f16fb816b63a92e404dbc18f" + }, + { + "Base": "267f9b7c64549bf080307d045bd0bd7ae4389093f6b2896114ec4e523a77a10f" + }, + { + "Base": "333c9977dff157fb2e4aef45a18266ed4ec5ac5807a12a528c2aa96b1e0aab7e" + } + ] +} \ No newline at end of file diff --git a/src/contract/money/proof/witness/mint_v1.json b/src/contract/money/proof/witness/mint_v1.json new file mode 100644 index 000000000..016addb87 --- /dev/null +++ b/src/contract/money/proof/witness/mint_v1.json @@ -0,0 +1,37 @@ +{ + "instances": [ + "39228e21fa016f2e1a53205a400188c7560bb144bc175dab1ad8955dcc46deee", + "30978d2ead0f65911e1c48bed3a31100731038391c543b5b4c4ed8adaa73923f", + "286da99547c00671fafc2842265495570aa0ea0c0a59c0e1c2480fc72eb3ab19", + "2d5edb3f4e730a7ec9ca81a840385b6e3cdb7492cbc67278c99be8f826c6948b" + ], + "witnesses": [ + { + "Base": "306807096d8cc3dd062d7494dc3e0b3f0b94bbc8672a7022576e60c14413426c" + }, + { + "Base": "3e0e3cada4907c709b6505dda1ea8caf871cfce5c5f1461e2f7a1809fff36bcb" + }, + { + "Base": "00000000000000000000000000000000000000000000000000000000000000c8" + }, + { + "Base": "267f9b7c64549bf080307d045bd0bd7ae4389093f6b2896114ec4e523a77a10f" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "3b7eb6d0996c09c0de7bd613195060aeb9bda999756e88833dfa9279c91750da" + }, + { + "Scalar": "2952a2db3a29e5dbda1155af9b7916b28cc612e5b4e969bad3fa80ef5c4d5171" + }, + { + "Base": "310960b909384514d02f68c64e3d5ccbc7bb00b0d561ad7d2e418d8328fd92b9" + } + ] +} \ No newline at end of file diff --git a/src/contract/money/proof/witness/token_freeze_v1.json b/src/contract/money/proof/witness/token_freeze_v1.json new file mode 100644 index 000000000..2297b8bd7 --- /dev/null +++ b/src/contract/money/proof/witness/token_freeze_v1.json @@ -0,0 +1,18 @@ +{ + "instances": [ + "3aa3904484b7b8ab6da61d8ae91dd71a55be07168a37e310ac6a8c6c2568fcdc", + "0ce67a960b8d0092c1c49da2d8b476e7dd7bd3e18c4040749eba7fdd49c7b5fe", + "22e9f1c2a04377abb08563ae8f4fdde5b8ec854c6744002e216980fc3120cb11" + ], + "witnesses": [ + { + "Base": "2edd443860b042d6eadf74f6787bc99befe5a5c5f1b23c3cc8fbfa9f7f063a3e" + }, + { + "Base": "3a0599eaa80debc262f335f78732d3842b3a707f75723228839c56676d49a507" + }, + { + "Base": "36e43135c0f58c3bf4201f9829f71f93d9727ecd5c804f184987cd71de7190ab" + } + ] +} \ No newline at end of file diff --git a/src/contract/money/proof/witness/token_mint_v1.json b/src/contract/money/proof/witness/token_mint_v1.json new file mode 100644 index 000000000..0cbdc9581 --- /dev/null +++ b/src/contract/money/proof/witness/token_mint_v1.json @@ -0,0 +1,35 @@ +{ + "witnesses": [ + { + "Base": "306807096d8cc3dd062d7494dc3e0b3f0b94bbc8672a7022576e60c14413426c" + }, + { + "Base": "3e0e3cada4907c709b6505dda1ea8caf871cfce5c5f1461e2f7a1809fff36bcb" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000077359400" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "Base": "14a91fd2fdf3838405566cef6b5dc6ef4fc6f60910c678af70819da0b02ec243" + }, + { + "Base": "2edd443860b042d6eadf74f6787bc99befe5a5c5f1b23c3cc8fbfa9f7f063a3e" + }, + { + "Base": "315097d8fc307276530e462f2edd07543ca24ceb621fd85219fdb08e524db963" + }, + { + "Base": "3429f5c18f5248ceb80683e82775b8c12735f39b4ccb89537c5339d916fef0fb" + } + ], + "instances": [ + "2edd443860b042d6eadf74f6787bc99befe5a5c5f1b23c3cc8fbfa9f7f063a3e", + "05a2b4135d5718d13717817a7b9c5d5ed8aab4f26ab9b6af4f48747e0ae9b1e1" + ] +} \ No newline at end of file diff --git a/src/contract/money/src/client/auth_token_mint_v1.rs b/src/contract/money/src/client/auth_token_mint_v1.rs index 248a5295c..4c21d14e3 100644 --- a/src/contract/money/src/client/auth_token_mint_v1.rs +++ b/src/contract/money/src/client/auth_token_mint_v1.rs @@ -92,6 +92,11 @@ impl AuthTokenMintCallBuilder { *value_coords.y(), ]; + darkfi::zk::export_witness_json( + "proof/witness/auth_token_mint_v1.json", + &prover_witnesses, + &public_inputs, + ); let circuit = ZkCircuit::new(prover_witnesses, &self.auth_mint_zkbin); let proof = Proof::create(&self.auth_mint_pk, &[circuit], &public_inputs, &mut OsRng)?; diff --git a/src/contract/money/src/client/fee_v1.rs b/src/contract/money/src/client/fee_v1.rs index ec0e302b6..5c41e69bd 100644 --- a/src/contract/money/src/client/fee_v1.rs +++ b/src/contract/money/src/client/fee_v1.rs @@ -203,8 +203,11 @@ pub fn create_fee_proof( Witness::Base(Value::known(token_blind.inner())), ]; - //darkfi::zk::export_witness_json("witness.json", &prover_witnesses, &public_inputs.to_vec()); - + darkfi::zk::export_witness_json( + "proof/witness/fee_v1.json", + &prover_witnesses, + &public_inputs.to_vec(), + ); let circuit = ZkCircuit::new(prover_witnesses, zkbin); let proof = Proof::create(pk, &[circuit], &public_inputs.to_vec(), &mut OsRng)?; diff --git a/src/contract/money/src/client/token_freeze_v1.rs b/src/contract/money/src/client/token_freeze_v1.rs index 9d3014a1e..c5568282c 100644 --- a/src/contract/money/src/client/token_freeze_v1.rs +++ b/src/contract/money/src/client/token_freeze_v1.rs @@ -61,8 +61,11 @@ impl TokenFreezeCallBuilder { let token_id = self.token_attrs.to_token_id(); let public_inputs = vec![mint_pubkey.x(), mint_pubkey.y(), token_id.inner()]; - //darkfi::zk::export_witness_json("witness.json", &prover_witnesses, &public_inputs); - + darkfi::zk::export_witness_json( + "proof/witness/token_freeze_v1.json", + &prover_witnesses, + &public_inputs, + ); let circuit = ZkCircuit::new(prover_witnesses, &self.freeze_zkbin); let proof = Proof::create(&self.freeze_pk, &[circuit], &public_inputs, &mut OsRng)?; diff --git a/src/contract/money/src/client/token_mint_v1.rs b/src/contract/money/src/client/token_mint_v1.rs index dbf9080f3..d6e136aa2 100644 --- a/src/contract/money/src/client/token_mint_v1.rs +++ b/src/contract/money/src/client/token_mint_v1.rs @@ -66,6 +66,11 @@ impl TokenMintCallBuilder { let public_inputs = vec![self.token_attrs.auth_parent.inner(), coin.inner()]; + darkfi::zk::export_witness_json( + "proof/witness/token_mint_v1.json", + &prover_witnesses, + &public_inputs, + ); let circuit = ZkCircuit::new(prover_witnesses, &self.mint_zkbin); let proof = Proof::create(&self.mint_pk, &[circuit], &public_inputs, &mut OsRng)?; diff --git a/src/contract/money/src/client/transfer_v1/proof.rs b/src/contract/money/src/client/transfer_v1/proof.rs index 503b5d0ba..75ab713e5 100644 --- a/src/contract/money/src/client/transfer_v1/proof.rs +++ b/src/contract/money/src/client/transfer_v1/proof.rs @@ -145,6 +145,11 @@ pub fn create_transfer_burn_proof( Witness::Base(Value::known(signature_secret.inner())), ]; + darkfi::zk::export_witness_json( + "proof/witness/burn_v1.json", + &prover_witnesses, + &public_inputs.to_vec(), + ); let circuit = ZkCircuit::new(prover_witnesses, zkbin); let proof = Proof::create(pk, &[circuit], &public_inputs.to_vec(), &mut OsRng)?; @@ -191,6 +196,11 @@ pub fn create_transfer_mint_proof( Witness::Base(Value::known(token_blind.inner())), ]; + darkfi::zk::export_witness_json( + "proof/witness/mint_v1.json", + &prover_witnesses, + &public_inputs.to_vec(), + ); let circuit = ZkCircuit::new(prover_witnesses, zkbin); let proof = Proof::create(pk, &[circuit], &public_inputs.to_vec(), &mut OsRng)?; diff --git a/tests/smt.rs b/tests/smt.rs index 3c4c83240..335ef9fe4 100644 --- a/tests/smt.rs +++ b/tests/smt.rs @@ -63,6 +63,8 @@ fn zkvm_smt() -> Result<()> { let public_inputs = vec![root]; + //darkfi::zk::export_witness_json("proof/witness/smt.json", &prover_witnesses, &public_inputs); + //let (prover_witnesses, public_inputs) = darkfi::zk::import_witness_json("witness.json"); let circuit = ZkCircuit::new(prover_witnesses, &zkbin); let mockprover = MockProver::run(zkbin.k, &circuit, vec![public_inputs.clone()])?; diff --git a/tests/zkvm_opcodes.rs b/tests/zkvm_opcodes.rs index b78d599b8..a54388897 100644 --- a/tests/zkvm_opcodes.rs +++ b/tests/zkvm_opcodes.rs @@ -119,6 +119,7 @@ fn zkvm_opcodes() -> Result<()> { pallas::Base::ZERO, ]; + //darkfi::zk::export_witness_json("proof/witness/opcodes.json", &prover_witnesses, &public_inputs); let circuit = ZkCircuit::new(prover_witnesses, &zkbin); let mockprover = MockProver::run(zkbin.k, &circuit, vec![public_inputs.clone()])?;