mirror of
https://github.com/eth-act/ere.git
synced 2026-04-03 03:00:17 -04:00
chore: upgrade zkvm versions (#281)
Co-authored-by: han0110 <tinghan0110@gmail.com>
This commit is contained in:
372
Cargo.lock
generated
372
Cargo.lock
generated
@@ -579,12 +579,6 @@ dependencies = [
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "android-tzdata"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
|
||||
|
||||
[[package]]
|
||||
name = "android_system_properties"
|
||||
version = "0.1.5"
|
||||
@@ -674,12 +668,12 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ark-bn254"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=dev%2Ftwist-shout#76bb3a4518928f1ff7f15875f940d614bb9845e6"
|
||||
dependencies = [
|
||||
"ark-ec",
|
||||
"ark-ff 0.5.0",
|
||||
"ark-r1cs-std",
|
||||
"ark-serialize 0.5.0",
|
||||
"ark-std 0.5.0",
|
||||
]
|
||||
|
||||
@@ -719,11 +713,11 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ark-ec"
|
||||
version = "0.5.0"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=feat%2Ffewer-reductions#ad2e2866e87c513353838b911ca502f4aa1500e5"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=dev%2Ftwist-shout#76bb3a4518928f1ff7f15875f940d614bb9845e6"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"ark-ff 0.5.0",
|
||||
"ark-poly 0.5.0 (git+https://github.com/a16z/arkworks-algebra?branch=feat%2Ffewer-reductions)",
|
||||
"ark-poly 0.5.0 (git+https://github.com/a16z/arkworks-algebra?branch=dev%2Ftwist-shout)",
|
||||
"ark-serialize 0.5.0",
|
||||
"ark-std 0.5.0",
|
||||
"educe 0.6.0",
|
||||
@@ -778,7 +772,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ark-ff"
|
||||
version = "0.5.0"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=feat%2Ffewer-reductions#ad2e2866e87c513353838b911ca502f4aa1500e5"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=dev%2Ftwist-shout#76bb3a4518928f1ff7f15875f940d614bb9845e6"
|
||||
dependencies = [
|
||||
"allocative",
|
||||
"ark-ff-asm 0.5.0",
|
||||
@@ -819,7 +813,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ark-ff-asm"
|
||||
version = "0.5.0"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=feat%2Ffewer-reductions#ad2e2866e87c513353838b911ca502f4aa1500e5"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=dev%2Ftwist-shout#76bb3a4518928f1ff7f15875f940d614bb9845e6"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn 2.0.101",
|
||||
@@ -853,7 +847,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ark-ff-macros"
|
||||
version = "0.5.0"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=feat%2Ffewer-reductions#ad2e2866e87c513353838b911ca502f4aa1500e5"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=dev%2Ftwist-shout#76bb3a4518928f1ff7f15875f940d614bb9845e6"
|
||||
dependencies = [
|
||||
"num-bigint 0.4.6",
|
||||
"num-traits",
|
||||
@@ -877,6 +871,17 @@ dependencies = [
|
||||
"ark-std 0.5.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ark-grumpkin"
|
||||
version = "0.5.0"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=dev%2Ftwist-shout#76bb3a4518928f1ff7f15875f940d614bb9845e6"
|
||||
dependencies = [
|
||||
"ark-bn254",
|
||||
"ark-ec",
|
||||
"ark-ff 0.5.0",
|
||||
"ark-std 0.5.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ark-poly"
|
||||
version = "0.5.0"
|
||||
@@ -895,7 +900,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ark-poly"
|
||||
version = "0.5.0"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=feat%2Ffewer-reductions#ad2e2866e87c513353838b911ca502f4aa1500e5"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=dev%2Ftwist-shout#76bb3a4518928f1ff7f15875f940d614bb9845e6"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"ark-ff 0.5.0",
|
||||
@@ -959,9 +964,9 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ark-serialize"
|
||||
version = "0.5.0"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=feat%2Ffewer-reductions#ad2e2866e87c513353838b911ca502f4aa1500e5"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=dev%2Ftwist-shout#76bb3a4518928f1ff7f15875f940d614bb9845e6"
|
||||
dependencies = [
|
||||
"ark-serialize-derive 0.5.0 (git+https://github.com/a16z/arkworks-algebra?branch=feat%2Ffewer-reductions)",
|
||||
"ark-serialize-derive 0.5.0 (git+https://github.com/a16z/arkworks-algebra?branch=dev%2Ftwist-shout)",
|
||||
"ark-std 0.5.0",
|
||||
"arrayvec",
|
||||
"digest 0.10.7",
|
||||
@@ -983,7 +988,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ark-serialize-derive"
|
||||
version = "0.5.0"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=feat%2Ffewer-reductions#ad2e2866e87c513353838b911ca502f4aa1500e5"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=dev%2Ftwist-shout#76bb3a4518928f1ff7f15875f940d614bb9845e6"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -2167,18 +2172,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "bytemuck"
|
||||
version = "1.23.1"
|
||||
version = "1.25.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422"
|
||||
checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec"
|
||||
dependencies = [
|
||||
"bytemuck_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bytemuck_derive"
|
||||
version = "1.8.1"
|
||||
version = "1.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a"
|
||||
checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -2374,15 +2379,16 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "chrono"
|
||||
version = "0.4.41"
|
||||
version = "0.4.43"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
|
||||
checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118"
|
||||
dependencies = [
|
||||
"android-tzdata",
|
||||
"iana-time-zone",
|
||||
"js-sys",
|
||||
"num-traits",
|
||||
"serde",
|
||||
"windows-link 0.1.3",
|
||||
"wasm-bindgen",
|
||||
"windows-link 0.2.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2560,8 +2566,9 @@ checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
|
||||
[[package]]
|
||||
name = "common"
|
||||
version = "0.2.0"
|
||||
source = "git+https://github.com/a16z/jolt.git?tag=v0.3.0-alpha#5101ad2143039de6f279613810414c3d071d1f8f"
|
||||
source = "git+https://github.com/a16z/jolt.git?rev=6dcd401#6dcd401375efbf1a0e70079088745bacd55d4e88"
|
||||
dependencies = [
|
||||
"allocative",
|
||||
"ark-serialize 0.5.0",
|
||||
"derive_more 2.0.1",
|
||||
"serde",
|
||||
@@ -3457,9 +3464,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ccf673e0848ef09fa4aeeba78e681cf651c0c7d35f76ee38cec8e55bc32fa111"
|
||||
|
||||
[[package]]
|
||||
name = "dory"
|
||||
version = "1.0.0"
|
||||
source = "git+https://github.com/spaceandtimefdn/sxt-dory?branch=feat%2Ffewer-reductions#cfd4e8540c13f6b7e98c83a4af79b0df4a0f6f69"
|
||||
name = "dory-derive"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c16f2dd35390487818e07efb4459ee0a5c2c65761081ee632d531442a980c97b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.101",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dory-pcs"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ccf838baede4d71cdbfeb618e36b98ead4c37b1e4b29fa266abd854f0a496732"
|
||||
dependencies = [
|
||||
"ark-bn254",
|
||||
"ark-ec",
|
||||
@@ -3469,13 +3488,12 @@ dependencies = [
|
||||
"bincode 1.3.3",
|
||||
"blake2",
|
||||
"digest 0.10.7",
|
||||
"jolt-optimizations",
|
||||
"rand_chacha 0.3.1",
|
||||
"dory-derive",
|
||||
"rand_core 0.6.4",
|
||||
"rayon",
|
||||
"serde",
|
||||
"thiserror 2.0.12",
|
||||
"tracing",
|
||||
"tracing-subscriber 0.3.20",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3998,6 +4016,7 @@ dependencies = [
|
||||
name = "ere-platform-jolt"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"common",
|
||||
"ere-platform-trait",
|
||||
"jolt-sdk",
|
||||
"postcard",
|
||||
@@ -6149,23 +6168,27 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "jolt-core"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/a16z/jolt.git?tag=v0.3.0-alpha#5101ad2143039de6f279613810414c3d071d1f8f"
|
||||
source = "git+https://github.com/a16z/jolt.git?rev=6dcd401#6dcd401375efbf1a0e70079088745bacd55d4e88"
|
||||
dependencies = [
|
||||
"allocative",
|
||||
"anyhow",
|
||||
"ark-bn254",
|
||||
"ark-ec",
|
||||
"ark-ff 0.5.0",
|
||||
"ark-grumpkin",
|
||||
"ark-serialize 0.5.0",
|
||||
"ark-serialize-derive 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"ark-std 0.5.0",
|
||||
"bincode 1.3.3",
|
||||
"blake2",
|
||||
"bytemuck",
|
||||
"bytemuck_derive",
|
||||
"chrono",
|
||||
"clap",
|
||||
"common",
|
||||
"derive_more 2.0.1",
|
||||
"dirs 5.0.1",
|
||||
"dory",
|
||||
"dory-pcs",
|
||||
"eyre",
|
||||
"fixedbitset 0.5.7",
|
||||
"indicatif",
|
||||
@@ -6174,13 +6197,11 @@ dependencies = [
|
||||
"jolt-inlines-sha2",
|
||||
"jolt-optimizations",
|
||||
"jolt-platform",
|
||||
"lazy_static",
|
||||
"memory-stats",
|
||||
"num",
|
||||
"num-derive",
|
||||
"num-integer",
|
||||
"num-traits",
|
||||
"once_cell",
|
||||
"paste",
|
||||
"postcard",
|
||||
"rand 0.8.5",
|
||||
@@ -6205,7 +6226,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "jolt-inlines-keccak256"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/a16z/jolt.git?tag=v0.3.0-alpha#5101ad2143039de6f279613810414c3d071d1f8f"
|
||||
source = "git+https://github.com/a16z/jolt.git?rev=6dcd401#6dcd401375efbf1a0e70079088745bacd55d4e88"
|
||||
dependencies = [
|
||||
"ctor 0.2.9",
|
||||
"tracer",
|
||||
@@ -6215,7 +6236,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "jolt-inlines-sha2"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/a16z/jolt.git?tag=v0.3.0-alpha#5101ad2143039de6f279613810414c3d071d1f8f"
|
||||
source = "git+https://github.com/a16z/jolt.git?rev=6dcd401#6dcd401375efbf1a0e70079088745bacd55d4e88"
|
||||
dependencies = [
|
||||
"ctor 0.2.9",
|
||||
"tracer",
|
||||
@@ -6225,13 +6246,14 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "jolt-optimizations"
|
||||
version = "0.5.0"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=feat%2Ffewer-reductions#ad2e2866e87c513353838b911ca502f4aa1500e5"
|
||||
source = "git+https://github.com/a16z/arkworks-algebra?branch=dev%2Ftwist-shout#76bb3a4518928f1ff7f15875f940d614bb9845e6"
|
||||
dependencies = [
|
||||
"ark-bn254",
|
||||
"ark-ec",
|
||||
"ark-ff 0.5.0",
|
||||
"ark-serialize 0.5.0",
|
||||
"ark-std 0.5.0",
|
||||
"arrayvec",
|
||||
"num-bigint 0.4.6",
|
||||
"num-integer",
|
||||
"num-rational",
|
||||
@@ -6242,7 +6264,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "jolt-platform"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/a16z/jolt.git?tag=v0.3.0-alpha#5101ad2143039de6f279613810414c3d071d1f8f"
|
||||
source = "git+https://github.com/a16z/jolt.git?rev=6dcd401#6dcd401375efbf1a0e70079088745bacd55d4e88"
|
||||
dependencies = [
|
||||
"getrandom 0.2.16",
|
||||
"getrandom 0.3.3",
|
||||
@@ -6252,7 +6274,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "jolt-sdk"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/a16z/jolt.git?tag=v0.3.0-alpha#5101ad2143039de6f279613810414c3d071d1f8f"
|
||||
source = "git+https://github.com/a16z/jolt.git?rev=6dcd401#6dcd401375efbf1a0e70079088745bacd55d4e88"
|
||||
dependencies = [
|
||||
"ark-bn254",
|
||||
"ark-ec",
|
||||
@@ -6261,13 +6283,14 @@ dependencies = [
|
||||
"jolt-platform",
|
||||
"jolt-sdk-macros",
|
||||
"postcard",
|
||||
"serde",
|
||||
"tracer",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "jolt-sdk-macros"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/a16z/jolt.git?tag=v0.3.0-alpha#5101ad2143039de6f279613810414c3d071d1f8f"
|
||||
source = "git+https://github.com/a16z/jolt.git?rev=6dcd401#6dcd401375efbf1a0e70079088745bacd55d4e88"
|
||||
dependencies = [
|
||||
"common",
|
||||
"proc-macro2",
|
||||
@@ -6881,8 +6904,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miden-air"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"miden-core",
|
||||
"miden-utils-indexing",
|
||||
@@ -6893,8 +6916,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miden-assembly"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"log",
|
||||
"miden-assembly-syntax",
|
||||
@@ -6906,8 +6929,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miden-assembly-syntax"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"lalrpop 0.22.2",
|
||||
@@ -6927,8 +6950,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miden-core"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"derive_more 2.0.1",
|
||||
"itertools 0.14.0",
|
||||
@@ -6946,8 +6969,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miden-core-lib"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"env_logger",
|
||||
"fs-err",
|
||||
@@ -7004,8 +7027,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miden-debug-types"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
"miden-crypto",
|
||||
@@ -7030,8 +7053,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miden-mast-package"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"derive_more 2.0.1",
|
||||
"miden-assembly-syntax",
|
||||
@@ -7083,8 +7106,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miden-processor"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"itertools 0.14.0",
|
||||
"miden-air",
|
||||
@@ -7102,8 +7125,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miden-prover"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"miden-air",
|
||||
"miden-debug-types",
|
||||
@@ -7115,8 +7138,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miden-utils-core-derive"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -7125,8 +7148,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miden-utils-diagnostics"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"miden-crypto",
|
||||
"miden-debug-types",
|
||||
@@ -7137,16 +7160,16 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miden-utils-indexing"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"thiserror 2.0.12",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "miden-utils-sync"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"lock_api",
|
||||
"loom",
|
||||
@@ -7155,8 +7178,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miden-verifier"
|
||||
version = "0.20.1"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.1#858f4cf58bab03d342ed2677fcc95ac755128dfe"
|
||||
version = "0.20.4"
|
||||
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.20.4#2e66bd28d4b0f6cc785c712323a77cfe8fd7678e"
|
||||
dependencies = [
|
||||
"miden-air",
|
||||
"miden-core",
|
||||
@@ -7927,8 +7950,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"getrandom 0.2.16",
|
||||
@@ -7942,8 +7965,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-algebra-circuit"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"blstrs",
|
||||
"cfg-if",
|
||||
@@ -7975,8 +7998,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-algebra-complex-macros"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-macros-common",
|
||||
"quote",
|
||||
@@ -7985,8 +8008,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-algebra-guest"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"halo2curves-axiom",
|
||||
"num-bigint 0.4.6",
|
||||
@@ -8001,8 +8024,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-algebra-moduli-macros"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"num-bigint 0.4.6",
|
||||
"num-prime",
|
||||
@@ -8013,8 +8036,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-algebra-transpiler"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-algebra-guest",
|
||||
"openvm-instructions",
|
||||
@@ -8027,8 +8050,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-bigint-circuit"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"derive-new 0.6.0",
|
||||
@@ -8053,8 +8076,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-bigint-guest"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-platform",
|
||||
"strum_macros 0.26.4",
|
||||
@@ -8062,8 +8085,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-bigint-transpiler"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-bigint-guest",
|
||||
"openvm-instructions",
|
||||
@@ -8077,8 +8100,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-build"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"cargo_metadata 0.18.1",
|
||||
"eyre",
|
||||
@@ -8089,8 +8112,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-circuit"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"abi_stable",
|
||||
"backtrace",
|
||||
@@ -8131,8 +8154,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-circuit-derive"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"itertools 0.14.0",
|
||||
"proc-macro2",
|
||||
@@ -8142,8 +8165,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-circuit-primitives"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"derive-new 0.6.0",
|
||||
"itertools 0.14.0",
|
||||
@@ -8160,8 +8183,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-circuit-primitives-derive"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"itertools 0.14.0",
|
||||
"quote",
|
||||
@@ -8170,8 +8193,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-continuations"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"derivative",
|
||||
"openvm-circuit",
|
||||
@@ -8185,8 +8208,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-cuda-backend"
|
||||
version = "1.2.2"
|
||||
source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.2.2#972f5dbecb6ab3ff7e3e978e9087235ad17c1de9"
|
||||
version = "1.2.3"
|
||||
source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.2.3#abd3c8508bac5409deca284928fc37219448403a"
|
||||
dependencies = [
|
||||
"bincode 2.0.1",
|
||||
"bincode_derive",
|
||||
@@ -8217,8 +8240,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-cuda-builder"
|
||||
version = "1.2.2"
|
||||
source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.2.2#972f5dbecb6ab3ff7e3e978e9087235ad17c1de9"
|
||||
version = "1.2.3"
|
||||
source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.2.3#abd3c8508bac5409deca284928fc37219448403a"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"glob",
|
||||
@@ -8226,8 +8249,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-cuda-common"
|
||||
version = "1.2.2"
|
||||
source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.2.2#972f5dbecb6ab3ff7e3e978e9087235ad17c1de9"
|
||||
version = "1.2.3"
|
||||
source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.2.3#abd3c8508bac5409deca284928fc37219448403a"
|
||||
dependencies = [
|
||||
"bytesize",
|
||||
"ctor 0.5.0",
|
||||
@@ -8241,7 +8264,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "openvm-custom-insn"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -8250,8 +8273,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-ecc-circuit"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"blstrs",
|
||||
"cfg-if",
|
||||
@@ -8283,8 +8306,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-ecc-guest"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"ecdsa",
|
||||
"elliptic-curve",
|
||||
@@ -8302,8 +8325,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-ecc-sw-macros"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-macros-common",
|
||||
"quote",
|
||||
@@ -8312,8 +8335,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-ecc-transpiler"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-ecc-guest",
|
||||
"openvm-instructions",
|
||||
@@ -8326,8 +8349,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-instructions"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"derive-new 0.6.0",
|
||||
@@ -8343,8 +8366,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-instructions-derive"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn 2.0.101",
|
||||
@@ -8352,8 +8375,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-keccak256-circuit"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"derive-new 0.6.0",
|
||||
@@ -8380,16 +8403,16 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-keccak256-guest"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-platform",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openvm-keccak256-transpiler"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-instructions",
|
||||
"openvm-instructions-derive",
|
||||
@@ -8402,16 +8425,16 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-macros-common"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"syn 2.0.101",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openvm-mod-circuit-builder"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"cuda-runtime-sys",
|
||||
"itertools 0.14.0",
|
||||
@@ -8431,8 +8454,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-native-circuit"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"derive-new 0.6.0",
|
||||
@@ -8462,8 +8485,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-native-compiler"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"itertools 0.14.0",
|
||||
@@ -8484,8 +8507,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-native-compiler-derive"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn 2.0.101",
|
||||
@@ -8493,8 +8516,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-native-recursion"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"itertools 0.14.0",
|
||||
@@ -8517,8 +8540,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-native-transpiler"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-instructions",
|
||||
"openvm-transpiler",
|
||||
@@ -8527,8 +8550,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-pairing-circuit"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"derive-new 0.6.0",
|
||||
@@ -8558,8 +8581,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-pairing-guest"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"blstrs",
|
||||
"halo2curves-axiom",
|
||||
@@ -8580,8 +8603,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-pairing-transpiler"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-instructions",
|
||||
"openvm-pairing-guest",
|
||||
@@ -8593,8 +8616,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-platform"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"critical-section",
|
||||
"embedded-alloc",
|
||||
@@ -8605,8 +8628,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-poseidon2-air"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"derivative",
|
||||
"lazy_static",
|
||||
@@ -8623,8 +8646,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-rv32-adapters"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"derive-new 0.6.0",
|
||||
"itertools 0.14.0",
|
||||
@@ -8640,8 +8663,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-rv32im-circuit"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"derive-new 0.6.0",
|
||||
@@ -8667,8 +8690,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-rv32im-guest"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-custom-insn",
|
||||
"p3-field 0.1.0 (git+https://github.com/Plonky3/Plonky3.git?rev=539bbc84085efb609f4f62cb03cf49588388abdb)",
|
||||
@@ -8677,8 +8700,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-rv32im-transpiler"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-instructions",
|
||||
"openvm-instructions-derive",
|
||||
@@ -8693,8 +8716,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-sdk"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"bitcode",
|
||||
"bon",
|
||||
@@ -8748,8 +8771,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-sha256-air"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-circuit-primitives",
|
||||
"openvm-stark-backend",
|
||||
@@ -8759,8 +8782,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-sha256-circuit"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"derive-new 0.6.0",
|
||||
@@ -8785,16 +8808,16 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-sha256-guest"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-platform",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openvm-sha256-transpiler"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"openvm-instructions",
|
||||
"openvm-instructions-derive",
|
||||
@@ -8807,8 +8830,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-stark-backend"
|
||||
version = "1.2.2"
|
||||
source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.2.2#972f5dbecb6ab3ff7e3e978e9087235ad17c1de9"
|
||||
version = "1.2.3"
|
||||
source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.2.3#abd3c8508bac5409deca284928fc37219448403a"
|
||||
dependencies = [
|
||||
"bitcode",
|
||||
"cfg-if",
|
||||
@@ -8835,8 +8858,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-stark-sdk"
|
||||
version = "1.2.2"
|
||||
source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.2.2#972f5dbecb6ab3ff7e3e978e9087235ad17c1de9"
|
||||
version = "1.2.3"
|
||||
source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.2.3#abd3c8508bac5409deca284928fc37219448403a"
|
||||
dependencies = [
|
||||
"dashmap",
|
||||
"derivative",
|
||||
@@ -8872,8 +8895,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openvm-transpiler"
|
||||
version = "1.4.2"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.2#e30b1148a23a34b6ec5db97ef88eecfaf41fc9d7"
|
||||
version = "1.4.3"
|
||||
source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.3#e8feb93717200e6f334b4f368dd2d0a143f69436"
|
||||
dependencies = [
|
||||
"elf",
|
||||
"eyre",
|
||||
@@ -14707,7 +14730,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "tracer"
|
||||
version = "0.2.0"
|
||||
source = "git+https://github.com/a16z/jolt.git?tag=v0.3.0-alpha#5101ad2143039de6f279613810414c3d071d1f8f"
|
||||
source = "git+https://github.com/a16z/jolt.git?rev=6dcd401#6dcd401375efbf1a0e70079088745bacd55d4e88"
|
||||
dependencies = [
|
||||
"addr2line 0.25.1",
|
||||
"ark-serialize 0.5.0",
|
||||
@@ -14717,7 +14740,6 @@ dependencies = [
|
||||
"fnv",
|
||||
"itertools 0.10.5",
|
||||
"jolt-platform",
|
||||
"lazy_static",
|
||||
"object 0.36.7",
|
||||
"paste",
|
||||
"postcard",
|
||||
|
||||
44
Cargo.toml
44
Cargo.toml
@@ -49,7 +49,7 @@ anyhow = "1.0.98"
|
||||
auto_impl = "1.3.0"
|
||||
bincode = { version = "2.0.1", default-features = false }
|
||||
blake3 = "1.8.2"
|
||||
bytemuck = "1.23.1"
|
||||
bytemuck = "1.24.0"
|
||||
cargo_metadata = "0.19.0"
|
||||
ciborium = { version = "0.2.2", default-features = false }
|
||||
ciborium-io = { version = "0.2.2", default-features = false }
|
||||
@@ -87,18 +87,18 @@ airbender_execution_utils = { git = "https://github.com/matter-labs/zksync-airbe
|
||||
airbender_riscv_common = { git = "https://github.com/matter-labs/zksync-airbender", package = "riscv_common", tag = "v0.5.2", default-features = false }
|
||||
|
||||
# Jolt dependencies
|
||||
jolt-ark-serialize = { git = "https://github.com/a16z/arkworks-algebra", package = "ark-serialize", branch = "feat/fewer-reductions" }
|
||||
jolt-common = { git = "https://github.com/a16z/jolt.git", package = "common", tag = "v0.3.0-alpha", default-features = false }
|
||||
jolt-core = { git = "https://github.com/a16z/jolt.git", tag = "v0.3.0-alpha" }
|
||||
jolt-sdk = { git = "https://github.com/a16z/jolt.git", tag = "v0.3.0-alpha", default-features = false }
|
||||
jolt-ark-serialize = { git = "https://github.com/a16z/arkworks-algebra", package = "ark-serialize", branch = "dev/twist-shout" }
|
||||
jolt-common = { git = "https://github.com/a16z/jolt.git", package = "common", rev = "6dcd401", default-features = false }
|
||||
jolt-core = { git = "https://github.com/a16z/jolt.git", rev = "6dcd401" }
|
||||
jolt-sdk = { git = "https://github.com/a16z/jolt.git", rev = "6dcd401", default-features = false }
|
||||
|
||||
# Miden dependencies
|
||||
miden-assembly = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.20.1" }
|
||||
miden-core = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.20.1" }
|
||||
miden-processor = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.20.1" }
|
||||
miden-prover = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.20.1" }
|
||||
miden-core-lib = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.20.1" }
|
||||
miden-verifier = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.20.1" }
|
||||
miden-assembly = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.20.4" }
|
||||
miden-core = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.20.4" }
|
||||
miden-processor = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.20.4" }
|
||||
miden-prover = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.20.4" }
|
||||
miden-core-lib = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.20.4" }
|
||||
miden-verifier = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.20.4" }
|
||||
|
||||
# Nexus dependencies
|
||||
nexus-core = { git = "https://github.com/nexus-xyz/nexus-zkvm.git", tag = "v0.3.6" }
|
||||
@@ -108,13 +108,13 @@ nexus-vm-prover = { git = "https://github.com/nexus-xyz/nexus-zkvm.git", tag = "
|
||||
nexus-rt = { git = "https://github.com/nexus-xyz/nexus-zkvm.git", tag = "v0.3.6", default-features = false }
|
||||
|
||||
# OpenVM dependencies
|
||||
openvm-build = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.4.2" }
|
||||
openvm-circuit = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.4.2" }
|
||||
openvm-continuations = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.4.2" }
|
||||
openvm-sdk = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.4.2" }
|
||||
openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.2" }
|
||||
openvm-transpiler = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.4.2" }
|
||||
openvm = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.4.2", default-features = false }
|
||||
openvm-build = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.4.3" }
|
||||
openvm-circuit = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.4.3" }
|
||||
openvm-continuations = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.4.3" }
|
||||
openvm-sdk = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.4.3" }
|
||||
openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.3" }
|
||||
openvm-transpiler = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.4.3" }
|
||||
openvm = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.4.3", default-features = false }
|
||||
|
||||
# Pico dependencies
|
||||
pico-p3-field = { git = "https://github.com/brevis-network/Plonky3.git", package = "p3-field", rev = "411a80d" }
|
||||
@@ -176,8 +176,8 @@ ere-test-utils = { path = "crates/test-utils" }
|
||||
|
||||
[patch.crates-io]
|
||||
# These patches are only needed by Jolt
|
||||
ark-ff = { git = "https://github.com/a16z/arkworks-algebra", branch = "feat/fewer-reductions" }
|
||||
ark-ec = { git = "https://github.com/a16z/arkworks-algebra", branch = "feat/fewer-reductions" }
|
||||
jolt-optimizations = { git = "https://github.com/a16z/arkworks-algebra", branch = "feat/fewer-reductions" }
|
||||
ark-serialize = { git = "https://github.com/a16z/arkworks-algebra", branch = "feat/fewer-reductions" }
|
||||
ark-bn254 = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout" }
|
||||
ark-ff = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout" }
|
||||
ark-ec = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout" }
|
||||
ark-serialize = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout" }
|
||||
allocative = { git = "https://github.com/facebookexperimental/allocative", rev = "85b773d85d526d068ce94724ff7a7b81203fc95e" }
|
||||
|
||||
@@ -176,10 +176,10 @@ OutputHashedPlatform::<OpenVMPlatform, Sha256>::write_whole_output(&large_output
|
||||
| zkVM | Version | GPU |
|
||||
| --------- | ---------------------------------------------------------------------- | --- |
|
||||
| Airbender | [`0.5.2`](https://github.com/matter-labs/zksync-airbender/tree/v0.5.2) | Yes |
|
||||
| Jolt | [`0.3.0-alpha`](https://github.com/a16z/jolt/tree/v0.3.0-alpha) | No |
|
||||
| Miden | [`0.20.1`](https://github.com/0xMiden/miden-vm/tree/v0.20.1) | No |
|
||||
| Jolt | [`6dcd401`](https://github.com/a16z/jolt/tree/6dcd401) | No |
|
||||
| Miden | [`0.20.4`](https://github.com/0xMiden/miden-vm/tree/v0.20.4) | No |
|
||||
| Nexus | [`0.3.6`](https://github.com/nexus-xyz/nexus-zkvm/tree/v0.3.6) | No |
|
||||
| OpenVM | [`1.4.2`](https://github.com/openvm-org/openvm/tree/v1.4.2) | Yes |
|
||||
| OpenVM | [`1.4.3`](https://github.com/openvm-org/openvm/tree/v1.4.3) | Yes |
|
||||
| Pico | [`1.2.2`](https://github.com/brevis-network/pico/tree/v1.2.2) | No |
|
||||
| Risc0 | [`3.0.4`](https://github.com/risc0/risc0/tree/v3.0.4) | Yes |
|
||||
| SP1 | [`5.2.4`](https://github.com/succinctlabs/sp1/tree/v5.2.4) | Yes |
|
||||
|
||||
@@ -9,6 +9,7 @@ license.workspace = true
|
||||
postcard = { workspace = true, features = ["alloc"] }
|
||||
|
||||
# Jolt dependencies
|
||||
jolt-common.workspace = true
|
||||
jolt-sdk.workspace = true
|
||||
|
||||
# Local dependencies
|
||||
|
||||
@@ -3,84 +3,65 @@
|
||||
extern crate alloc;
|
||||
|
||||
use core::{marker::PhantomData, ops::Deref};
|
||||
use jolt_common::constants::{
|
||||
DEFAULT_MAX_INPUT_SIZE, DEFAULT_MAX_OUTPUT_SIZE, DEFAULT_MAX_TRUSTED_ADVICE_SIZE,
|
||||
DEFAULT_MAX_UNTRUSTED_ADVICE_SIZE, DEFAULT_MEMORY_SIZE, DEFAULT_STACK_SIZE,
|
||||
};
|
||||
use jolt_common::jolt_device::{MemoryConfig, MemoryLayout};
|
||||
|
||||
pub use ere_platform_trait::{Digest, OutputHashedPlatform, Platform};
|
||||
pub use jolt_sdk as jolt;
|
||||
|
||||
// FIXME: Because the crate `jolt-common` is not `no_std` compatible, so we have
|
||||
// to temporarily copy-paste these contant and memory layout calculation.
|
||||
pub const RAM_START_ADDRESS: u64 = 0x80000000;
|
||||
|
||||
pub const DEFAULT_MEMORY_SIZE: u64 = 32 * 1024 * 1024;
|
||||
pub const DEFAULT_STACK_SIZE: u64 = 4096;
|
||||
pub const DEFAULT_MAX_INPUT_SIZE: u64 = 4096;
|
||||
pub const DEFAULT_MAX_OUTPUT_SIZE: u64 = 4096;
|
||||
pub const DEFAULT_MAX_TRACE_LENGTH: u64 = 1 << 24;
|
||||
|
||||
pub struct JoltMemoryLayout {
|
||||
max_input_size: u64,
|
||||
max_output_size: u64,
|
||||
input_start: u64,
|
||||
output_start: u64,
|
||||
}
|
||||
|
||||
// According to https://github.com/a16z/jolt/blob/6dcd401/common/src/jolt_device.rs
|
||||
pub trait JoltMemoryConfig {
|
||||
const MAX_INPUT_SIZE: u64;
|
||||
const MAX_TRUSTED_ADVICE_SIZE: u64;
|
||||
const MAX_UNTRUSTED_ADVICE_SIZE: u64;
|
||||
const MAX_OUTPUT_SIZE: u64;
|
||||
const STACK_SIZE: u64;
|
||||
const MEMORY_SIZE: u64;
|
||||
|
||||
// According to https://github.com/a16z/jolt/blob/v0.3.0-alpha/common/src/jolt_device.rs#L181.
|
||||
fn memory_layout() -> JoltMemoryLayout {
|
||||
let max_input_size = Self::MAX_INPUT_SIZE.next_multiple_of(8);
|
||||
let max_output_size = Self::MAX_OUTPUT_SIZE.next_multiple_of(8);
|
||||
|
||||
let io_region_bytes = max_input_size
|
||||
.checked_add(max_output_size)
|
||||
.unwrap()
|
||||
.checked_add(16)
|
||||
.unwrap();
|
||||
let io_region_words = (io_region_bytes / 8).next_power_of_two();
|
||||
let io_bytes = io_region_words.checked_mul(8).unwrap();
|
||||
|
||||
let input_start = RAM_START_ADDRESS.checked_sub(io_bytes).unwrap();
|
||||
let output_start = input_start.checked_add(max_input_size).unwrap();
|
||||
|
||||
JoltMemoryLayout {
|
||||
max_input_size,
|
||||
max_output_size,
|
||||
input_start,
|
||||
output_start,
|
||||
}
|
||||
fn memory_layout() -> MemoryLayout {
|
||||
MemoryLayout::new(&MemoryConfig {
|
||||
max_input_size: Self::MAX_INPUT_SIZE,
|
||||
max_trusted_advice_size: Self::MAX_TRUSTED_ADVICE_SIZE,
|
||||
max_untrusted_advice_size: Self::MAX_UNTRUSTED_ADVICE_SIZE,
|
||||
max_output_size: Self::MAX_OUTPUT_SIZE,
|
||||
stack_size: Self::STACK_SIZE,
|
||||
memory_size: Self::MEMORY_SIZE,
|
||||
program_size: Some(0),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
pub struct DefaulJoltMemoryConfig;
|
||||
pub struct DefaultJoltMemoryConfig;
|
||||
|
||||
impl JoltMemoryConfig for DefaulJoltMemoryConfig {
|
||||
impl JoltMemoryConfig for DefaultJoltMemoryConfig {
|
||||
const MAX_INPUT_SIZE: u64 = DEFAULT_MAX_INPUT_SIZE;
|
||||
const MAX_TRUSTED_ADVICE_SIZE: u64 = DEFAULT_MAX_TRUSTED_ADVICE_SIZE;
|
||||
const MAX_UNTRUSTED_ADVICE_SIZE: u64 = DEFAULT_MAX_UNTRUSTED_ADVICE_SIZE;
|
||||
const MAX_OUTPUT_SIZE: u64 = DEFAULT_MAX_OUTPUT_SIZE;
|
||||
const STACK_SIZE: u64 = DEFAULT_STACK_SIZE;
|
||||
const MEMORY_SIZE: u64 = DEFAULT_MEMORY_SIZE;
|
||||
}
|
||||
|
||||
/// Jolt [`Platform`] implementation.
|
||||
pub struct JoltPlatform<C = DefaulJoltMemoryConfig>(PhantomData<C>);
|
||||
pub struct JoltPlatform<C = DefaultJoltMemoryConfig>(PhantomData<C>);
|
||||
|
||||
impl<C: JoltMemoryConfig> Platform for JoltPlatform<C> {
|
||||
fn read_whole_input() -> impl Deref<Target = [u8]> {
|
||||
let memory_layout = C::memory_layout();
|
||||
let input_ptr = memory_layout.input_start as *const u8;
|
||||
let max_input_len = memory_layout.max_input_size as usize;
|
||||
assert!(max_input_len > 4);
|
||||
let len_bytes = unsafe { core::slice::from_raw_parts(input_ptr, 4) };
|
||||
let untrusted_advice_ptr = memory_layout.untrusted_advice_start as *const u8;
|
||||
let max_untrusted_advice_len = memory_layout.max_untrusted_advice_size as usize;
|
||||
assert!(max_untrusted_advice_len > 4);
|
||||
let len_bytes = unsafe { core::slice::from_raw_parts(untrusted_advice_ptr, 4) };
|
||||
let len = u32::from_le_bytes(len_bytes.try_into().unwrap()) as usize;
|
||||
assert!(
|
||||
len <= max_input_len - 4,
|
||||
len <= max_untrusted_advice_len - 4,
|
||||
"Maximum input size is {} bytes, got {len}",
|
||||
max_input_len - 4,
|
||||
max_untrusted_advice_len - 4,
|
||||
);
|
||||
unsafe { core::slice::from_raw_parts(input_ptr.add(4), len) }.to_vec()
|
||||
unsafe { core::slice::from_raw_parts(untrusted_advice_ptr.add(4), len) }.to_vec()
|
||||
}
|
||||
|
||||
fn write_whole_output(output: &[u8]) {
|
||||
@@ -95,7 +76,7 @@ impl<C: JoltMemoryConfig> Platform for JoltPlatform<C> {
|
||||
);
|
||||
let output_slice = unsafe { core::slice::from_raw_parts_mut(output_ptr, len + 4) };
|
||||
output_slice[..4].copy_from_slice(&(output.len() as u32).to_le_bytes());
|
||||
output_slice[4..].copy_from_slice(&output);
|
||||
output_slice[4..].copy_from_slice(output);
|
||||
}
|
||||
|
||||
fn print(message: &str) {
|
||||
|
||||
@@ -7,7 +7,7 @@ use jolt_common::constants::{
|
||||
use std::{env, path::Path};
|
||||
|
||||
const TARGET_TRIPLE: &str = "riscv64imac-unknown-none-elf";
|
||||
// According to https://github.com/a16z/jolt/blob/v0.3.0-alpha/jolt-core/src/host/program.rs#L82
|
||||
// According to https://github.com/a16z/jolt/blob/6dcd401/jolt-core/src/host/program.rs#L96
|
||||
const RUSTFLAGS: &[&str] = &[
|
||||
"-C",
|
||||
"passes=lower-atomic",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Copied from https://github.com/a16z/jolt/blob/v0.3.0-alpha/jolt-core/src/host/mod.rs#L28 */
|
||||
/* Copied from https://github.com/a16z/jolt/blob/6dcd401/jolt-core/src/host/mod.rs#L30 */
|
||||
|
||||
MEMORY {
|
||||
program (rwx) : ORIGIN = 0x80000000, LENGTH = {EMULATOR_MEMORY}
|
||||
@@ -18,13 +18,23 @@ SECTIONS {
|
||||
} > program
|
||||
|
||||
.bss (NOLOAD) : {
|
||||
*(.bss)
|
||||
__bss_start = .;
|
||||
*(.bss .bss.*)
|
||||
*(COMMON)
|
||||
. = ALIGN(8);
|
||||
__bss_end = .;
|
||||
} > program
|
||||
|
||||
/DISCARD/ : {
|
||||
*(.eh_frame*)
|
||||
*(.eh_frame_hdr*)
|
||||
}
|
||||
|
||||
. = ALIGN(8);
|
||||
_STACK_END = .;
|
||||
. = . + {STACK_CANARY};
|
||||
. = . + {STACK_SIZE};
|
||||
. = ALIGN(8);
|
||||
_STACK_PTR = .;
|
||||
|
||||
. = ALIGN(8);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use crate::{
|
||||
program::JoltProgram,
|
||||
zkvm::sdk::{JoltProof, JoltSdk},
|
||||
zkvm::sdk::{JoltConfig, JoltProof, JoltSdk},
|
||||
};
|
||||
use anyhow::bail;
|
||||
use ere_zkvm_interface::zkvm::{
|
||||
@@ -26,7 +26,7 @@ impl EreJolt {
|
||||
if !matches!(resource, ProverResourceType::Cpu) {
|
||||
panic!("Network or GPU proving not yet implemented for Miden. Use CPU resource type.");
|
||||
}
|
||||
let sdk = JoltSdk::new(program.elf());
|
||||
let sdk = JoltSdk::new(program.elf(), JoltConfig::from_env());
|
||||
Ok(EreJolt { sdk })
|
||||
}
|
||||
}
|
||||
@@ -162,22 +162,22 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_prove() {
|
||||
let _guard = PROVE_LOCK.lock().unwrap();
|
||||
|
||||
let program = basic_program();
|
||||
let zkvm = EreJolt::new(program, ProverResourceType::Cpu).unwrap();
|
||||
|
||||
let _guard = PROVE_LOCK.lock().unwrap();
|
||||
|
||||
let test_case = BasicProgram::<BincodeLegacy>::valid_test_case();
|
||||
run_zkvm_prove(&zkvm, &test_case);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_prove_invalid_test_case() {
|
||||
let _guard = PROVE_LOCK.lock().unwrap();
|
||||
|
||||
let program = basic_program();
|
||||
let zkvm = EreJolt::new(program, ProverResourceType::Cpu).unwrap();
|
||||
|
||||
let _guard = PROVE_LOCK.lock().unwrap();
|
||||
|
||||
for input in [
|
||||
Input::new(),
|
||||
BasicProgram::<BincodeLegacy>::invalid_test_case().input(),
|
||||
|
||||
@@ -15,6 +15,9 @@ pub enum Error {
|
||||
ExecutionPanic,
|
||||
|
||||
// Verify
|
||||
#[error("Failed to verify proof: {0}")]
|
||||
VerifyProofFailed(#[from] ProofVerifyError),
|
||||
#[error("Failed to construct verifier: {0}")]
|
||||
VerifierInitFailed(#[from] ProofVerifyError),
|
||||
|
||||
#[error("Verification failed: {0}")]
|
||||
VerifyFailed(anyhow::Error),
|
||||
}
|
||||
|
||||
@@ -3,28 +3,72 @@ use core::{array::from_fn, cmp::min};
|
||||
use ere_zkvm_interface::zkvm::PublicValues;
|
||||
use jolt_ark_serialize::{self as ark_serialize, CanonicalDeserialize, CanonicalSerialize};
|
||||
use jolt_common::constants::{
|
||||
DEFAULT_MAX_INPUT_SIZE, DEFAULT_MAX_OUTPUT_SIZE, DEFAULT_MAX_TRACE_LENGTH, DEFAULT_MEMORY_SIZE,
|
||||
DEFAULT_MAX_INPUT_SIZE, DEFAULT_MAX_OUTPUT_SIZE, DEFAULT_MAX_TRACE_LENGTH,
|
||||
DEFAULT_MAX_TRUSTED_ADVICE_SIZE, DEFAULT_MAX_UNTRUSTED_ADVICE_SIZE, DEFAULT_MEMORY_SIZE,
|
||||
DEFAULT_STACK_SIZE,
|
||||
};
|
||||
use jolt_core::{
|
||||
poly::commitment::commitment_scheme::CommitmentScheme, transcripts::Blake2bTranscript as FS,
|
||||
utils::math::Math, zkvm::witness::DTH_ROOT_OF_K,
|
||||
};
|
||||
use jolt_sdk::{
|
||||
F, Jolt, JoltDevice, JoltProverPreprocessing, JoltRV64IMAC, JoltVerifierPreprocessing,
|
||||
MemoryConfig, MemoryLayout, PCS,
|
||||
F, JoltDevice, JoltProverPreprocessing, JoltSharedPreprocessing, JoltVerifierPreprocessing,
|
||||
MemoryConfig, MemoryLayout, PCS, RV64IMACProof, RV64IMACProver, RV64IMACVerifier,
|
||||
guest::program::{decode, trace},
|
||||
};
|
||||
use std::env;
|
||||
|
||||
#[derive(CanonicalSerialize, CanonicalDeserialize)]
|
||||
pub struct JoltProof {
|
||||
proof: jolt_sdk::JoltProof<F, PCS, FS>,
|
||||
// FIXME: Remove `inputs` when Jolt supports proving with private input.
|
||||
// Issue for tracking: https://github.com/eth-act/ere/issues/4.
|
||||
inputs: Vec<u8>,
|
||||
proof: RV64IMACProof,
|
||||
outputs: Vec<u8>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
pub struct JoltConfig {
|
||||
max_input_size: u64,
|
||||
max_trusted_advice_size: u64,
|
||||
max_untrusted_advice_size: u64,
|
||||
max_output_size: u64,
|
||||
stack_size: u64,
|
||||
memory_size: u64,
|
||||
max_trace_length: u64,
|
||||
}
|
||||
|
||||
impl JoltConfig {
|
||||
pub fn from_env() -> Self {
|
||||
#[rustfmt::skip]
|
||||
let envs = [
|
||||
("JOLT_MAX_INPUT_SIZE", DEFAULT_MAX_INPUT_SIZE),
|
||||
("JOLT_MAX_TRUSTED_ADVICE_SIZE", DEFAULT_MAX_TRUSTED_ADVICE_SIZE),
|
||||
("JOLT_MAX_UNTRUSTED_ADVICE_SIZE", DEFAULT_MAX_UNTRUSTED_ADVICE_SIZE),
|
||||
("JOLT_MAX_OUTPUT_SIZE", DEFAULT_MAX_OUTPUT_SIZE),
|
||||
("JOLT_STACK_SIZE", DEFAULT_STACK_SIZE),
|
||||
("JOLT_MEMORY_SIZE", DEFAULT_MEMORY_SIZE),
|
||||
("JOLT_MAX_TRACE_LENGTH", DEFAULT_MAX_TRACE_LENGTH),
|
||||
];
|
||||
let [
|
||||
max_input_size,
|
||||
max_trusted_advice_size,
|
||||
max_untrusted_advice_size,
|
||||
max_output_size,
|
||||
stack_size,
|
||||
memory_size,
|
||||
max_trace_length,
|
||||
] = envs.map(|(key, default)| {
|
||||
env::var(key)
|
||||
.ok()
|
||||
.and_then(|val| val.parse().ok())
|
||||
.unwrap_or(default)
|
||||
});
|
||||
Self {
|
||||
max_input_size,
|
||||
max_trusted_advice_size,
|
||||
max_untrusted_advice_size,
|
||||
max_output_size,
|
||||
stack_size,
|
||||
memory_size,
|
||||
max_trace_length,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub struct JoltSdk {
|
||||
elf: Vec<u8>,
|
||||
memory_config: MemoryConfig,
|
||||
@@ -33,27 +77,29 @@ pub struct JoltSdk {
|
||||
}
|
||||
|
||||
impl JoltSdk {
|
||||
pub fn new(elf: &[u8]) -> Self {
|
||||
pub fn new(elf: &[u8], config: JoltConfig) -> Self {
|
||||
let (bytecode, memory_init, program_size) = decode(elf);
|
||||
let memory_config = MemoryConfig {
|
||||
max_input_size: DEFAULT_MAX_INPUT_SIZE,
|
||||
max_output_size: DEFAULT_MAX_OUTPUT_SIZE,
|
||||
stack_size: DEFAULT_STACK_SIZE,
|
||||
memory_size: DEFAULT_MEMORY_SIZE,
|
||||
max_input_size: config.max_input_size,
|
||||
max_trusted_advice_size: config.max_trusted_advice_size,
|
||||
max_untrusted_advice_size: config.max_untrusted_advice_size,
|
||||
max_output_size: config.max_output_size,
|
||||
stack_size: config.stack_size,
|
||||
memory_size: config.memory_size,
|
||||
program_size: Some(program_size),
|
||||
};
|
||||
let memory_layout = MemoryLayout::new(&memory_config);
|
||||
let max_trace_length = DEFAULT_MAX_TRACE_LENGTH as usize;
|
||||
let pk = {
|
||||
// FIXME: Use public trusted setup or switch to other transparent PCS.
|
||||
let max_trace_length = max_trace_length.next_power_of_two();
|
||||
let generators = PCS::setup_prover(DTH_ROOT_OF_K.log_2() + max_trace_length.log_2());
|
||||
|
||||
let shared = JoltRV64IMAC::shared_preprocess(bytecode, memory_layout, memory_init);
|
||||
|
||||
JoltProverPreprocessing { generators, shared }
|
||||
};
|
||||
// FIXME: Use public trusted setup or switch to other transparent PCS.
|
||||
let shared = JoltSharedPreprocessing::new(
|
||||
bytecode,
|
||||
memory_layout,
|
||||
memory_init,
|
||||
config.max_trace_length as usize,
|
||||
);
|
||||
let pk = JoltProverPreprocessing::new(shared);
|
||||
let vk = JoltVerifierPreprocessing::from(&pk);
|
||||
|
||||
Self {
|
||||
elf: elf.to_vec(),
|
||||
memory_config,
|
||||
@@ -63,40 +109,64 @@ impl JoltSdk {
|
||||
}
|
||||
|
||||
pub fn execute(&self, input: &[u8]) -> Result<(PublicValues, u64), Error> {
|
||||
let (cycles, _, io) = trace(&self.elf, None, input, &self.memory_config);
|
||||
// Use untrusted advice (aka private input) instead of input of Jolt device,
|
||||
// which is public to verifier.
|
||||
let untrusted_advice = input;
|
||||
let (trace_iter, materialized_trace, _memory, io) = trace(
|
||||
&self.elf,
|
||||
None,
|
||||
&[],
|
||||
untrusted_advice,
|
||||
&[],
|
||||
&self.memory_config,
|
||||
);
|
||||
if io.panic {
|
||||
return Err(Error::ExecutionPanic);
|
||||
}
|
||||
let num_cycles = materialized_trace.len() + trace_iter.count();
|
||||
let public_values = extract_public_values(&io.outputs)?;
|
||||
Ok((public_values, cycles.len() as _))
|
||||
Ok((public_values, num_cycles as _))
|
||||
}
|
||||
|
||||
pub fn prove(&self, input: &[u8]) -> Result<(PublicValues, JoltProof), Error> {
|
||||
let (proof, io, _) = JoltRV64IMAC::prove(&self.pk, &self.elf, input);
|
||||
// Use untrusted advice (aka private input) instead of input of Jolt device,
|
||||
// which is public to verifier.
|
||||
let untrusted_advice = input;
|
||||
let prover = RV64IMACProver::gen_from_elf(
|
||||
&self.pk,
|
||||
&self.elf,
|
||||
&[],
|
||||
untrusted_advice,
|
||||
&[],
|
||||
None,
|
||||
None,
|
||||
);
|
||||
let io = prover.program_io.clone();
|
||||
if io.panic {
|
||||
return Err(Error::ExecutionPanic);
|
||||
}
|
||||
let (proof, _debug_info) = prover.prove();
|
||||
|
||||
let public_values = extract_public_values(&io.outputs)?;
|
||||
let proof = JoltProof {
|
||||
proof,
|
||||
inputs: io.inputs,
|
||||
outputs: io.outputs,
|
||||
};
|
||||
Ok((public_values, proof))
|
||||
}
|
||||
|
||||
pub fn verify(&self, proof: JoltProof) -> Result<PublicValues, Error> {
|
||||
JoltRV64IMAC::verify(
|
||||
&self.vk,
|
||||
proof.proof,
|
||||
JoltDevice {
|
||||
inputs: proof.inputs.clone(),
|
||||
outputs: proof.outputs.clone(),
|
||||
panic: false,
|
||||
memory_layout: MemoryLayout::new(&self.memory_config),
|
||||
},
|
||||
None,
|
||||
)?;
|
||||
let io_device = JoltDevice {
|
||||
outputs: proof.outputs.clone(),
|
||||
panic: false,
|
||||
memory_layout: MemoryLayout::new(&self.memory_config),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
let verifier = RV64IMACVerifier::new(&self.vk, proof.proof, io_device, None, None)
|
||||
.map_err(Error::VerifierInitFailed)?;
|
||||
verifier.verify().map_err(Error::VerifyFailed)?;
|
||||
|
||||
let public_values = extract_public_values(&proof.outputs)?;
|
||||
Ok(public_values)
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ use ere_zkvm_interface::compiler::Compiler;
|
||||
use std::{env, path::Path};
|
||||
|
||||
const TARGET_TRIPLE: &str = "riscv32ima-unknown-none-elf";
|
||||
// Rust flags according to https://github.com/openvm-org/openvm/blob/v1.4.2/crates/toolchain/build/src/lib.rs#L291
|
||||
// Rust flags according to https://github.com/openvm-org/openvm/blob/v1.4.3/crates/toolchain/build/src/lib.rs#L291
|
||||
const RUSTFLAGS: &[&str] = &[
|
||||
// Replace atomic ops with nonatomic versions since the guest is single threaded.
|
||||
"-C",
|
||||
|
||||
@@ -52,7 +52,7 @@ impl EreOpenVM {
|
||||
let app_config = if let Some(value) = program.app_config() {
|
||||
toml::from_str(value).map_err(Error::InvalidAppConfig)?
|
||||
} else {
|
||||
// The default `AppConfig` copied from https://github.com/openvm-org/openvm/blob/v1.4.2/crates/cli/src/default.rs#L35.
|
||||
// The default `AppConfig` copied from https://github.com/openvm-org/openvm/blob/v1.4.3/crates/cli/src/default.rs#L35.
|
||||
AppConfig {
|
||||
app_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
|
||||
DEFAULT_APP_LOG_BLOWUP,
|
||||
|
||||
@@ -5,6 +5,6 @@ FROM $BASE_IMAGE
|
||||
RUN rustup default 1.90.0
|
||||
|
||||
# Miden Configuration
|
||||
ENV MIDEN_VERSION="v0.20.1"
|
||||
ENV MIDEN_VERSION="v0.20.4"
|
||||
|
||||
CMD ["/bin/bash"]
|
||||
|
||||
@@ -28,13 +28,13 @@ ensure_tool_installed "rustup" "to manage Rust toolchains (though Jolt uses defa
|
||||
ensure_tool_installed "git" "to install Jolt from a git repository"
|
||||
ensure_tool_installed "cargo" "to build and install Rust packages"
|
||||
|
||||
JOLT_VERSION_TAG="v0.3.0-alpha"
|
||||
JOLT_VERSION_TAG="6dcd401"
|
||||
|
||||
# Install Jolt CLI using cargo install with +nightly
|
||||
# This installs the 'jolt' binary directly to $HOME/.cargo/bin
|
||||
# The ere-base image should have a compatible default nightly toolchain.
|
||||
echo "Installing Jolt CLI from GitHub repository (a16z/jolt)..."
|
||||
cargo +nightly install --git https://github.com/a16z/jolt --force --bins jolt --tag "$JOLT_VERSION_TAG"
|
||||
cargo +nightly install --git https://github.com/a16z/jolt --force --bins jolt --rev "$JOLT_VERSION_TAG"
|
||||
|
||||
# Install Jolt's toolchain
|
||||
jolt install-toolchain
|
||||
|
||||
@@ -28,7 +28,7 @@ ensure_tool_installed "rustup" "to manage Rust toolchains"
|
||||
ensure_tool_installed "git" "to install cargo-openvm from a git repository"
|
||||
ensure_tool_installed "cargo" "to build and install Rust packages"
|
||||
|
||||
OPENVM_CLI_VERSION_TAG="v1.4.2"
|
||||
OPENVM_CLI_VERSION_TAG="v1.4.3"
|
||||
|
||||
# Install cargo-openvm using the specified toolchain and version tag
|
||||
echo "Installing cargo-openvm (version ${OPENVM_CLI_VERSION_TAG}) from GitHub repository (openvm-org/openvm)..."
|
||||
|
||||
@@ -4,7 +4,7 @@ version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
ere-platform-jolt = { path = "../../../crates/zkvm/jolt/platform" }
|
||||
ere-platform-jolt = { path = "../../../crates/zkvm/jolt/platform", features = ["guest-std"] }
|
||||
ere-test-utils = { path = "../../../crates/test-utils" }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -3,11 +3,11 @@ use core::{
|
||||
panic::PanicInfo,
|
||||
};
|
||||
|
||||
// According to https://github.com/a16z/jolt/blob/v0.3.0-alpha/common/src/jolt_device.rs#L139
|
||||
const DEFAULT_TERMINATION_ADDR: usize = 2147475464;
|
||||
const DEFAULT_PANIC_ADDR: usize = 2147475456;
|
||||
// According to https://github.com/a16z/jolt/blob/6dcd401/common/src/jolt_device.rs#L189
|
||||
const DEFAULT_TERMINATION_ADDR: usize = 0x7FFFC008;
|
||||
const DEFAULT_PANIC_ADDR: usize = 0x7FFFC000;
|
||||
|
||||
// According to https://github.com/a16z/jolt/blob/v0.3.0-alpha/jolt-sdk/macros/src/lib.rs#L545
|
||||
// According to https://github.com/a16z/jolt/blob/6dcd401/jolt-sdk/macros/src/lib.rs#L808
|
||||
core::arch::global_asm!(
|
||||
r#"
|
||||
.global _start
|
||||
@@ -26,7 +26,7 @@ pub extern "C" fn main() {
|
||||
unsafe { core::ptr::write_volatile(DEFAULT_TERMINATION_ADDR as *mut u8, 1) };
|
||||
}
|
||||
|
||||
// According to https://github.com/a16z/jolt/blob/v0.3.0-alpha/jolt-sdk/macros/src/lib.rs#L594
|
||||
// According to https://github.com/a16z/jolt/blob/6dcd401/jolt-sdk/macros/src/lib.rs
|
||||
#[panic_handler]
|
||||
fn panic(_info: &PanicInfo) -> ! {
|
||||
unsafe { core::ptr::write_volatile(DEFAULT_PANIC_ADDR as *mut u8, 1) };
|
||||
@@ -36,7 +36,7 @@ fn panic(_info: &PanicInfo) -> ! {
|
||||
#[global_allocator]
|
||||
static ALLOCATOR: BumpAllocator = BumpAllocator;
|
||||
|
||||
// According to https://github.com/a16z/jolt/blob/v0.3.0-alpha/jolt-platform/src/alloc.rs
|
||||
// According to https://github.com/a16z/jolt/blob/6dcd401/jolt-platform/src/alloc.rs
|
||||
pub struct BumpAllocator;
|
||||
|
||||
unsafe impl GlobalAlloc for BumpAllocator {
|
||||
|
||||
@@ -35,7 +35,7 @@ fn __start(_argc: isize, _argv: *const *const u8) -> isize {
|
||||
unreachable!()
|
||||
}
|
||||
|
||||
// According to https://github.com/openvm-org/openvm/blob/v1.4.2/crates/toolchain/openvm/src/process.rs
|
||||
// According to https://github.com/openvm-org/openvm/blob/v1.4.3/crates/toolchain/openvm/src/process.rs
|
||||
#[inline(always)]
|
||||
fn terminate() {
|
||||
unsafe {
|
||||
@@ -45,7 +45,7 @@ fn terminate() {
|
||||
}
|
||||
}
|
||||
|
||||
// According to https://github.com/openvm-org/openvm/blob/v1.4.2/crates/toolchain/openvm/src/process.rs
|
||||
// According to https://github.com/openvm-org/openvm/blob/v1.4.3/crates/toolchain/openvm/src/process.rs
|
||||
#[panic_handler]
|
||||
fn panic_impl(_panic_info: &core::panic::PanicInfo) -> ! {
|
||||
unsafe {
|
||||
|
||||
Reference in New Issue
Block a user