Procházet zdrojové kódy

for most .zk proofs, provide a corresponding witness.json file which is usable with zkrunner, benchmarks and other utils (using import_witness_json()).

zero před 2 roky
rodič
revize
4532b8d229
31 změnil soubory, kde provedl 1278 přidání a 6 odebrání
  1. 1 0
      example/zk.rs
  2. 1 1
      proof/arithmetic.zk
  3. 15 0
      proof/witness/arithmetic.json
  4. 86 0
      proof/witness/opcodes.json
  5. 272 0
      proof/witness/smt.json
  6. 38 0
      src/contract/dao/proof/witness/auth-money-transfer-enc-coin.json
  7. 73 0
      src/contract/dao/proof/witness/auth-money-transfer.json
  8. 68 0
      src/contract/dao/proof/witness/exec.json
  9. 30 0
      src/contract/dao/proof/witness/mint.json
  10. 79 0
      src/contract/dao/proof/witness/propose-input.json
  11. 99 0
      src/contract/dao/proof/witness/propose-main.json
  12. 79 0
      src/contract/dao/proof/witness/vote-input.json
  13. 79 0
      src/contract/dao/proof/witness/vote-main.json
  14. 2 0
      src/contract/dao/src/client/auth_xfer.rs
  15. 1 1
      src/contract/dao/src/client/exec.rs
  16. 1 0
      src/contract/dao/src/client/mint.rs
  17. 2 0
      src/contract/dao/src/client/propose.rs
  18. 2 0
      src/contract/dao/src/client/vote.rs
  19. 42 0
      src/contract/money/proof/witness/auth_token_mint_v1.json
  20. 84 0
      src/contract/money/proof/witness/burn_v1.json
  21. 101 0
      src/contract/money/proof/witness/fee_v1.json
  22. 37 0
      src/contract/money/proof/witness/mint_v1.json
  23. 18 0
      src/contract/money/proof/witness/token_freeze_v1.json
  24. 35 0
      src/contract/money/proof/witness/token_mint_v1.json
  25. 5 0
      src/contract/money/src/client/auth_token_mint_v1.rs
  26. 5 2
      src/contract/money/src/client/fee_v1.rs
  27. 5 2
      src/contract/money/src/client/token_freeze_v1.rs
  28. 5 0
      src/contract/money/src/client/token_mint_v1.rs
  29. 10 0
      src/contract/money/src/client/transfer_v1/proof.rs
  30. 2 0
      tests/smt.rs
  31. 1 0
      tests/zkvm_opcodes.rs

+ 1 - 0
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();
 

+ 1 - 1
proof/arithmetic.zk

@@ -1,4 +1,4 @@
-k = 13;
+k = 11;
 field = "pallas";
 
 constant "Arith" {}

+ 15 - 0
proof/witness/arithmetic.json

@@ -0,0 +1,15 @@
+{
+  "instances": [
+    "0000000000000000000000000000000000000000000000000000000000000072",
+    "00000000000000000000000000000000000000000000000000000000000001b8",
+    "40000000000000000000000000000000224698fc094cf91b992d30ecffffff97"
+  ],
+  "witnesses": [
+    {
+      "Base": "0000000000000000000000000000000000000000000000000000000000000004"
+    },
+    {
+      "Base": "000000000000000000000000000000000000000000000000000000000000006e"
+    }
+  ]
+}

+ 86 - 0
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"
+  ]
+}

+ 272 - 0
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"
+  ]
+}

+ 38 - 0
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"
+  ]
+}

+ 73 - 0
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"
+  ]
+}

+ 68 - 0
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"
+    }
+  ]
+}

+ 30 - 0
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"
+  ]
+}

+ 79 - 0
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"
+  ]
+}

+ 99 - 0
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"
+  ]
+}

+ 79 - 0
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"
+    }
+  ]
+}

+ 79 - 0
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"
+    }
+  ]
+}

+ 2 - 0
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);

+ 1 - 1
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)?;

+ 1 - 0
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)?;
 

+ 2 - 0
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)?;

+ 2 - 0
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()");

+ 42 - 0
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"
+    }
+  ]
+}

+ 84 - 0
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"
+    }
+  ]
+}

+ 101 - 0
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"
+    }
+  ]
+}

+ 37 - 0
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"
+    }
+  ]
+}

+ 18 - 0
src/contract/money/proof/witness/token_freeze_v1.json

@@ -0,0 +1,18 @@
+{
+  "instances": [
+    "3aa3904484b7b8ab6da61d8ae91dd71a55be07168a37e310ac6a8c6c2568fcdc",
+    "0ce67a960b8d0092c1c49da2d8b476e7dd7bd3e18c4040749eba7fdd49c7b5fe",
+    "22e9f1c2a04377abb08563ae8f4fdde5b8ec854c6744002e216980fc3120cb11"
+  ],
+  "witnesses": [
+    {
+      "Base": "2edd443860b042d6eadf74f6787bc99befe5a5c5f1b23c3cc8fbfa9f7f063a3e"
+    },
+    {
+      "Base": "3a0599eaa80debc262f335f78732d3842b3a707f75723228839c56676d49a507"
+    },
+    {
+      "Base": "36e43135c0f58c3bf4201f9829f71f93d9727ecd5c804f184987cd71de7190ab"
+    }
+  ]
+}

+ 35 - 0
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"
+  ]
+}

+ 5 - 0
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)?;
 

+ 5 - 2
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)?;
 

+ 5 - 2
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)?;
 

+ 5 - 0
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)?;
 

+ 10 - 0
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)?;
 

+ 2 - 0
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()])?;

+ 1 - 0
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()])?;