From e7a060f2717412287332ea8f2bf86d210dd22583 Mon Sep 17 00:00:00 2001 From: clearloop <26088946+clearloop@users.noreply.github.com> Date: Sat, 23 Dec 2023 11:41:21 +0800 Subject: [PATCH] feat(workspace): move out ccli and conta (#202) * chore(deps): upgrade dependencies * chore(manifest): add release config to manifest * chore(cli): moveout ccli and conta * chore(deps): remove unused dependencies * feat(zint): remove unused result * docs(README): use cuation tip in README * feat(release): append release note * fix(RELEASES): typos * chore(lock): update Cargo.lock --- Cargo.lock | 737 ++--------------------- Cargo.toml | 44 +- README.md | 2 +- RELEASES.md | 3 + cli/cli/Cargo.toml | 16 - cli/cli/README.md | 44 -- cli/cli/src/lib.rs | 33 - cli/conta/Cargo.toml | 19 - cli/conta/README.md | 8 - cli/conta/src/bin/conta.rs | 6 - cli/conta/src/cmd/bump.rs | 52 -- cli/conta/src/cmd/mod.rs | 76 --- cli/conta/src/cmd/publish.rs | 73 --- cli/conta/src/config.rs | 10 - cli/conta/src/lib.rs | 10 - cli/conta/src/version.rs | 31 - {cli/elko => elko}/Cargo.toml | 0 {cli/elko => elko}/README.md | 0 {cli/elko => elko}/src/bin/elko.rs | 0 {cli/elko => elko}/src/build.rs | 0 {cli/elko => elko}/src/lib.rs | 0 {cli/elko => elko}/src/new.rs | 0 {cli/elko => elko}/src/utils/manifest.rs | 0 {cli/elko => elko}/src/utils/mod.rs | 0 {cli/elko => elko}/src/utils/result.rs | 0 {cli/elko => elko}/src/utils/wasm.rs | 0 zint/Cargo.toml | 1 - zint/src/api.rs | 83 --- zint/src/lib.rs | 3 - zint/src/result.rs | 27 - 30 files changed, 60 insertions(+), 1218 deletions(-) delete mode 100644 cli/cli/Cargo.toml delete mode 100644 cli/cli/README.md delete mode 100644 cli/cli/src/lib.rs delete mode 100644 cli/conta/Cargo.toml delete mode 100644 cli/conta/README.md delete mode 100644 cli/conta/src/bin/conta.rs delete mode 100644 cli/conta/src/cmd/bump.rs delete mode 100644 cli/conta/src/cmd/mod.rs delete mode 100644 cli/conta/src/cmd/publish.rs delete mode 100644 cli/conta/src/config.rs delete mode 100644 cli/conta/src/lib.rs delete mode 100644 cli/conta/src/version.rs rename {cli/elko => elko}/Cargo.toml (100%) rename {cli/elko => elko}/README.md (100%) rename {cli/elko => elko}/src/bin/elko.rs (100%) rename {cli/elko => elko}/src/build.rs (100%) rename {cli/elko => elko}/src/lib.rs (100%) rename {cli/elko => elko}/src/new.rs (100%) rename {cli/elko => elko}/src/utils/manifest.rs (100%) rename {cli/elko => elko}/src/utils/mod.rs (100%) rename {cli/elko => elko}/src/utils/result.rs (100%) rename {cli/elko => elko}/src/utils/wasm.rs (100%) delete mode 100644 zint/src/api.rs delete mode 100644 zint/src/result.rs diff --git a/Cargo.lock b/Cargo.lock index 0c256000f..fa93fc781 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -81,7 +81,7 @@ checksum = "c0391754c09fab4eae3404d19d0d297aa1c670c1775ab51d8a5312afeca23157" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.42", ] [[package]] @@ -134,9 +134,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "59d2a3357dde987206219e78ecfbbb6e8dad06cbb65292758d3270e6254f7355" [[package]] name = "arrayvec" @@ -183,12 +183,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" -[[package]] -name = "base64" -version = "0.21.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" - [[package]] name = "base64ct" version = "1.6.0" @@ -214,7 +208,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.41", + "syn 2.0.42", "which", ] @@ -263,12 +257,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "bumpalo" -version = "3.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" - [[package]] name = "byteorder" version = "1.5.0" @@ -341,6 +329,8 @@ dependencies = [ [[package]] name = "ccli" version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75d93ef90b6cd71fede89bad7702d57789ecde315277428bdd0eddd6e1c469b5" dependencies = [ "anyhow", "clap", @@ -405,7 +395,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.42", ] [[package]] @@ -492,41 +482,12 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "conta" -version = "0.0.0" -dependencies = [ - "anyhow", - "ccli", - "reqwest", - "semver", - "serde", - "toml", - "toml_edit", -] - [[package]] name = "convert_case" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" - [[package]] name = "cpufeatures" version = "0.2.11" @@ -588,7 +549,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.41", + "syn 2.0.42", ] [[package]] @@ -605,7 +566,7 @@ checksum = "587663dd5fb3d10932c8aecfe7c844db1bcf0aee93eeab08fac13dc1212c2e7f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.42", ] [[package]] @@ -665,7 +626,7 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "elko" -version = "0.1.8" +version = "0.1.9" dependencies = [ "anyhow", "cargo_metadata", @@ -706,15 +667,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" -[[package]] -name = "encoding_rs" -version = "0.8.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" -dependencies = [ - "cfg-if", -] - [[package]] name = "enumn" version = "0.1.12" @@ -723,7 +675,7 @@ checksum = "c2ad8cef1d801a4686bfd8919f0b30eac4c8e48968c437a6405ded4fb5272d2b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.42", ] [[package]] @@ -781,90 +733,12 @@ dependencies = [ "subtle", ] -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - [[package]] name = "funty" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" -[[package]] -name = "futures-channel" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" - -[[package]] -name = "futures-io" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" - -[[package]] -name = "futures-sink" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" - -[[package]] -name = "futures-task" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" - -[[package]] -name = "futures-util" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" -dependencies = [ - "futures-core", - "futures-io", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -910,25 +784,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "h2" -version = "0.3.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "hashbrown" version = "0.14.3" @@ -981,87 +836,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "http" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "hyper" -version = "0.14.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2 0.4.10", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper", - "native-tls", - "tokio", - "tokio-native-tls", -] - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "indenter" version = "0.3.3" @@ -1078,12 +852,6 @@ dependencies = [ "hashbrown", ] -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - [[package]] name = "itoa" version = "1.0.10" @@ -1099,15 +867,6 @@ dependencies = [ "libc", ] -[[package]] -name = "js-sys" -version = "0.3.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" -dependencies = [ - "wasm-bindgen", -] - [[package]] name = "k256" version = "0.13.2" @@ -1209,12 +968,6 @@ version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -1230,35 +983,6 @@ dependencies = [ "adler", ] -[[package]] -name = "mio" -version = "0.8.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" -dependencies = [ - "libc", - "wasi", - "windows-sys 0.48.0", -] - -[[package]] -name = "native-tls" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" -dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - [[package]] name = "nom" version = "7.1.3" @@ -1381,50 +1105,6 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -[[package]] -name = "openssl" -version = "0.10.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b8419dc8cc6d866deb801274bba2e6f8f6108c1bb7fcc10ee5ab864931dbb45" -dependencies = [ - "bitflags 2.4.1", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.41", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.97" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3eaad34cdd97d81de97964fc7f29e2d104f483840d906ef56daa1912338460b" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "overload" version = "0.1.1" @@ -1449,24 +1129,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - [[package]] name = "pin-project-lite" version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - [[package]] name = "pkcs8" version = "0.10.2" @@ -1477,12 +1145,6 @@ dependencies = [ "spki", ] -[[package]] -name = "pkg-config" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" - [[package]] name = "postcard" version = "1.0.8" @@ -1507,7 +1169,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ "proc-macro2", - "syn 2.0.41", + "syn 2.0.42", ] [[package]] @@ -1536,9 +1198,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.70" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8" dependencies = [ "unicode-ident", ] @@ -1662,44 +1324,6 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" -[[package]] -name = "reqwest" -version = "0.11.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" -dependencies = [ - "base64", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-tls", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "system-configuration", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - [[package]] name = "revm" version = "3.5.0" @@ -1847,15 +1471,6 @@ version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" -[[package]] -name = "schannel" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" -dependencies = [ - "windows-sys 0.48.0", -] - [[package]] name = "scratch" version = "1.0.7" @@ -1894,29 +1509,6 @@ dependencies = [ "cc", ] -[[package]] -name = "security-framework" -version = "2.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "semver" version = "1.0.20" @@ -1943,7 +1535,7 @@ checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.42", ] [[package]] @@ -1966,18 +1558,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - [[package]] name = "sha2" version = "0.10.8" @@ -2024,15 +1604,6 @@ dependencies = [ "rand_core", ] -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - [[package]] name = "smallvec" version = "1.11.2" @@ -2048,33 +1619,13 @@ dependencies = [ "serde", ] -[[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "socket2" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "sol-abi" version = "0.0.1" dependencies = [ "quote", "serde", - "syn 2.0.41", + "syn 2.0.42", ] [[package]] @@ -2150,36 +1701,15 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.41" +version = "2.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269" +checksum = "5b7d0a2c048d661a1a59fcd7355baa232f7ed34e0ee4df2eef3c1c1c0d3852d8" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "tap" version = "1.0.1" @@ -2225,7 +1755,7 @@ checksum = "01742297787513b79cf8e29d1056ede1313e2420b7b3b15d0a768b4921f549df" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.42", ] [[package]] @@ -2256,61 +1786,6 @@ dependencies = [ "crunchy", ] -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "num_cpus", - "pin-project-lite", - "socket2 0.5.5", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - [[package]] name = "toml" version = "0.8.8" @@ -2345,12 +1820,6 @@ dependencies = [ "winnow", ] -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - [[package]] name = "tracing" version = "0.1.40" @@ -2370,7 +1839,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.42", ] [[package]] @@ -2422,12 +1891,6 @@ dependencies = [ "tracing-log", ] -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - [[package]] name = "typenum" version = "1.17.0" @@ -2440,44 +1903,18 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicode-bidi" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" - [[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - [[package]] name = "unicode-width" version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" -[[package]] -name = "url" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - [[package]] name = "utf8parse" version = "0.2.1" @@ -2490,99 +1927,18 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "version_check" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -[[package]] -name = "wasm-bindgen" -version = "0.2.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.41", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.41", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" - [[package]] name = "wasm-encoder" version = "0.38.1" @@ -2663,16 +2019,6 @@ dependencies = [ "wast", ] -[[package]] -name = "web-sys" -version = "0.3.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - [[package]] name = "which" version = "4.4.2" @@ -2857,16 +2203,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "wyz" version = "0.5.1" @@ -2878,35 +2214,35 @@ dependencies = [ [[package]] name = "zabi" -version = "0.1.8" +version = "0.1.9" dependencies = [ "hex", "postcard", "serde", "sha3", "sol-abi", - "syn 2.0.41", + "syn 2.0.42", "thiserror", ] [[package]] name = "zerocopy" -version = "0.7.31" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c4061bedbb353041c12f413700357bec76df2c7e2ca8e4df8bac24c6bf68e3d" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.31" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3c129550b3e6de3fd0ba67ba5c81818f9805e58b8d7fee80a3a59d2c9fc601a" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.42", ] [[package]] @@ -2926,12 +2262,12 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.42", ] [[package]] name = "zingen" -version = "0.1.8" +version = "0.1.9" dependencies = [ "anyhow", "evm-opcodes", @@ -2946,7 +2282,7 @@ dependencies = [ [[package]] name = "zink" -version = "0.1.8" +version = "0.1.9" dependencies = [ "anyhow", "paste", @@ -2957,17 +2293,17 @@ dependencies = [ [[package]] name = "zink-codegen" -version = "0.1.8" +version = "0.1.9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.42", "zabi", ] [[package]] name = "zinkc" -version = "0.1.8" +version = "0.1.9" dependencies = [ "anyhow", "ccli", @@ -2987,13 +2323,13 @@ dependencies = [ [[package]] name = "zinkc-filetests" -version = "0.1.8" +version = "0.1.9" dependencies = [ "anyhow", "cargo_metadata", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.42", "tracing", "tracing-subscriber", "wat", @@ -3002,7 +2338,7 @@ dependencies = [ [[package]] name = "zint" -version = "0.1.8" +version = "0.1.9" dependencies = [ "anyhow", "cargo_metadata", @@ -3015,7 +2351,6 @@ dependencies = [ "toml", "tracing", "tracing-subscriber", - "url", "zabi", "zinkc", ] diff --git a/Cargo.toml b/Cargo.toml index f93da0204..b42d87ede 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,14 @@ +[profile] +dev = { panic = "abort"} +release = { panic = "unwind" } + [workspace] members = [ "abi", - "cli/*", "codegen", "compiler", "compiler/filetests", + "elko", "evm/opcodes", "evm/abi", "zink/codegen", @@ -13,7 +17,7 @@ members = [ resolver = "2" [workspace.package] -version = "0.1.8" +version = "0.1.9" authors = ["clearloop"] edition = "2021" license = "GPL-3.0-only" @@ -21,54 +25,46 @@ homepage = "https://github.com/clearloop/zink" repository = "https://github.com/clearloop/zink.git" [workspace.dependencies] -anyhow = "1.0.75" +anyhow = "1.0.76" cargo_metadata = "0.18.1" +ccli = "0.0.1" clap = "4.4.11" -color-eyre = "0.6.2" colored = "2.1.0" etc = "0.1.16" hex = "0.4.3" indexmap = "2.1.0" paste = "1.0.14" postcard = { version = "1.0.8", default-features = false } -proc-macro2 = "1.0.70" +proc-macro2 = "1.0.71" quote = "1.0.33" revm = "3.5.0" -reqwest = { version = "0.11.22", default-features = false } semver = "1.0.20" serde = { version = "1.0.193", default-features = false } serde_json = "1.0.108" sha3 = "0.10.8" smallvec = "1.11.2" -syn = { version = "2.0.41", features = [ "full" ] } +syn = { version = "2.0.42", features = [ "full" ] } thiserror = "1.0.51" toml = "0.8.8" -toml_edit = "0.21.0" tracing = "0.1.40" tracing-subscriber = "0.3.18" -url = "2.5.0" wasm-opt = "0.116.0" wasmparser = "0.118.1" wat = "1.0.82" -## Local packages -ccli = { path = "cli/cli", version = "=0.0.1" } -sol-abi = { path = "evm/abi", version = "=0.0.1" } +## EVM packages opcodes = { package = "evm-opcodes", path = "evm/opcodes", version = "=0.0.3", features = [ "data" ] } +sol-abi = { path = "evm/abi", version = "=0.0.1" } ## Zink packages -elko = { path = "cli/elko", version = "0.1.8" } -zabi = { path = "abi", version = "0.1.8" } -zingen = { path = "codegen", version = "0.1.8" } -zinkc = { path = "compiler", version = "0.1.8" } -filetests = { package = "zinkc-filetests", path = "compiler/filetests", version = "0.1.8" } -zink = { path = ".", version = "0.1.8" } -zink-codegen = { path = "zink/codegen", version = "0.1.8" } -zint = { path = "zint", version = "0.1.8" } - -[profile] -dev = { panic = "abort"} -release = { panic = "unwind" } +elko = { path = "elko", version = "0.1.9" } +filetests = { package = "zinkc-filetests", path = "compiler/filetests", version = "0.1.9" } +zabi = { path = "abi", version = "0.1.9" } +zingen = { path = "codegen", version = "0.1.9" } +zink = { path = ".", version = "0.1.9" } +zink-codegen = { path = "zink/codegen", version = "0.1.9" } +zinkc = { path = "compiler", version = "0.1.9" } +zint = { path = "zint", version = "0.1.9" } # Zink Programming Language # ------------------------- diff --git a/README.md b/README.md index 079006cd3..eab7ad2c6 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # The Zink Project -> **Warning** +> [!CAUTION] > > This project is still under active development, plz DO NOT use it in production. diff --git a/RELEASES.md b/RELEASES.md index 2ebb20dcb..e713d2a3f 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -5,6 +5,9 @@ - Refactor conta with `toml_edit` - Optional exports wasm-opt from zinkc - Use full revm instead of ethers in zint +- Remove ethers +- Move out ccli and conta +- Use `anyhow::Result` instead for the result of `zint` ### FIXED diff --git a/cli/cli/Cargo.toml b/cli/cli/Cargo.toml deleted file mode 100644 index 17caab0d7..000000000 --- a/cli/cli/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "ccli" -description = "Common command line interface" -documentation = "https://docs.rs/ccli" -version = "0.0.1" -authors.workspace = true -edition.workspace = true -license.workspace = true -homepage.workspace = true -repository.workspace = true - -[dependencies] -anyhow.workspace = true -clap = { workspace = true, features = [ "derive" ] } -color-eyre.workspace = true -tracing-subscriber = { workspace = true, features = [ "env-filter" ] } diff --git a/cli/cli/README.md b/cli/cli/README.md deleted file mode 100644 index 6128efd89..000000000 --- a/cli/cli/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# `ccli` - -Common command line interface. - -```rust -//! Common command line interface. - -use anyhow::Error; -pub use clap::{self, Parser}; -pub use color_eyre::{eyre::eyre, Result}; -use tracing_subscriber::filter::EnvFilter; - -/// Shared application interface. -pub trait App: Parser { - /// Verbose logging level. - fn verbose(&self) -> u8; - - /// Run application. - fn run(&self) -> anyhow::Result<()>; - - /// Start application. - fn start() -> Result<()> { - color_eyre::install()?; - - let app = Self::parse(); - let name = Self::command().get_name().to_string(); - let env = - EnvFilter::try_from_default_env().unwrap_or(EnvFilter::new(match app.verbose() { - 0 => format!("{name}=info"), - 1 => format!("{name}=debug"), - 2 => "debug".into(), - _ => "trace".into(), - })); - - tracing_subscriber::fmt().with_env_filter(env).init(); - app.run().map_err(|e| eyre!("Failed to run app, {e}"))?; - Ok(()) - } -} -``` - -## LICENSE - -GPL-3.0 diff --git a/cli/cli/src/lib.rs b/cli/cli/src/lib.rs deleted file mode 100644 index 8224cff91..000000000 --- a/cli/cli/src/lib.rs +++ /dev/null @@ -1,33 +0,0 @@ -//! Common command line interface. - -pub use clap::{self, Parser}; -pub use color_eyre::{eyre::eyre, Result}; -use tracing_subscriber::filter::EnvFilter; - -/// Shared application interface. -pub trait App: Parser { - /// Verbose logging level. - fn verbose(&self) -> u8; - - /// Run application. - fn run(&self) -> anyhow::Result<()>; - - /// Start application. - fn start() -> Result<()> { - color_eyre::install()?; - - let app = Self::parse(); - let name = Self::command().get_name().to_string(); - let env = - EnvFilter::try_from_default_env().unwrap_or(EnvFilter::new(match app.verbose() { - 0 => format!("{name}=info"), - 1 => format!("{name}=debug"), - 2 => "debug".into(), - _ => "trace".into(), - })); - - tracing_subscriber::fmt().with_env_filter(env).init(); - app.run().map_err(|e| eyre!("Failed to run app, {e}"))?; - Ok(()) - } -} diff --git a/cli/conta/Cargo.toml b/cli/conta/Cargo.toml deleted file mode 100644 index 2779ced2a..000000000 --- a/cli/conta/Cargo.toml +++ /dev/null @@ -1,19 +0,0 @@ -[package] -name = "conta" -description = "Tool for bumping and publishing crates." -documentation = "https://docs.rs/conta" -version = "0.0.0" -authors.workspace = true -edition.workspace = true -license.workspace = true -homepage.workspace = true -repository.workspace = true - -[dependencies] -anyhow.workspace = true -ccli.workspace = true -reqwest = { workspace = true, features = [ "blocking", "json", "default-tls" ] } -semver.workspace = true -serde = { workspace = true, features = [ "derive" ] } -toml.workspace = true -toml_edit.workspace = true diff --git a/cli/conta/README.md b/cli/conta/README.md deleted file mode 100644 index 12ba9b985..000000000 --- a/cli/conta/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# Hexaconta - -Back to 3000 years ago in Zhou dynasty, the king of Zhou rides carriage -with 6 horses, now, ride your crates with 6 horses like the king! - -## LICENSE - -GPL-3.0-only diff --git a/cli/conta/src/bin/conta.rs b/cli/conta/src/bin/conta.rs deleted file mode 100644 index 643df0988..000000000 --- a/cli/conta/src/bin/conta.rs +++ /dev/null @@ -1,6 +0,0 @@ -use ccli::{App, Result}; -use conta::Conta; - -fn main() -> Result<()> { - Conta::start() -} diff --git a/cli/conta/src/cmd/bump.rs b/cli/conta/src/cmd/bump.rs deleted file mode 100644 index 90cc27c36..000000000 --- a/cli/conta/src/cmd/bump.rs +++ /dev/null @@ -1,52 +0,0 @@ -//! Command bump -use crate::Config; -use anyhow::{anyhow, Result}; -use ccli::clap::{self, Parser}; -use semver::Version; -use std::{fs, path::PathBuf, str::FromStr}; -use toml_edit::Document; - -/// Bump versions. -#[derive(Debug, Parser, Clone)] -pub struct Bump { - /// The version to bump. - version: Version, - - /// Dry run the command and print the result. - #[clap(short, long, value_name = "dry-run")] - dry_run: bool, -} - -impl Bump { - /// Bumps the version to the given one. - /// - /// NOTE: This implementation only works for workspace - /// for now. - pub fn run(&self, manifest: &PathBuf, config: Config) -> Result<()> { - let mut workspace = Document::from_str(&std::fs::read_to_string(manifest)?)?; - let version = self.version.to_string(); - workspace["workspace"]["package"]["version"] = toml_edit::value(version.clone()); - - if self.dry_run { - println!("{workspace}"); - return Ok(()); - } - - let Some(deps) = workspace["workspace"]["dependencies"].as_table_mut() else { - return Err(anyhow!( - "Failed to parse dependencies from workspace {manifest:?}" - )); - }; - - for package in config.packages { - if !deps.contains_key(&package) { - return Err(anyhow!("package {} not found", package)); - } - - deps[&package]["version"] = toml_edit::value(version.clone()); - } - - fs::write(manifest, workspace.to_string())?; - Ok(()) - } -} diff --git a/cli/conta/src/cmd/mod.rs b/cli/conta/src/cmd/mod.rs deleted file mode 100644 index 8499746ab..000000000 --- a/cli/conta/src/cmd/mod.rs +++ /dev/null @@ -1,76 +0,0 @@ -pub use crate::{ - cmd::{bump::Bump, publish::Publish}, - Config, -}; -use anyhow::Result; -use ccli::{ - clap::{self, Parser}, - App, -}; -use std::{fs, path::PathBuf}; - -mod bump; -mod publish; - -/// Commands of this tool. -#[derive(Debug, Parser, Clone)] -pub enum Command { - Bump(Bump), - Publish(Publish), -} - -/// Modern tool for bumping crate versions and -/// publishing them. -#[derive(Debug, Parser, Clone)] -pub struct Conta { - /// The path of the cargo manifest, if not provided, the - /// current directory is used. - #[clap(short, long)] - manifest: Option, - - /// The path of `Conta.toml` - #[clap(short, long)] - config: Option, - - /// The command to run. - #[clap(subcommand)] - command: Command, -} - -impl Conta { - /// Get the manifest path. - pub fn manifest(&self) -> PathBuf { - if let Some(p) = &self.manifest { - p.into() - } else { - PathBuf::from("Cargo.toml") - } - } - - /// Parse the config from the input path. - pub fn config(&self) -> Result { - let path = if let Some(p) = &self.config { - p.into() - } else { - PathBuf::from("Conta.toml") - }; - - toml::from_str(&fs::read_to_string(path)?).map_err(Into::into) - } -} - -impl App for Conta { - fn verbose(&self) -> u8 { - 0 - } - - fn run(&self) -> Result<()> { - let manifest = self.manifest(); - let config = self.config()?; - - match &self.command { - Command::Bump(bump) => bump.run(&manifest, config), - Command::Publish(publish) => publish.run(&manifest, config.packages), - } - } -} diff --git a/cli/conta/src/cmd/publish.rs b/cli/conta/src/cmd/publish.rs deleted file mode 100644 index 0642fc042..000000000 --- a/cli/conta/src/cmd/publish.rs +++ /dev/null @@ -1,73 +0,0 @@ -//! Command publish - -use crate::version; -use anyhow::{anyhow, Result}; -use ccli::clap::{self, Parser}; -use core::str::FromStr; -use std::{path::PathBuf, process::Command}; -use toml_edit::Document; - -/// Publish crates. -#[derive(Debug, Parser, Clone)] -pub struct Publish; - -impl Publish { - /// Run publish - pub fn run(&self, manifest: &PathBuf, packages: Vec) -> Result<()> { - let pkgs = self.verify(manifest, packages)?; - - for pkg in pkgs { - if !self.publish(&pkg)? { - return Err(anyhow!("Failed to publish {pkg}")); - } - } - - Ok(()) - } - - /// Publish cargo package - fn publish(&self, package: &str) -> Result { - Command::new("cargo") - .arg("publish") - .arg("-p") - .arg(package) - .arg("--allow-dirty") - .status() - .map(|status| status.success()) - .map_err(|err| err.into()) - } - - fn verify(&self, manifest: &PathBuf, packages: Vec) -> Result> { - let workspace = Document::from_str(&std::fs::read_to_string(manifest)?)?; - let version = workspace["workspace"]["package"]["version"] - .as_str() - .ok_or_else(|| anyhow!("Failed to parse version from workspace {manifest:?}"))?; - - let Some(deps) = workspace["workspace"]["dependencies"].as_table() else { - return Err(anyhow!( - "Failed to parse dependencies from workspace {manifest:?}" - )); - }; - - let mut unpublished = vec![]; - for package in packages { - if !deps.contains_key(&package) { - continue; - } - - let name = deps[&package] - .get("package") - .and_then(|p| p.as_str()) - .unwrap_or(&package); - - if version::verify(name, version)? { - println!("Package {name}@{version} has already been published."); - continue; - } - - unpublished.push(name.into()); - } - - Ok(unpublished) - } -} diff --git a/cli/conta/src/config.rs b/cli/conta/src/config.rs deleted file mode 100644 index a5f170fac..000000000 --- a/cli/conta/src/config.rs +++ /dev/null @@ -1,10 +0,0 @@ -//! Conta Configuration -use serde::{Deserialize, Serialize}; - -/// Conta configuration. -#[derive(Serialize, Deserialize, Debug)] -pub struct Config { - /// The packages should be kept in order by the - /// dependency graph. - pub packages: Vec, -} diff --git a/cli/conta/src/lib.rs b/cli/conta/src/lib.rs deleted file mode 100644 index 617454792..000000000 --- a/cli/conta/src/lib.rs +++ /dev/null @@ -1,10 +0,0 @@ -//! The library of conta - -pub use crate::{ - cmd::{Bump, Conta, Publish}, - config::Config, -}; - -mod cmd; -mod config; -mod version; diff --git a/cli/conta/src/version.rs b/cli/conta/src/version.rs deleted file mode 100644 index a587cab1f..000000000 --- a/cli/conta/src/version.rs +++ /dev/null @@ -1,31 +0,0 @@ -//! Crate version verifier - -use anyhow::Result; -use serde::Deserialize; - -#[derive(Debug, Deserialize)] -struct Resp { - pub versions: Vec, -} - -#[derive(Debug, Deserialize)] -struct Version { - pub num: String, -} - -/// Verify if the package has already been published. -pub fn verify(name: &str, version: &str) -> Result { - let client = reqwest::blocking::Client::builder() - .user_agent("conta") - .build()?; - - if let Ok(resp) = client - .get(format!("https://crates.io/api/v1/crates/{name}/versions")) - .send()? - .json::() - { - return Ok(resp.versions.into_iter().any(|v| v.num == version)); - } - - Ok(false) -} diff --git a/cli/elko/Cargo.toml b/elko/Cargo.toml similarity index 100% rename from cli/elko/Cargo.toml rename to elko/Cargo.toml diff --git a/cli/elko/README.md b/elko/README.md similarity index 100% rename from cli/elko/README.md rename to elko/README.md diff --git a/cli/elko/src/bin/elko.rs b/elko/src/bin/elko.rs similarity index 100% rename from cli/elko/src/bin/elko.rs rename to elko/src/bin/elko.rs diff --git a/cli/elko/src/build.rs b/elko/src/build.rs similarity index 100% rename from cli/elko/src/build.rs rename to elko/src/build.rs diff --git a/cli/elko/src/lib.rs b/elko/src/lib.rs similarity index 100% rename from cli/elko/src/lib.rs rename to elko/src/lib.rs diff --git a/cli/elko/src/new.rs b/elko/src/new.rs similarity index 100% rename from cli/elko/src/new.rs rename to elko/src/new.rs diff --git a/cli/elko/src/utils/manifest.rs b/elko/src/utils/manifest.rs similarity index 100% rename from cli/elko/src/utils/manifest.rs rename to elko/src/utils/manifest.rs diff --git a/cli/elko/src/utils/mod.rs b/elko/src/utils/mod.rs similarity index 100% rename from cli/elko/src/utils/mod.rs rename to elko/src/utils/mod.rs diff --git a/cli/elko/src/utils/result.rs b/elko/src/utils/result.rs similarity index 100% rename from cli/elko/src/utils/result.rs rename to elko/src/utils/result.rs diff --git a/cli/elko/src/utils/wasm.rs b/elko/src/utils/wasm.rs similarity index 100% rename from cli/elko/src/utils/wasm.rs rename to elko/src/utils/wasm.rs diff --git a/zint/Cargo.toml b/zint/Cargo.toml index 96af7d5f7..02ca6cb80 100644 --- a/zint/Cargo.toml +++ b/zint/Cargo.toml @@ -21,6 +21,5 @@ thiserror.workspace = true tracing.workspace = true tracing-subscriber = { workspace = true, features = ["env-filter"]} toml.workspace = true -url.workspace = true zabi.workspace = true zinkc = { workspace = true, features = [ "utils" ] } diff --git a/zint/src/api.rs b/zint/src/api.rs deleted file mode 100644 index ccc885f99..000000000 --- a/zint/src/api.rs +++ /dev/null @@ -1,83 +0,0 @@ -//! Zink ethers integration. -#![cfg(feature = "ethers")] - -use crate::Result; -pub use ethers; -use ethers::{ - abi::Abi, - contract::ContractFactory, - middleware::SignerMiddleware, - providers::{Http, Provider}, - signers::{LocalWallet, Signer as _}, - utils::{Anvil, AnvilInstance}, -}; -use std::{str::FromStr, sync::Arc, time::Duration}; - -/// Ethers signer middleware. -pub type Signer = SignerMiddleware, LocalWallet>; - -/// Ethers API. -pub struct Ethers { - /// Ethers signer middleware. - signer: Arc, - - /// Anvil instance - /// - /// TODO: make this field testing only. - anvil: Option, -} - -impl Ethers { - /// Get signer from API. - pub fn signer(&self) -> Arc { - self.signer.clone() - } - - /// Create a new API instance with anvil. - pub fn anvil() -> Result { - let anvil = Anvil::new().spawn(); - - let mut api = Self::new( - &anvil.endpoint(), - &hex::encode(anvil.keys()[0].clone().to_bytes()), - Some(anvil.chain_id()), - )?; - - api.anvil = Some(anvil); - Ok(api) - } - - /// Create a new API instance with http. - pub fn new(uri: &str, key: &str, chain_id: Option) -> Result { - let wallet = { - let wallet = LocalWallet::from_str(key)?; - if let Some(chain_id) = chain_id { - wallet.with_chain_id(chain_id) - } else { - wallet - } - }; - - let provider = - Provider::::try_from(uri.to_string())?.interval(Duration::from_millis(10)); - let signer = Arc::new(SignerMiddleware::new(provider, wallet)); - - Ok(Self { - anvil: None, - signer, - }) - } - - /// Create a new contract factory. - pub fn factory( - &self, - contract: Abi, - bytecode: impl AsRef<[u8]>, - ) -> Result> { - Ok(ContractFactory::new( - contract, - Vec::::from(bytecode.as_ref()).into(), - self.signer.clone(), - )) - } -} diff --git a/zint/src/lib.rs b/zint/src/lib.rs index 3ec2bf1bb..1f91fabb8 100644 --- a/zint/src/lib.rs +++ b/zint/src/lib.rs @@ -1,17 +1,14 @@ //! Zink testing framework. #![deny(missing_docs)] -mod api; mod bytes; mod contract; mod evm; -mod result; pub use self::{ bytes::Bytes32, contract::Contract, evm::{Info, EVM}, - result::Result, }; pub use hex; pub use revm::primitives::{Halt, OutOfGasError, U256}; diff --git a/zint/src/result.rs b/zint/src/result.rs deleted file mode 100644 index b53ccbee2..000000000 --- a/zint/src/result.rs +++ /dev/null @@ -1,27 +0,0 @@ -//! Zink sdk results. - -/// Zint error. -#[derive(thiserror::Error, Debug)] -pub enum Error { - #[cfg(feature = "ethers")] - /// Ethers abi error. - #[error(transparent)] - Abi(#[from] ethers::abi::AbiError), - /// Anyhow error. - #[error(transparent)] - Anyhow(#[from] anyhow::Error), - #[cfg(feature = "ethers")] - /// Ethers contract error. - #[error(transparent)] - Contract(#[from] ethers::middleware::contract::ContractError), - /// Url parser error. - #[error(transparent)] - Url(#[from] url::ParseError), - #[cfg(feature = "ethers")] - /// Ethers wallet error. - #[error(transparent)] - Wallet(#[from] ethers::signers::WalletError), -} - -/// Zint result. -pub type Result = std::result::Result;