diff --git a/Cargo.lock b/Cargo.lock index 82d6041..3beee6d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -321,14 +321,15 @@ dependencies = [ [[package]] name = "bls12_381" version = "0.8.0" -source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a96eccde19bf861b0d1707b61b2ab15e294b154" +source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a1c7d1b4827a4d42eb4a68f8cb78c2da10f4787" dependencies = [ "cfg-if", "ff 0.13.0", "group 0.13.0", "pairing 0.23.0", "rand_core", - "sphinx-precompiles", + "sphinx-lib", + "sphinx-zkvm", "subtle", ] @@ -630,7 +631,6 @@ dependencies = [ "rand_core", "sec1", "subtle", - "tap", "zeroize", ] @@ -1091,6 +1091,12 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "libm" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + [[package]] name = "linux-raw-sys" version = "0.4.14" @@ -2216,7 +2222,7 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "sphinx-core" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#f51436fe14e6d029313546e8284cf6762f81f776" +source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "arrayref", @@ -2278,7 +2284,7 @@ dependencies = [ [[package]] name = "sphinx-derive" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#f51436fe14e6d029313546e8284cf6762f81f776" +source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "proc-macro2", "quote", @@ -2286,23 +2292,22 @@ dependencies = [ ] [[package]] -name = "sphinx-precompiles" +name = "sphinx-lib" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#f51436fe14e6d029313546e8284cf6762f81f776" +source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", "cfg-if", "getrandom", "hybrid-array", - "k256", "serde", ] [[package]] name = "sphinx-primitives" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#f51436fe14e6d029313546e8284cf6762f81f776" +source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "itertools 0.12.1", "lazy_static", @@ -2315,7 +2320,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-compiler" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#f51436fe14e6d029313546e8284cf6762f81f776" +source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "backtrace", "hashbrown 0.14.5", @@ -2341,7 +2346,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-core" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#f51436fe14e6d029313546e8284cf6762f81f776" +source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "arrayref", "backtrace", @@ -2375,7 +2380,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-derive" version = "0.1.0" -source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#f51436fe14e6d029313546e8284cf6762f81f776" +source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "proc-macro2", "quote", @@ -2385,7 +2390,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-gnark-ffi" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#f51436fe14e6d029313546e8284cf6762f81f776" +source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", @@ -2406,6 +2411,23 @@ dependencies = [ "tempfile", ] +[[package]] +name = "sphinx-zkvm" +version = "1.0.0" +source = "git+https://github.com/argumentcomputer/sphinx.git?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" +dependencies = [ + "bincode", + "cfg-if", + "getrandom", + "lazy_static", + "libm", + "once_cell", + "rand", + "serde", + "sha2", + "sphinx-lib", +] + [[package]] name = "spin" version = "0.9.8" diff --git a/assets/epoch_change.json b/assets/epoch_change.json index 077a9e8..ed045e5 100644 --- a/assets/epoch_change.json +++ b/assets/epoch_change.json @@ -1,5 +1,5 @@ { - "vkey": "0x00c55464e91190f7548e4355c11cc43c1187f73cb1547a37aba0e6a1760a11d0", + "vkey": "0x00de53d6fe5e4e43f950fbc1f6b2c0f9c172097ad7263ab913241267b29d03f2", "publicValues": "0xe0e58f00000000005d32119aae2ee9f88867d5787af5c4df68884a4bf8fff525ff8c408e8f98805085382a0c8b1b38485a3d816f31ab5b23a0eae94d86c90086cd4e7b6e8c5c46825ebd1cf9ea54ce88af740aad4d7e95e742157209f36867ff5d7d490afa91c6bf", - "proof": "0x0c04ba03cd20322b2b7c4560bf375cdae0eb937dbba3e6ead61ccd38c8e126d30566ee7ef22b870683e5bb4fae4d32c4c6dbe0970ccc8be4b6c845be9e509511198587a694f121abe256e353cf115ea349e2d540232a9971ae1ba4f1b073131c1432283789b5eda625ebb455b309ed2055e887ab0d83c3ccd88e8e42f769f9ec230a90af8367efabc2978bb5ebd79f86f4ee597d66ace90fa6a3fcc90a424595220ee3450b33ecbf7161c2fa58711e73a41c016091d9cf020d66469c8a5dc39d2cf4849b792b771cea6112e98d49d68a80c417257bcb8a9632f4396ef0f1f5730b5e253b5da49aada273a5a2167db470934685777082c34c87e2ae8711e1b66f01e76d477d1f6953904fd6a26c6e7cce14f755512b394dcff5f4f33a66c0575317d3093ea51f7002c161797e12858a3e1bae4cc776b377317bd37e8440b54e1f17646280fe13f72355875252c4eff306a0d33bf4d1a46206621da86a9419bf8f0692cb765604a7f0c2cb4169d342e90f761f049a345ed5eca93abb93be72e69d0c974d1e75e99869c8c2983087f6adcd20caa6fe0612d0f1b6e596e517bc19810eb7148719150f283cc13851666c6786b6e06d973c5236f5c37d511ecbc0f8e9087abb135fef30602b4560ad6baff66a2f4b20301e84177d8db358451e5f3c9816ae27657ea0f9a53bff38793de945d8c1a02fc22f72e41dc923a1eb6f9bc69c000000070e6477e97c7aa2d14f2a50a7dfa2c5688d52de171596555510f5b84e8392404f19bb28ab2d30896aa2cb5db3135265951335c36baa6a5b4b2bde3503e078bade194426aad20df55a4e6ed8805064c597ee89e8e340aebab046cb6829c692ab0c2e74cc6dddfc9eef77e6892dc1addfc56ae06099f228cf28adf67eb657ed45fd2212eab7bda93751e1403685a34e91c33d50296a9d4271c1f8bb2b13b4de876d16b252190d3241f4bcff9cfeec894705b941b69d43e1cfe20cd7a6916e7726642e9a121c5635f474b8ff28214b029f037aa05517bc19b1cfaa0d012695a4fbf700576e8e02bbaf346448d18fe2e52fa7eabdead2e322f6c01e15a84f649db2a105c769dad22f3da6a0ce6e685b58ac17bf2bda5cb56d0b604e3fd37973fc90162660de4911c08d6aec32edcf0371ff915c67da412629ece898684e5affcbb624000000012f587c44a28e13eb1851f1747f0a9fb1633fa904fff60b2327c8bdef3573a4b61935650a24145c31e4d52cbb8498c511a6e852bc903b32c444ba759834fa2be5" -} + "proof": "0x08f34708fcf7220efa7f92b247dd0845d87a8f6c9c4241a565cc9700a0d25cf40d169d9ed1ef23501ba7af506149fe3ffc799347cda34a2161cbd6ec21e70d580a21e07b0ba894dbc8c41c1f1b82095038ea0f280d9fed085fcedb4773120c672eb050701e99ac2038ddd8b6bfb3d38bdf03eda1c4ee4397ec412392c407b2131fb2b6e1d5a09595bcd46324b933b814aeaede074058aaed109736f9712a6eb00dc21eae36034423fba3f1dc93978a1b1d03965f9eea7eddc9b96dad539025542b9c657579ef3c15b19f29942508f6284a8b116f7d85b88bc0b2f2e80256c5561013b5d5ccb027cd7280facf27c0aa09a8a900a8a1de5e15a22e6b584fa4c4e41589ea2fdd6b8842b93f165901e7f6542dfd0916f5de105cf695ab8f607b4e6b0fcddf8540d0789082b88306f8848b920a8ed36d190589ab34d965d47d12469b1522a0f17a78fae2cc3005b760011d4daf8daba412e5bd625cdf447055b8a1c71c2bcfe1bb2419defc9f26493996693e3a657cd08189744ccce45794f1d97eba0a650823bd257796e4fe46c01c464c9c6934518af55cca1d781b823608d21be21c93ba81ec0c71d40fae191d60ecb559eb63ec8983bfb98abbf54717be5349a2139dd001d19f5e53c96c84c0e5fe1cedb847ffbd3d0f9f691410d045e95c3ad703d8cbdb08717dfb49d8bf47f4d6709f920b51cede7b9ac2741ec68265bd3b410000000721bfd94a7452d7a6e0510ac6e5c0d8588256595b577a02eb3b1169e86437ea80251c199f4f85567d970b053dd0a9a4c0ba7359ca75386d2f65ffa6bb4d8602c70222eb2f82f83f96134066b8aabdaa04f46ee39f3111312e83b885875e57a4ce18eb7bf49b915a5c30e94c350e27b5f40972755d186fb7aef47b0a070f55f1631c6a1bb224be34a0c0b90de37bde8e0667afd14cd0fec024455c7bebe0c3dcee0f0812cde68d38ca7efb388d0d5d87121e8e199a7ba1b98f970c8a6a3763fa982a9e91b9a1e9d9d37b7a5afd4c13d644a6acdc103254e6d55d2487044a0cc1742799663505fe98c8c0eaf0d2f53a1f328c265243ef82814af7f75ca9084c77c210198fe1751fe15e8d792d7da9f3bb39d3099aedcf1e6e69015be377989817bd132986a8dbc0e10902010bff9cdc8e7e99cee97a971dfd3d70e992413f376c6c000000011d7edb9ff220715881ebef1eb24285612dd2cf3b1914cee923540d6676be555c21259d9879e7a3e8c886c4745bd5a9b562fcfa31f81ed234148c5f0bb12c205b" +} \ No newline at end of file diff --git a/assets/inclusion_fixture.json b/assets/inclusion_fixture.json index 0c744a8..50a7533 100644 --- a/assets/inclusion_fixture.json +++ b/assets/inclusion_fixture.json @@ -1,5 +1,5 @@ { - "vkey": "0x00d6b0922b33f4a88cac7a71b76e025fa0dfb9b3a2e74e009bd511db5688bd3d", + "vkey": "0x00deddfe90263f93c03e88dc9c33603f3ea0493b2af5da7e37d515794958bbb7", "publicValues": "0xe0fc9100000000000969ed235cf75d25800ea6845c2584af013c1f9617ad2de87202d7e9b93739c95c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f22002fe30a172d0a479f6add89c63b29dce29b6071b3c7e486b0fb4bc431f88501000000000000002000000000000000290decd9548b62a8ef0d3e6ac11e2d7b95a49e22ecf57fc6044b6f007ca2b2ba010000000000000080", - "proof": "0x2f93d3a43da1c76c4cae2fafe0d8250d61ce0ac4870fdb59ba0549ae9bae61d6050e4757193c4bbe613f8768bd03eb03652d193dd24f54635d6bb48d0f44f9040b2befeee22cb43a929feb4ec8031336b3ba2223f3a4e71b359a510b1628b717108bbe571b578ee61e75197622241a9ced0d4e5972215b6007a4b7cc55b1a1e523bf848202faa2a40830a5c0ceb683f7a2a0f5e40d694a464cf46ec1e92bb8c50640afac401954562fcaf33f549323e5ab60d2277f1bc4cb4dd4772d80d5725c0eeb8a1c928f7d9d33e2e690b7e75fb42b8f66eb2054ae5e1f92ee1f18dbc3e21c653f94fdbb8026692d2bf176468b082f9cdc2e2f2e6b63f4a83ee501037ab308a0424c1ab6a8646d33d2d9490091869d3e663a0ec856651f21d928785133210029bb25b7d51d1446587bc27be1a7a2f5693eaddbe233088f57f82472e5f67912564c4dbb36d7fa48930fdd2f98e36f0f61c51233863b5955d4784c71b377c821981daa46312defde25b4257a0d2d9a3dd109f9f23bce153a382778fda0461d1a2dd99bafee2e049c50b00b6e33309a5d3e55a4da2da903e42ef0377143e0031c41a40d90b4df4146ea47323fbf0c13f9f9218ee7b7fdd1a759d5bb64837a5d1e0d100235d48ec777920f4cb727cb63352ad25176ba1fa3a1f485b74b6cad0b0fdedf1be572734f9fdb4e173621a648708106688fef2af2232bf5f3bf2e3be3000000070cb1cd50632fef611592e281968f5bd89fc514cf5d9000fe40991ca8d3be4a1c223dc9d526104eaba6c553cbef4c3824037fb43bab57c95d970ae0b6f4bf61fc24aad1a71a6c372b8a26160a38f593bed0d6d57ea2821d9c60284a8826eb08a51f404e4793bf325fb7e23614c363afe9d49407ea0bcffb187d3179c92f03d98a02ba82480b2cbc2fd57f9d8c605b5d6ebe624bc8f685d199592c469ceb10b0c127c9178496eadbf14738b685f2bbea68b4782d6c6ac1dc50eb5f6b200e0495e310ee14bdea4fe45924bc5f054ef41f33c21abadf2c176c7821e1c063390912161007390e8db39567b03a23d0021d303a439c6c164004dd29af4f7a963fbd48181a9a8a2e59ca91949da592d263c8993d3e2d499604d5dbb0c5fbe859980fbd792af40f77ab4bb4ebb33368c1da9bfb0842d0b967a2e3565c5d35b227e65940f800000001069af35d68273965cb42e0417a971970ac57f013836cfce5718e9d381adc77f301814c4b044f9d14d26d6a29a32ac4e932f333e92a002fa8a5f71ed282414f12" -} + "proof": "0x05d01218ecfca52c5082484baae35c29ce926cc46b856fb7e3f70b04d65f960a2db6cbc8ba328d1f1765a7b83d4c424b5ed3175a9e08b7b01efa7d9b96aa03cb0c3ca6862730abecc31675930756528537eaf714fd726b57b01f611413755df61ff90836f9d51a8edcd5c61a21dee2fec168d838f56125d5e20f8bcccf6007f82ac19911d0b1849254e959bad157b7896455895ed603b2e0c7d689ed3e9a8a6f1c88b5419c799aaebc5c5cce6e8f753762535181b58fc65a1d8092e80b0ab8ab1bdb4f20a1e0c25cd9b2184af98fd08796249d2a83401504464cf33eb1760e2202c514dcca4c29a775a1478bc914bfc77181898f820a704ce895caf506ff46d51d17a4a78994d4b9589d7823fd6ccf238aa6f778caab0cccf85740661ada3ce9177fb28569a185f08b35b14099816b1055527efbca3b93b3f5905e1223bfb1c11fddf65b06418d3b5061f2cc4cd6139aa1a22af11d81ff81ea7ab365a2a6808c061fe8c72db2532ed6114a805382229385c5bdbdf27b14baea139a0bea3ea8e112186819fca5c9f561ce3d62e094c02c128bc54661dd8183e9521e696089512b23f1a514c72c9cd3db6e94c48e06520c8f2bb8e56bbf8598a3bf0c6f3865129c005f3686cb630576a9f884c6ea684ce0f2240c2f32063ff8225d0853a5a9acbd2e8f004628a0338eeb0bc849a9aac913794292bf01db99b3ae17023e265cc0920000000709ffd4af3b57fa6f98cac4a0ac127c8dde22e65ae17f9f35a72095d725ac0cfc2f64584f6912db7aa50e5815e754e7ff92ce65a28786dcb17df13fdbcb01940003575e7037f735f85f52d0d3534a73458c6c03a4f9a7fa9359e2d46770c30ea6167a8830daa4b1c5f01a894bf7beb6cc6d6b12de1829db04b61fc62f870f07be0d8304ba1b84b014ddf80277f768ea312eeeb7066a06292a8afceb84319adc3b1c93dfc923dd41b6ff164f80840b1f5338764bd597a81ed9e17c946e767386401e347d7575e09e102ff525ec5bf7cffbc60f86951041f1399534bc3a51de025507fcf4b896dd993e4c2b89243d19297e7ba11c30a6d4336a320d1a92d100e6fe0007468c8a9b37cc5b1f99e905326aa86f37828e65616abf6830f76edb9fa53f1c222a4c6dadc86b1a5e6e20238a40f2f1b7e5a6dfb13c754aa8686d31b1855e000000011d780989bba9550d4a8bab5ac6aeb31ac6974c1f42a04ab0c3c8e97ed71badbf03aff33aa242c183ca2ebab34820837bf38a5c154fe89927556033b888587355" +} \ No newline at end of file diff --git a/plonk-verify.cabal b/plonk-verify.cabal index b2ae454..3f82897 100644 --- a/plonk-verify.cabal +++ b/plonk-verify.cabal @@ -13,7 +13,7 @@ extra-source-files: src/lib.rs data-files: - verifier-assets/v1.0.8.2-testnet/vk.bin + verifier-assets/v1.0.8.3-testnet/vk.bin build-type: Custom custom-setup diff --git a/src/lib.rs b/src/lib.rs index f81229c..2f29572 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -158,7 +158,7 @@ mod tests { pub fn plonk_bn254_artifacts_dev_dir() -> PathBuf { PathBuf::from(env!("CARGO_MANIFEST_DIR")) .join("verifier-assets") - .join("v1.0.8.2-testnet") + .join("v1.0.8.3-testnet") } pub fn asset_directory() -> PathBuf { diff --git a/test/app/Main.hs b/test/app/Main.hs index 9d66cea..fcfc097 100644 --- a/test/app/Main.hs +++ b/test/app/Main.hs @@ -16,7 +16,7 @@ main :: IO () main = do -- This directory contains only the necessary artifacts for verification -- Alternatively, the parameters might also be present at `~/.sp1/circuits/plonk_bn254/` - let circuitPathStr = "./verifier-assets/v1.0.8.2-testnet" + let circuitPathStr = "./verifier-assets/v1.0.8.3-testnet" vk <- VMKey <$> B.readFile (circuitPathStr <> "/vk.bin") -- Convert Haskell strings to CStrings diff --git a/tests/Main.hs b/tests/Main.hs index 9f534f9..d759ce1 100644 --- a/tests/Main.hs +++ b/tests/Main.hs @@ -43,7 +43,7 @@ vmKeyName :: String vmKeyName = "vk" vmKeys :: [(FilePath, VMKey)] -vmKeys = $$(embedVMKeys "bin" "verifier-assets/v1.0.8.2-testnet") +vmKeys = $$(embedVMKeys "bin" "verifier-assets/v1.0.8.3-testnet") main :: IO () main = hspec $ describe "examples" $ do diff --git a/verifier-assets/v1.0.8.3-testnet/vk.bin b/verifier-assets/v1.0.8.3-testnet/vk.bin new file mode 100644 index 0000000..d8ddc69 Binary files /dev/null and b/verifier-assets/v1.0.8.3-testnet/vk.bin differ