diff --git a/CHANGELOG.md b/CHANGELOG.md index a8d7f2df..f4f973f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] ### Added +- [\#228](https://github.com/Manta-Network/manta-signer/pull/228) Adding support for new V3 protocol(AES) and bug fixes (UI). - [\#215](https://github.com/Manta-Network/manta-signer/pull/215) Added signer redesign UI, account deletion and recovery. ### Changed diff --git a/Cargo.lock b/Cargo.lock index e42b4bca..6040486d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,12 +8,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "adler32" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" - [[package]] name = "aead" version = "0.3.2" @@ -151,9 +145,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.19" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] @@ -169,9 +163,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +checksum = "7724808837b77f4b4de9d283820f9d98bcf496d5692934b857a2399d31ff22e6" [[package]] name = "argon2" @@ -180,7 +174,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db4ce4441f99dbd377ca8a8f57b698c44d0d6e712d8329b5040da5a64aa1ce73" dependencies = [ "base64ct", - "blake2 0.10.4", + "blake2 0.10.6", "password-hash", ] @@ -426,9 +420,9 @@ dependencies = [ [[package]] name = "async-channel" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28" +checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" dependencies = [ "concurrent-queue", "event-listener", @@ -447,15 +441,15 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" +checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b" dependencies = [ + "async-lock", "async-task", "concurrent-queue", "fastrand", "futures-lite", - "once_cell", "slab", ] @@ -493,9 +487,9 @@ dependencies = [ [[package]] name = "async-io" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8121296a9f05be7f34aa4196b1747243b3b62e048bb7906f644f3fbfc490cf7" +checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794" dependencies = [ "async-lock", "autocfg", @@ -508,7 +502,7 @@ dependencies = [ "slab", "socket2", "waker-fn", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -523,20 +517,20 @@ dependencies = [ [[package]] name = "async-process" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02111fd8655a613c25069ea89fc8d9bb89331fa77486eb3bc059ee757cfa481c" +checksum = "6381ead98388605d0d9ff86371043b5aa922a3905824244de40dc263a14fcba4" dependencies = [ "async-io", + "async-lock", "autocfg", "blocking", "cfg-if", "event-listener", "futures-lite", "libc", - "once_cell", "signal-hook", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -589,9 +583,9 @@ checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" [[package]] name = "async-trait" -version = "0.1.58" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" +checksum = "677d1d8ab452a3936018a687b20e6f7cf5363d713b732b8884001317b0e48aa3" dependencies = [ "proc-macro2", "quote", @@ -724,25 +718,25 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.4" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] name = "blake3" -version = "1.3.1" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f" +checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef" dependencies = [ "arrayref", "arrayvec", "cc", "cfg-if", "constant_time_eq", - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -778,16 +772,16 @@ checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" [[package]] name = "blocking" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6ccb65d468978a086b69884437ded69a90faab3bbe6e67f242173ea728acccc" +checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8" dependencies = [ "async-channel", + "async-lock", "async-task", "atomic-waker", "fastrand", "futures-lite", - "once_cell", ] [[package]] @@ -816,9 +810,9 @@ checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "bytemuck" -version = "1.12.2" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aec14f5d4e6e3f927cd0c81f72e5710d95ee9019fbeb4b3021193867491bfd8" +checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f" [[package]] name = "byteorder" @@ -828,19 +822,13 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" dependencies = [ "serde", ] -[[package]] -name = "cache-padded" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c" - [[package]] name = "cairo-rs" version = "0.15.12" @@ -867,20 +855,19 @@ dependencies = [ [[package]] name = "cargo_toml" -version = "0.11.8" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e72c3ff59e3b7d24630206bb63a73af65da4ed5df1f76ee84dfafb9fee2ba60e" +checksum = "aa0e3586af56b3bfa51fca452bd56e8dbbbd5d8d81cbf0b7e4e35b695b537eb8" dependencies = [ "serde", - "serde_derive", "toml", ] [[package]] name = "cc" -version = "1.0.74" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581f5dba903aac52ea3feb5ec4810848460ee833876f1f9b0fdeab1f19091574" +checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" [[package]] name = "cesu8" @@ -948,9 +935,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ "iana-time-zone", "num-integer", @@ -1061,11 +1048,11 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "1.2.4" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c" +checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b" dependencies = [ - "cache-padded", + "crossbeam-utils", ] [[package]] @@ -1082,9 +1069,9 @@ checksum = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935" [[package]] name = "constant_time_eq" -version = "0.1.5" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +checksum = "f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279" [[package]] name = "convert_case" @@ -1186,9 +1173,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" +checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" dependencies = [ "cfg-if", ] @@ -1331,9 +1318,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.80" +version = "1.0.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b7d4e43b25d3c994662706a1d4fcfc32aaa6afd287502c111b237093bb23f3a" +checksum = "27874566aca772cb515af4c6e997b5fe2119820bca447689145e39bb734d19a0" dependencies = [ "cc", "cxxbridge-flags", @@ -1343,9 +1330,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.80" +version = "1.0.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f8829ddc213e2c1368e51a2564c552b65a8cb6a28f31e576270ac81d5e5827" +checksum = "e7bb951f2523a49533003656a72121306b225ec16a49a09dc6b0ba0d6f3ec3c0" dependencies = [ "cc", "codespan-reporting", @@ -1358,15 +1345,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.80" +version = "1.0.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e72537424b474af1460806647c41d4b6d35d09ef7fe031c5c2fa5766047cc56a" +checksum = "be778b6327031c1c7b61dd2e48124eee5361e6aa76b8de93692f011b08870ab4" [[package]] name = "cxxbridge-macro" -version = "1.0.80" +version = "1.0.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309e4fb93eed90e1e14bea0da16b209f81813ba9fc7830c20ed151dd7bc0a4d7" +checksum = "7b8a2b87662fe5a0a0b38507756ab66aff32638876a0866e5a5fc82ceb07ee49" dependencies = [ "proc-macro2", "quote", @@ -1408,16 +1395,6 @@ dependencies = [ "syn", ] -[[package]] -name = "deflate" -version = "0.7.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707b6a7b384888a70c8d2e8650b3e60170dfc6a67bb4aa67b6dfca57af4bedb4" -dependencies = [ - "adler32", - "byteorder", -] - [[package]] name = "der" version = "0.5.1" @@ -1462,9 +1439,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer 0.10.3", "crypto-common", @@ -1519,6 +1496,12 @@ dependencies = [ "dtoa", ] +[[package]] +name = "dunce" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c" + [[package]] name = "ecdsa" version = "0.13.4" @@ -1625,9 +1608,9 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3" +checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" dependencies = [ "cfg-if", "libc", @@ -1637,12 +1620,12 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" dependencies = [ "crc32fast", - "miniz_oxide 0.5.4", + "miniz_oxide", ] [[package]] @@ -1868,15 +1851,15 @@ dependencies = [ [[package]] name = "generator" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc184cace1cea8335047a471cc1da80f18acf8a76f3bab2028d499e328948ec7" +checksum = "d266041a359dfa931b370ef684cceb84b166beb14f7f0421f4a6a3d0c446d12e" dependencies = [ "cc", "libc", "log", "rustversion", - "windows 0.32.0", + "windows 0.39.0", ] [[package]] @@ -2046,9 +2029,9 @@ dependencies = [ [[package]] name = "gloo-timers" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fb7d06c1c8cc2a29bee7ec961009a0b2caa0793ee4900c2ffb348734ba1c8f9" +checksum = "98c4a8d6391675c6b2ee1a6c8d06e8e2d03605c44cec1270675985a4c2a5500b" dependencies = [ "futures-channel", "futures-core", @@ -2233,7 +2216,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -2258,7 +2241,7 @@ checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes", "fnv", - "itoa 1.0.4", + "itoa 1.0.5", ] [[package]] @@ -2326,9 +2309,9 @@ checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "hyper" -version = "0.14.22" +version = "0.14.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfba89e19b959ca163c7752ba59d737c1ceea53a5d31a149c805446fc958064" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" dependencies = [ "bytes", "futures-channel", @@ -2339,7 +2322,7 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa 1.0.4", + "itoa 1.0.5", "pin-project-lite 0.2.9", "socket2", "tokio", @@ -2387,12 +2370,12 @@ dependencies = [ [[package]] name = "ico" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a4b3331534254a9b64095ae60d3dc2a8225a7a70229cd5888be127cdc1f6804" +checksum = "031530fe562d8c8d71c0635013d6d155bbfe8ba0aa4b4d2d24ce8af6b71047bd" dependencies = [ "byteorder", - "png 0.11.0", + "png", ] [[package]] @@ -2431,9 +2414,9 @@ dependencies = [ [[package]] name = "image" -version = "0.24.4" +version = "0.24.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd8e4fb07cf672b1642304e731ef8a6a4c7891d67bb4fd4f5ce58cd6ed86803c" +checksum = "69b7ea949b537b0fd0af141fff8c77690f2ce96f4f41f042ccb6c69c6c965945" dependencies = [ "bytemuck", "byteorder", @@ -2444,9 +2427,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown 0.12.3", @@ -2467,15 +2450,6 @@ dependencies = [ "cfb", ] -[[package]] -name = "inflate" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5f9f47468e9a76a6452271efadc88fe865a82be91fe75e6c0c57b87ccea59d4" -dependencies = [ - "adler32", -] - [[package]] name = "inout" version = "0.1.3" @@ -2496,9 +2470,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.5.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" +checksum = "11b0d96e660696543b251e58030cf9787df56da39dab19ad60eae7353040917e" [[package]] name = "itoa" @@ -2508,9 +2482,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "itoa" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "javascriptcore-rs" @@ -2537,9 +2511,9 @@ dependencies = [ [[package]] name = "jni" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" dependencies = [ "cesu8", "combine", @@ -2566,9 +2540,9 @@ dependencies = [ [[package]] name = "json-patch" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f995a3c8f2bc3dd52a18a583e90f9ec109c047fa1603a853e46bcda14d2e279d" +checksum = "eb3fa5a61630976fc4c353c70297f2e93f1930e3ccee574d59d618ccbd5154ce" dependencies = [ "serde", "serde_json", @@ -2591,9 +2565,12 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" +checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +dependencies = [ + "cpufeatures", +] [[package]] name = "kuchiki" @@ -2648,15 +2625,15 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.137" +version = "0.2.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" [[package]] name = "libloading" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" dependencies = [ "cfg-if", "winapi", @@ -2673,9 +2650,9 @@ dependencies = [ [[package]] name = "link-cplusplus" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" dependencies = [ "cc", ] @@ -2732,8 +2709,8 @@ dependencies = [ [[package]] name = "manta-accounting" -version = "0.5.7" -source = "git+https://github.com/manta-network/manta-rs?tag=v0.5.7#0afc8d43b55ab2504a85ffe1e3ca59f242282385" +version = "0.5.8" +source = "git+https://github.com/manta-network/manta-rs?branch=fix-asset-value-display#7375382441982d14568dfa42d102c4f7f0232f28" dependencies = [ "bitflags", "cocoon", @@ -2746,8 +2723,8 @@ dependencies = [ [[package]] name = "manta-crypto" -version = "0.5.7" -source = "git+https://github.com/manta-network/manta-rs?tag=v0.5.7#0afc8d43b55ab2504a85ffe1e3ca59f242282385" +version = "0.5.8" +source = "git+https://github.com/manta-network/manta-rs?branch=fix-asset-value-display#7375382441982d14568dfa42d102c4f7f0232f28" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -2755,12 +2732,16 @@ dependencies = [ "ark-ed-on-bls12-381", "ark-ed-on-bn254", "ark-ff", + "ark-groth16", "ark-r1cs-std", "ark-relations", "ark-serialize", + "ark-snark", + "ark-std", "derivative", "ed25519-dalek", "manta-util", + "num-integer", "rand 0.8.5", "rand_chacha 0.3.1", "rand_core 0.6.4", @@ -2768,8 +2749,8 @@ dependencies = [ [[package]] name = "manta-parameters" -version = "0.5.7" -source = "git+https://github.com/manta-network/manta-rs?tag=v0.5.7#0afc8d43b55ab2504a85ffe1e3ca59f242282385" +version = "0.5.8" +source = "git+https://github.com/manta-network/manta-rs?branch=fix-asset-value-display#7375382441982d14568dfa42d102c4f7f0232f28" dependencies = [ "anyhow", "attohttpc", @@ -2781,21 +2762,20 @@ dependencies = [ [[package]] name = "manta-pay" -version = "0.5.7" -source = "git+https://github.com/manta-network/manta-rs?tag=v0.5.7#0afc8d43b55ab2504a85ffe1e3ca59f242282385" +version = "0.5.8" +source = "git+https://github.com/manta-network/manta-rs?branch=fix-asset-value-display#7375382441982d14568dfa42d102c4f7f0232f28" dependencies = [ "aes-gcm 0.9.4", - "ark-groth16", - "ark-snark", - "ark-std", "bip0039", "bip32", - "blake2 0.10.4", + "blake2 0.10.6", "bs58", "derivative", "manta-accounting", "manta-crypto", + "manta-parameters", "manta-util", + "num-bigint", ] [[package]] @@ -2816,6 +2796,7 @@ dependencies = [ "manta-util", "parking_lot", "password-hash", + "reqwest", "secrecy", "serde_json", "subtle", @@ -2835,8 +2816,8 @@ dependencies = [ [[package]] name = "manta-util" -version = "0.5.7" -source = "git+https://github.com/manta-network/manta-rs?tag=v0.5.7#0afc8d43b55ab2504a85ffe1e3ca59f242282385" +version = "0.5.8" +source = "git+https://github.com/manta-network/manta-rs?branch=fix-asset-value-display#7375382441982d14568dfa42d102c4f7f0232f28" dependencies = [ "crossbeam-channel", "serde", @@ -2899,15 +2880,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "933dca44d65cdd53b355d0b73d380a2ff5da71f87f036053188bf1eab6a19881" -[[package]] -name = "miniz_oxide" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" -dependencies = [ - "adler", -] - [[package]] name = "miniz_oxide" version = "0.6.2" @@ -3018,17 +2990,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-iter" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.1" @@ -3080,15 +3041,6 @@ dependencies = [ "syn", ] -[[package]] -name = "num_threads" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" -dependencies = [ - "libc", -] - [[package]] name = "objc" version = "0.2.7" @@ -3132,19 +3084,19 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "open" -version = "3.0.3" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a3100141f1733ea40b53381b0ae3117330735ef22309a190ac57b9576ea716" +checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8" dependencies = [ "pathdiff", - "windows-sys 0.36.1", + "windows-sys 0.42.0", ] [[package]] name = "openssl" -version = "0.10.42" +version = "0.10.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" +checksum = "29d971fd5722fec23977260f6e81aa67d2f22cadbdc2aa049f1022d9a3be1566" dependencies = [ "bitflags", "cfg-if", @@ -3174,9 +3126,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.77" +version = "0.9.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" +checksum = "5454462c0eced1e97f2ec09036abc8da362e66802f66fd20f86854d9d8cbcbc4" dependencies = [ "autocfg", "cc", @@ -3187,12 +3139,12 @@ dependencies = [ [[package]] name = "os_pipe" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dceb7e43f59c35ee1548045b2c72945a5a3bb6ce6d6f07cdc13dc8f6bc4930a" +checksum = "c6a252f1f8c11e84b3ab59d7a488e48e4478a93937e027076638c49536204639" dependencies = [ "libc", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -3244,9 +3196,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" dependencies = [ "cfg-if", "libc", @@ -3268,9 +3220,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" +checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pathdiff" @@ -3295,7 +3247,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -3306,9 +3258,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.4.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbc7bc69c062e492337d74d59b120c274fd3d261b6bf6d3207d499b4b379c41a" +checksum = "cc8bed3549e0f9b0a2a78bf7c0018237a2cdf085eecbbc048e52612438e4e9d0" dependencies = [ "thiserror", "ucd-trie", @@ -3466,22 +3418,10 @@ dependencies = [ "indexmap", "line-wrap", "serde", - "time 0.3.16", + "time 0.3.17", "xml-rs", ] -[[package]] -name = "png" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0b0cabbbd20c2d7f06dbf015e06aad59b6ca3d9ed14848783e98af9aaf19925" -dependencies = [ - "bitflags", - "deflate", - "inflate", - "num-iter", -] - [[package]] name = "png" version = "0.17.7" @@ -3491,21 +3431,21 @@ dependencies = [ "bitflags", "crc32fast", "flate2", - "miniz_oxide 0.6.2", + "miniz_oxide", ] [[package]] name = "polling" -version = "2.4.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab4609a838d88b73d8238967b60dd115cc08d38e2bbaf51ee1e4b695f89122e2" +checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6" dependencies = [ "autocfg", "cfg-if", "libc", "log", "wepoll-ffi", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -3556,9 +3496,9 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "precomputed-hash" @@ -3609,18 +3549,18 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "e9d89e5dba24725ae5678020bf8f1357a9aa7ff10736b551adbcd3f8d17d766f" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "556d0f47a940e895261e77dc200d5eadfc6ef644c179c6f5edfc105e3a2292c8" dependencies = [ "proc-macro2", ] @@ -3738,9 +3678,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", @@ -3758,9 +3698,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "remove_dir_all" @@ -3773,9 +3713,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.12" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "431949c384f4e2ae07605ccaa56d1d9d2ecdb5cadd4f9577ccfab29f2e5149fc" +checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" dependencies = [ "base64", "bytes", @@ -3885,20 +3825,20 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.14", + "semver 1.0.15", ] [[package]] name = "rustversion" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" +checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "safemem" @@ -3939,9 +3879,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scratch" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" [[package]] name = "sec1" @@ -4027,9 +3967,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" +checksum = "3bfa246f936730408c0abee392cc1a50b118ece708c7f630516defd64480c7d8" dependencies = [ "serde", ] @@ -4051,27 +3991,27 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.147" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.7" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfc50e8183eeeb6178dcb167ae34a8051d63535023ae38b5d8d12beae193d37b" +checksum = "718dc5fff5b36f99093fc49b280cfc96ce6fc824317783bff5a1fed0c7a64819" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8" dependencies = [ "proc-macro2", "quote", @@ -4080,11 +4020,11 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.87" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" +checksum = "8778cc0b528968fe72abec38b5db5a20a70d148116cd9325d2bc5f5180ca3faf" dependencies = [ - "itoa 1.0.4", + "itoa 1.0.5", "ryu", "serde", ] @@ -4102,9 +4042,9 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fe39d9fbb0ebf5eb2c7cb7e2a47e4f462fad1379f1166b8ae49ad9eae89a7ca" +checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e" dependencies = [ "proc-macro2", "quote", @@ -4118,7 +4058,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.4", + "itoa 1.0.5", "ryu", "serde", ] @@ -4213,7 +4153,7 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -4463,9 +4403,9 @@ checksum = "45f6ee7c7b87caf59549e9fe45d6a69c75c8019e79e212a835c5da0e92f0ba08" [[package]] name = "syn" -version = "1.0.103" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "09ee3a69cd2c7e06684677e5629b3878b253af05e4714964204279c6bc02cf0b" dependencies = [ "proc-macro2", "quote", @@ -4507,14 +4447,14 @@ dependencies = [ "heck 0.4.0", "pkg-config", "toml", - "version-compare 0.1.0", + "version-compare 0.1.1", ] [[package]] name = "tao" -version = "0.14.0" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43336f5d1793543ba96e2a1e75f3a5c7dcd592743be06a0ab3a190f4fcb4b934" +checksum = "ac8e6399427c8494f9849b58694754d7cc741293348a6836b6c8d2c5aa82d8e6" dependencies = [ "bitflags", "cairo-rs", @@ -4547,12 +4487,12 @@ dependencies = [ "once_cell", "parking_lot", "paste", - "png 0.17.7", + "png", "raw-window-handle", "scopeguard", "serde", "unicode-segmentation", - "uuid 1.2.1", + "uuid 1.2.2", "windows 0.39.0", "windows-implement", "x11-dl", @@ -4571,9 +4511,9 @@ dependencies = [ [[package]] name = "tauri" -version = "1.1.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbf22abd61d95ca9b2becd77f9db4c093892f73e8a07d21d8b0b2bf71a7bcea" +checksum = "d8ea1d785ab2164373703817bff144c4610a69ad3f659becaca0e1ea004b98d8" dependencies = [ "anyhow", "attohttpc", @@ -4602,7 +4542,7 @@ dependencies = [ "regex", "reqwest", "rfd", - "semver 1.0.14", + "semver 1.0.15", "serde", "serde_json", "serde_repr", @@ -4616,10 +4556,10 @@ dependencies = [ "tauri-utils", "tempfile", "thiserror", - "time 0.3.16", + "time 0.3.17", "tokio", "url", - "uuid 1.2.1", + "uuid 1.2.2", "webkit2gtk", "webview2-com", "windows 0.39.0", @@ -4628,15 +4568,15 @@ dependencies = [ [[package]] name = "tauri-build" -version = "1.1.1" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0991fb306849897439dbd4a72e4cbed2413e2eb26cb4b3ba220b94edba8b4b88" +checksum = "8807c85d656b2b93927c19fe5a5f1f1f348f96c2de8b90763b3c2d561511f9b4" dependencies = [ "anyhow", "cargo_toml", "heck 0.4.0", "json-patch", - "semver 1.0.14", + "semver 1.0.15", "serde_json", "tauri-utils", "winres", @@ -4644,34 +4584,34 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "1.1.1" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356fa253e40ae4d6ff02075011f2f2bb4066f5c9d8c1e16ca6912d7b75903ba6" +checksum = "14388d484b6b1b5dc0f6a7d6cc6433b3b230bec85eaa576adcdf3f9fafa49251" dependencies = [ "base64", "ico", "json-patch", "plist", - "png 0.17.7", + "png", "proc-macro2", "quote", "regex", - "semver 1.0.14", + "semver 1.0.15", "serde", "serde_json", "sha2 0.10.6", "tauri-utils", "thiserror", - "time 0.3.16", - "uuid 1.2.1", + "time 0.3.17", + "uuid 1.2.2", "walkdir", ] [[package]] name = "tauri-macros" -version = "1.1.1" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6051fd6940ddb22af452340d03c66a3e2f5d72e0788d4081d91e31528ccdc4d" +checksum = "069319e5ecbe653a799b94b0690d9f9bf5d00f7b1d3989aa331c524d4e354075" dependencies = [ "heck 0.4.0", "proc-macro2", @@ -4683,30 +4623,29 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d49439a5ea47f474572b854972f42eda2e02a470be5ca9609cc83bb66945abe2" +checksum = "c507d954d08ac8705d235bc70ec6975b9054fb95ff7823af72dbb04186596f3b" dependencies = [ "gtk", "http", "http-range", - "infer 0.7.0", "rand 0.8.5", "raw-window-handle", "serde", "serde_json", "tauri-utils", "thiserror", - "uuid 1.2.1", + "uuid 1.2.2", "webview2-com", "windows 0.39.0", ] [[package]] name = "tauri-runtime-wry" -version = "0.11.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dce920995fd49907aa9bea7249ed1771454f11f7611924c920a1f75fb614d4" +checksum = "36b1c5764a41a13176a4599b5b7bd0881bea7d94dfe45e1e755f789b98317e30" dependencies = [ "cocoa", "gtk", @@ -4715,7 +4654,7 @@ dependencies = [ "raw-window-handle", "tauri-runtime", "tauri-utils", - "uuid 1.2.1", + "uuid 1.2.2", "webkit2gtk", "webview2-com", "windows 0.39.0", @@ -4724,21 +4663,22 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "1.1.1" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e8fdae6f29cef959809a3c3afef510c5b715a446a597ab8b791497585363f39" +checksum = "5abbc109a6eb45127956ffcc26ef0e875d160150ac16cfa45d26a6b2871686f1" dependencies = [ "ctor", "glob", "heck 0.4.0", "html5ever", + "infer 0.7.0", "json-patch", "kuchiki", "memchr", "phf 0.10.1", "proc-macro2", "quote", - "semver 1.0.14", + "semver 1.0.15", "serde", "serde_json", "serde_with", @@ -4790,18 +4730,18 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", @@ -4855,16 +4795,14 @@ dependencies = [ [[package]] name = "time" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fab5c8b9980850e06d92ddbe3ab839c062c801f3927c0fb8abd6fc8e918fbca" +checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" dependencies = [ - "itoa 1.0.4", - "libc", - "num_threads", + "itoa 1.0.5", "serde", "time-core", - "time-macros 0.2.5", + "time-macros 0.2.6", ] [[package]] @@ -4885,9 +4823,9 @@ dependencies = [ [[package]] name = "time-macros" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bb801831d812c562ae7d2bfb531f26e66e4e1f6b17307ba4149c5064710e5b" +checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" dependencies = [ "time-core", ] @@ -4922,9 +4860,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.21.2" +version = "1.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46" dependencies = [ "autocfg", "bytes", @@ -4934,7 +4872,7 @@ dependencies = [ "num_cpus", "pin-project-lite 0.2.9", "socket2", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -4963,9 +4901,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" dependencies = [ "serde", ] @@ -5064,9 +5002,9 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "ucd-trie" @@ -5082,9 +5020,9 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" @@ -5159,9 +5097,9 @@ checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" [[package]] name = "uuid" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb41e78f93363bb2df8b0e86a2ca30eed7806ea16ea0c790d757cf93f79be83" +checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c" dependencies = [ "getrandom 0.2.8", ] @@ -5197,9 +5135,9 @@ checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" [[package]] name = "version-compare" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe88247b92c1df6b6de80ddc290f3976dbdf2f5f5d3fd049a9fb598c6dd5ca73" +checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" [[package]] name = "version_check" @@ -5447,19 +5385,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbedf6db9096bc2364adce0ae0aa636dcd89f3c3f2cd67947062aaf0ca2a10ec" -dependencies = [ - "windows_aarch64_msvc 0.32.0", - "windows_i686_gnu 0.32.0", - "windows_i686_msvc 0.32.0", - "windows_x86_64_gnu 0.32.0", - "windows_x86_64_msvc 0.32.0", -] - [[package]] name = "windows" version = "0.37.0" @@ -5553,12 +5478,6 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" -[[package]] -name = "windows_aarch64_msvc" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" - [[package]] name = "windows_aarch64_msvc" version = "0.36.1" @@ -5583,12 +5502,6 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" -[[package]] -name = "windows_i686_gnu" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" - [[package]] name = "windows_i686_gnu" version = "0.36.1" @@ -5613,12 +5526,6 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" -[[package]] -name = "windows_i686_msvc" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" - [[package]] name = "windows_i686_msvc" version = "0.36.1" @@ -5643,12 +5550,6 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" -[[package]] -name = "windows_x86_64_gnu" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" - [[package]] name = "windows_x86_64_gnu" version = "0.36.1" @@ -5679,12 +5580,6 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" -[[package]] -name = "windows_x86_64_msvc" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" - [[package]] name = "windows_x86_64_msvc" version = "0.36.1" @@ -5729,15 +5624,16 @@ dependencies = [ [[package]] name = "wry" -version = "0.21.1" +version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff5c1352b4266fdf92c63479d2f58ab4cd29dc4e78fbc1b62011ed1227926945" +checksum = "4c1ad8e2424f554cc5bdebe8aa374ef5b433feff817aebabca0389961fc7ef98" dependencies = [ "base64", "block", "cocoa", "core-graphics", "crossbeam-channel", + "dunce", "gdk", "gio", "glib", @@ -5753,6 +5649,7 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.6", + "soup2", "tao", "thiserror", "url", @@ -5765,9 +5662,9 @@ dependencies = [ [[package]] name = "x11" -version = "2.20.0" +version = "2.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7ae97874a928d821b061fce3d1fc52f08071dd53c89a6102bc06efcac3b2908" +checksum = "c2638d5b9c17ac40575fb54bb461a4b1d2a8d1b4ffcc4ff237d254ec59ddeb82" dependencies = [ "libc", "pkg-config", @@ -5775,9 +5672,9 @@ dependencies = [ [[package]] name = "x11-dl" -version = "2.20.0" +version = "2.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c83627bc137605acc00bb399c7b908ef460b621fc37c953db2b09f88c449ea6" +checksum = "b1536d6965a5d4e573c7ef73a2c15ebcd0b2de3347bdf526c34c297c00ac40f0" dependencies = [ "lazy_static", "libc", @@ -5810,9 +5707,9 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.3.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" +checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index cce73825..094a3cce 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,13 +43,14 @@ derivative = { version = "2.2.0", default-features = false, features = ["use_cor dirs-next = { version = "2.0.0", default-features = false } futures = { version = "0.3.17", default-features = false, features = ["alloc"] } http-types = { version = "2.12.0", default-features = false } -manta-accounting = { git = "https://github.com/manta-network/manta-rs", tag = "v0.5.7", default-features = false, features = ["cocoon-fs"] } -manta-crypto = { git = "https://github.com/manta-network/manta-rs", tag = "v0.5.7", default-features = false, features = ["getrandom"] } -manta-parameters = { git = "https://github.com/manta-network/manta-rs", tag = "v0.5.7", default-features = false, features = ["download"] } -manta-pay = { git = "https://github.com/manta-network/manta-rs", tag = "v0.5.7", default-features = false, features = ["bs58", "groth16", "network", "serde", "wallet"] } -manta-util = { git = "https://github.com/manta-network/manta-rs", tag = "v0.5.7", default-features = false } +manta-accounting = { git = "https://github.com/manta-network/manta-rs", default-features = false, features = ["cocoon-fs"] } +manta-crypto = { git = "https://github.com/manta-network/manta-rs", default-features = false, features = ["getrandom"] } +manta-parameters = { git = "https://github.com/manta-network/manta-rs", default-features = false, features = ["download"] } +manta-pay = { git = "https://github.com/manta-network/manta-rs", default-features = false, features = ["bs58", "groth16", "serde", "wallet", "network", "parameters"] } +manta-util = { git = "https://github.com/manta-network/manta-rs", default-features = false } parking_lot = { version = "0.12.1", default-features = false } password-hash = { version = "0.4.2", default-features = false, features = ["alloc"] } +reqwest = { version = "0.11.11", default-features = false, features = ["json"] } secrecy = { version = "0.8.0", default-features = false, features = ["alloc"] } serde_json = { version = "1.0.68", default-features = false } subtle = { version = "2.4.1", default-features = false } diff --git a/examples/test_server.rs b/examples/test_server.rs index 32bbfae4..b456d099 100644 --- a/examples/test_server.rs +++ b/examples/test_server.rs @@ -51,10 +51,11 @@ impl Authorizer for MockUser { #[inline] fn setup(&mut self, data_exists: bool) -> SetupFuture { + let new_mnemonic = Mnemonic::sample(&mut OsRng); if data_exists { Box::pin(async move { Setup::Login }) } else { - Box::pin(async move { Setup::CreateAccount(Mnemonic::sample(&mut OsRng)) }) + Box::pin(async move { Setup::CreateAccount(new_mnemonic) }) } } } diff --git a/src/config.rs b/src/config.rs index bae880fe..4642b574 100644 --- a/src/config.rs +++ b/src/config.rs @@ -123,7 +123,7 @@ impl Config { Ok(metadata) if metadata.is_file() => Ok(true), Ok(metadata) => Err(io::Error::new( io::ErrorKind::Other, - format!("Invalid file format: {:?}.", metadata), + format!("Invalid file format: {metadata:?}."), )), _ => Ok(false), } @@ -173,7 +173,7 @@ impl Config { } Ok(metadata) => Err(io::Error::new( io::ErrorKind::Other, - format!("Invalid file format: {:?}.", metadata), + format!("Invalid file format: {metadata:?}."), )), _ => Ok(false), } diff --git a/src/parameters.rs b/src/parameters.rs index 2a6a9941..b1ddac1a 100644 --- a/src/parameters.rs +++ b/src/parameters.rs @@ -18,13 +18,8 @@ // TODO: Report a more informative error. -use manta_pay::{ - config::{ - MultiProvingContext, NoteEncryptionScheme, Parameters, ProvingContext, - UtxoAccumulatorModel, UtxoCommitmentScheme, VoidNumberCommitmentScheme, - }, - signer::base::SignerParameters, -}; +use manta_parameters::{Download, Get}; +use manta_pay::{config, parameters::load_transfer_parameters, signer::base::SignerParameters}; use manta_util::codec::{Decode, IoReader}; use std::{ fs::{self, File}, @@ -44,43 +39,33 @@ where directory.push("testnet"); directory.push("proving"); fs::create_dir_all(&directory).ok()?; - let mint = directory.join("mint.dat"); - manta_parameters::pay::testnet::proving::Mint::download_if_invalid(&mint).ok()?; + let mint = directory.join("to-private.dat"); + manta_parameters::pay::testnet::proving::ToPrivate::download_if_invalid(&mint).ok()?; let private_transfer = directory.join("private-transfer.dat"); manta_parameters::pay::testnet::proving::PrivateTransfer::download_if_invalid( &private_transfer, ) .ok()?; - let reclaim = directory.join("reclaim.dat"); - manta_parameters::pay::testnet::proving::Reclaim::download_if_invalid(&reclaim).ok()?; + let reclaim = directory.join("to-public.dat"); + manta_parameters::pay::testnet::proving::ToPublic::download_if_invalid(&reclaim).ok()?; + let parameters = load_transfer_parameters(); Some(SignerParameters { - proving_context: MultiProvingContext { - mint: ProvingContext::decode(IoReader(File::open(mint).ok()?)).ok()?, - private_transfer: ProvingContext::decode(IoReader(File::open(private_transfer).ok()?)) - .ok()?, - reclaim: ProvingContext::decode(IoReader(File::open(reclaim).ok()?)).ok()?, - }, - parameters: Parameters { - note_encryption_scheme: NoteEncryptionScheme::decode( - manta_parameters::pay::testnet::parameters::NoteEncryptionScheme::get()?, - ) - .ok()?, - utxo_commitment: UtxoCommitmentScheme::decode( - manta_parameters::pay::testnet::parameters::UtxoCommitmentScheme::get()?, - ) - .ok()?, - void_number_commitment: VoidNumberCommitmentScheme::decode( - manta_parameters::pay::testnet::parameters::VoidNumberCommitmentScheme::get()?, - ) + proving_context: config::MultiProvingContext { + to_private: config::ProvingContext::decode(IoReader(File::open(mint).ok()?)).ok()?, + private_transfer: config::ProvingContext::decode(IoReader( + File::open(private_transfer).ok()?, + )) .ok()?, + to_public: config::ProvingContext::decode(IoReader(File::open(reclaim).ok()?)).ok()?, }, + parameters, }) } -/// Loads the [`UtxoAccumulatorModel`] from the Manta SDK. +/// Loads the \[`UtxoAccumulatorModel`\](config::UtxoAccumulatorModel) from the Manta SDK. #[inline] -pub fn load_utxo_accumulator_model() -> Option { - UtxoAccumulatorModel::decode( +pub fn load_utxo_accumulator_model() -> Option { + config::UtxoAccumulatorModel::decode( manta_parameters::pay::testnet::parameters::UtxoAccumulatorModel::get()?, ) .ok() diff --git a/src/service.rs b/src/service.rs index 7f0e8bd4..13e4661f 100644 --- a/src/service.rs +++ b/src/service.rs @@ -31,17 +31,13 @@ use http_types::headers::HeaderValue; use manta_accounting::{ asset::{Asset, AssetMetadata}, fs::{cocoon::File, File as _, SaveError}, - key::HierarchicalKeyDerivationScheme, transfer::canonical::TransferShape, }; use manta_pay::{ config::Transaction, key::{Mnemonic, TestnetKeySecret}, signer::{ - base::{ - HierarchicalKeyDerivationFunction, Signer, SignerParameters, SignerState, - UtxoAccumulator, - }, + base::{Signer, SignerParameters, SignerState, UtxoAccumulator}, client::network::{Message, Network, NetworkSpecific}, }, }; @@ -63,7 +59,7 @@ use tokio::{ }; pub use manta_pay::{ - config::{receiving_key_to_base58, ReceivingKey}, + config::{address_to_base58, Address}, signer::{self, SignError, SignResponse, SyncError, SyncResponse}, }; @@ -74,7 +70,7 @@ pub type SyncRequest = Message; pub type SignRequest = Message; /// Receiving Key Request -pub type ReceivingKeyRequest = Message; +pub type ReceivingKeyRequest = Message; /// Password Retry Interval pub const PASSWORD_RETRY_INTERVAL: Duration = Duration::from_millis(1000); @@ -140,11 +136,11 @@ impl Display for Error { #[inline] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match self { - Self::AddrParseError(err) => write!(f, "Address Parse Error: {}", err), - Self::JoinError(err) => write!(f, "Join Error: {}", err), + Self::AddrParseError(err) => write!(f, "Address Parse Error: {err}"), + Self::JoinError(err) => write!(f, "Join Error: {err}"), Self::ParameterLoadingError => write!(f, "Parameter Loading Error"), - Self::SaveError(err) => write!(f, "Save Error: {}", err), - Self::Io(err) => write!(f, "I/O Error: {}", err), + Self::SaveError(err) => write!(f, "Save Error: {err}"), + Self::Io(err) => write!(f, "I/O Error: {err}"), Self::AuthorizationError => write!(f, "Authorization Error"), Self::Delayed => write!(f, "Delay Error"), } @@ -162,24 +158,26 @@ pub fn display_transaction( network: Network, ) -> String { match transaction { - Transaction::Mint(Asset { value, .. }) => format!( + Transaction::ToPrivate(Asset { value, .. }) => format!( "Privatize {} on {} network", - metadata.display(*value), + metadata.display(*value, metadata.decimals), network ), Transaction::PrivateTransfer(Asset { value, .. }, receiving_key) => { format!( "Send {} to {} on {} network", - metadata.display(*value), - receiving_key_to_base58(receiving_key), + metadata.display(*value, metadata.decimals), + address_to_base58(receiving_key), + network + ) + } + Transaction::ToPublic(Asset { value, .. }) => { + format!( + "Public {} on {} network", + metadata.display(*value, metadata.decimals), network ) } - Transaction::Reclaim(Asset { value, .. }) => format!( - "Withdraw {} on {} network", - metadata.display(*value), - network - ), } } @@ -302,7 +300,6 @@ where mnemonic.clone(), ) .await?; - break ( password_hash, Signer::from_parts(parameters.clone(), dolphin_state), @@ -403,18 +400,17 @@ where } else { &config.data_path.manta }; - let exisitng_signer = Signer::from_parts( + let existing_signer = Signer::from_parts( parameters.clone(), Self::load_state(existing_state_path, password_hash) .await .expect("Unable to get dolphin state")?, ); Some( - exisitng_signer + existing_signer .state() .accounts() .keys() - .base() .expose_mnemonic() .clone(), ) @@ -437,7 +433,7 @@ where recovery_mnemonic.expect("unable to retrieve mnemonic for account recreation."), ) .await - .expect("Unable to recreate signer instance from exisitng mnemonic."); + .expect("Unable to recreate signer instance from existing mnemonic."); Ok(Some(state)) } else { Self::load_state(data_path, password_hash).await @@ -471,7 +467,7 @@ where .get(|_| http::into_body(Server::::version)); http::register_post(&mut api, "/sync", Server::sync); http::register_post(&mut api, "/sign", Server::sign); - http::register_post(&mut api, "/receivingKeys", Server::receiving_keys); + http::register_post(&mut api, "/address", Server::address); info!("serving signer API at {}", socket_address)?; api.listen(socket_address).await?; Ok(()) @@ -495,7 +491,7 @@ where ) -> Result { info!("creating signer state")?; let state = SignerState::new( - TestnetKeySecret::new(mnemonic, "").map(HierarchicalKeyDerivationFunction::default()), + TestnetKeySecret::new(mnemonic, ""), UtxoAccumulator::new( task::spawn_blocking(crate::parameters::load_utxo_accumulator_model) .await? @@ -589,7 +585,7 @@ where }, } = request; match transaction.shape() { - TransferShape::Mint => { + TransferShape::ToPrivate => { // NOTE: We skip authorization on mint transactions because they are deposits not // withdrawals from the point of view of the signer. Everything else, by // default, requests authorization. @@ -621,7 +617,6 @@ where .state() .accounts() .keys() - .base() .expose_mnemonic() .clone(); Ok(stored_mnemonic) @@ -629,28 +624,18 @@ where /// Runs the receiving key sampling protocol on the signer. #[inline] - pub async fn receiving_keys(self, request: ReceivingKeyRequest) -> Result> { - info!("[REQUEST] processing `receivingKeys`: {:?}", request)?; - let response = self.state.lock().signer[request.network].receiving_keys(request.message); - info!( - "[RESPONSE] responding to `receivingKeys` with: {:?}", - response - )?; + pub async fn address(self, request: ReceivingKeyRequest) -> Result
{ + let response = self.state.lock().signer[request.network].address(); + info!("[RESPONSE] responding to `receivingKeys` with: {response:?}")?; Ok(response) } /// Runs the receiving key sampling protocol on a mutable reference of the signer, and formats /// the result to base 58. #[inline] - pub async fn get_receiving_keys( - &mut self, - request: ReceivingKeyRequest, - ) -> Result, ()> { - let response = self.state.lock().signer[request.network].receiving_keys(request.message); - let keys = response - .into_iter() - .map(|key| receiving_key_to_base58(&key)) - .collect(); - Ok(keys) + pub async fn get_address(&mut self, request: ReceivingKeyRequest) -> Result { + let response = self.state.lock().signer[request.network].address(); + let key = address_to_base58(&response); + Ok(key) } } diff --git a/ui/public/Square89x89Logo.png b/ui/public/Square89x89Logo.png deleted file mode 100644 index c69b49c7..00000000 Binary files a/ui/public/Square89x89Logo.png and /dev/null differ diff --git a/ui/public/about.html b/ui/public/about.html index b251688d..39432e6e 100644 --- a/ui/public/about.html +++ b/ui/public/about.html @@ -19,7 +19,7 @@ main { text-align: center; - margin-top: 3em; + margin-top: 1em; } p { @@ -36,7 +36,7 @@
- +

Manta Signer

Version 0.8.0

Copyright © 2019-2022 Manta Network

diff --git a/ui/public/manta.png b/ui/public/manta.png index 953c1ee2..27e587d8 100644 Binary files a/ui/public/manta.png and b/ui/public/manta.png differ diff --git a/ui/src-tauri/src/main.rs b/ui/src-tauri/src/main.rs index e240d73c..c08921e6 100644 --- a/ui/src-tauri/src/main.rs +++ b/ui/src-tauri/src/main.rs @@ -32,10 +32,12 @@ use core::{ }; use manta_signer::{ config::{Config, Setup}, - manta_accounting::wallet::signer::ReceivingKeyRequest, manta_pay::{ key::Mnemonic, - signer::client::network::{Message, Network}, + signer::{ + client::network::{Message, Network}, + GetRequest, + }, }, secret::{ mnemonic_channel, password_channel, sample_mnemonic, Authorizer, MnemonicReceiver, @@ -329,6 +331,7 @@ async fn set_tray_reset(tray_handle: SystemTrayHandle, reset: bool, show_phrase: "view secret recovery phrase", "View Secret Recovery Phrase", )) + .add_item(CustomMenuItem::new("view zk address", "View ZkAddress")) .add_item(CustomMenuItem::new("reset", "Delete Account")) .add_item(CustomMenuItem::new("exit", "Quit")) } else if reset { @@ -518,15 +521,16 @@ async fn reset_account( /// Returns receiving keys to front end to display once user is logged in. #[tauri::command] -async fn receiving_keys(server_store: State<'_, ServerStore>) -> Result, ()> { +async fn address(server_store: State<'_, ServerStore>) -> Result { if let Some(store) = &mut *server_store.lock().await { - let keys = store - .get_receiving_keys(Message { + let key = store + .get_address(Message { + // TODO: do we need to passing network? network: Network::Dolphin, - message: ReceivingKeyRequest::GetAll, + message: GetRequest::Get, }) .await; - return keys; + return key; } Err(()) } @@ -597,6 +601,11 @@ fn main() { .emit("show_secret_phrase", ()) .expect("Unable to emit reset tray event to window."); } + "view zk address" => { + window(app, "main") + .emit("show_zk_address", ()) + .expect("Unable to emit reset tray event to window."); + } "reset" => { window(app, "main").show().expect("Unable to show window"); window(app, "main") @@ -653,7 +662,7 @@ fn main() { reset_account, connect_ui, disconnect_ui, - receiving_keys, + address, get_recovery_phrase, cancel_sign, enable_reset_menu_item diff --git a/ui/src/App.css b/ui/src/App.css index fa3112e7..9e11aec0 100644 --- a/ui/src/App.css +++ b/ui/src/App.css @@ -411,7 +411,7 @@ display: flex; justify-content: space-between; width: 75%; - height:2.7rem; + min-height:2.7rem; } .transaction-detail-padded { diff --git a/ui/src/App.js b/ui/src/App.js index fc9e5f52..6ffc4127 100644 --- a/ui/src/App.js +++ b/ui/src/App.js @@ -20,7 +20,7 @@ import ShowPhrase from './pages/AccountCreation/ShowPhrase'; import ConfirmPhrase from './pages/AccountCreation/ConfirmPhrase'; const SEND = "Send"; -const WITHDRAW = "Withdraw"; +const PUBLIC = "Public"; const GET_RECOVERY_PHRASE = "GetRecoveryPhrase"; function App() { @@ -32,15 +32,20 @@ function App() { const [recoveryPhrase, setRecoveryPhrase] = useState(null); const [authorizationSummary, setAuthorizationSummary] = useState(null); const [receivingKey, setReceivingKey] = useState(null); + const [loginSuccess, setLoginSuccess] = useState(false); const [receivingKeyDisplay, setReceivingKeyDisplay] = useState(null); const [activeListeners, setActiveListeners] = useState({ authorize: false, connect: false, tray_reset_account: false, - show_secret_phrase: false + show_secret_phrase: false, + show_zk_address: false }); const [exportedSecretPhrase, setExportedSecretPhrase] = useState(null); + const [loginFailedOccured, setLoginFailedOccured] = useState(false); + // keeps show secret phrase listener in sync with exportingPhrase state + // whether or not we are currently exporting the phrase. const exportingPhraseRef = useRef(false); const pathnameRef = useRef(location.pathname); @@ -85,14 +90,7 @@ function App() { console.log("[INFO]: Setup tray reset listener."); listen('tray_reset_account', async (event) => { console.log("[INFO]: Wake: ", event); - - // checking to make sure to end password stalling listener on backend if we switch away - // from the export secret phrase. - if (exportingPhraseRef.current) { - console.log("[INFO]: Ending export phrase process."); - await stopPasswordPrompt(); - endExportPhrase(false); - } + await checkAndStopExportingPhrase(); navigate("/reset"); }) } @@ -125,7 +123,7 @@ function App() { const parseTransactionSummary = (summary) => { let parsedAuthorizationSummary = { - sendAmount: summary[1], + sendAmount: parseFloat(summary[1]), currency: summary[2], toAddress: null, network: null @@ -139,9 +137,9 @@ function App() { + "..." + toAddress.substr(toAddress.length - 10); parsedAuthorizationSummary.toAddress = toAddress; parsedAuthorizationSummary.network = summary[6]; - } else if (summary[0] === WITHDRAW) { + } else if (summary[0] === PUBLIC) { - // Withdraw {} on {} network + // Public {} on {} network parsedAuthorizationSummary.toAddress = "Your Public Address"; parsedAuthorizationSummary.network = summary[4]; } else { @@ -166,6 +164,7 @@ function App() { } // Case 2: we need authorization for signing a transaction. + await checkAndStopExportingPhrase(); let parsedAuthorizationSummary = parseTransactionSummary(event.payload.split(" ")); setAuthorizationSummary(parsedAuthorizationSummary); @@ -181,6 +180,25 @@ function App() { }) } + const checkAndStopExportingPhrase = async () => { + // checking to make sure to end password stalling listener on backend if we switch away + // from the export secret phrase. + if (exportingPhraseRef.current) { + console.log("[INFO]: Ending export phrase process."); + await stopPasswordPrompt(); + endExportPhrase(false); + } + } + + const listenForShowZkAddressRequests = async () => { + console.log("[INFO]: Setup tray show zk address listener."); + listen('show_zk_address', async (_event) => { + await checkAndStopExportingPhrase(); + navigate("/sign-in"); + appWindow.show(); + }) + } + const getSecretRecoveryPhrase = async () => { if (exportingPhraseRef.current) { @@ -252,6 +270,14 @@ function App() { }) } + if (!activeListeners.show_zk_address) { + listenForShowZkAddressRequests(); + setActiveListeners({ + ...activeListeners, + show_zk_address: true + }) + } + }; const endConnection = async () => { @@ -285,8 +311,7 @@ function App() { const getReceivingKeys = async () => { console.log("[INFO]: Getting receiving keys.") - const newReceivingKeys = await invoke('receiving_keys'); - const newReceivingKey = newReceivingKeys[0]; + const newReceivingKey = await invoke('address'); setReceivingKey(newReceivingKey); const newReceivingKeyDisplay = newReceivingKey ? `${newReceivingKey.slice(0, 10)}...${newReceivingKey.slice(-10)}` : @@ -303,7 +328,11 @@ function App() { } /> - } /> + + } /> } /> { navigator.clipboard.writeText(actualPhrase); diff --git a/ui/src/pages/Loading.js b/ui/src/pages/Loading.js index d3270ed9..06a9c23c 100644 --- a/ui/src/pages/Loading.js +++ b/ui/src/pages/Loading.js @@ -1,12 +1,15 @@ import { Header } from 'semantic-ui-react'; import loadingGif from '../icons/loading-gif.gif'; -const Loading = () => { +const Loading = ({ + isConnected +}) => { return ( <>
Manta Signer
+ {!isConnected ?

Downloading Manta Proving Keys...

: null} Loading ... ); }; -export default Loading; +export default Loading; \ No newline at end of file diff --git a/ui/src/pages/SignIn/SignIn.js b/ui/src/pages/SignIn/SignIn.js index b351f1c0..6683e290 100644 --- a/ui/src/pages/SignIn/SignIn.js +++ b/ui/src/pages/SignIn/SignIn.js @@ -3,6 +3,8 @@ import SignInPage from './SignInPage'; import SignInSuccess from './SignInSuccess'; const SignIn = ({ + loginSuccess, + setLoginSuccess, sendSelection, getReceivingKeys, receivingKey, @@ -10,17 +12,22 @@ const SignIn = ({ sendPassword, endInitialConnectionPhase, startRecover, - hideWindow + hideWindow, + loginFailedOccured, + setLoginFailedOccured }) => { const [password, setPassword] = useState(''); const [passwordInvalid, setPasswordInvalid] = useState(null); - const [loginSuccess, setLoginSuccess] = useState(false); const [showCopyNotification, setShowCopyNotification] = useState(false); const [loading, setLoading] = useState(false); const onClickSignIn = async () => { setLoading(true); - await sendSelection("SignIn"); + + if (!loginFailedOccured) { + await sendSelection("SignIn"); + } + const shouldRetry = await sendPassword(password); if (!shouldRetry) { @@ -30,8 +37,9 @@ const SignIn = ({ setPassword(''); setLoginSuccess(true); } else { - console.log("[INFO]: Invalid password, RETRY!"); + setLoginFailedOccured(true); setPasswordInvalid(true); + console.log("[INFO]: Invalid password, RETRY!"); } setLoading(false); }; diff --git a/ui/src/pages/ViewPhrase/ViewPhraseSuccess.js b/ui/src/pages/ViewPhrase/ViewPhraseSuccess.js index 1bf4b501..91144df1 100644 --- a/ui/src/pages/ViewPhrase/ViewPhraseSuccess.js +++ b/ui/src/pages/ViewPhrase/ViewPhraseSuccess.js @@ -1,12 +1,15 @@ import { Button } from 'semantic-ui-react'; import hiddenImage from "../../icons/eye-close.png"; +import CopyButton from '../../components/copyButton'; import "../../App.css"; const ViewPhraseSuccess = ({ recoveryPhraseConfirmed, exportedSecretPhrase, onClickConfirmRecoveryPhrase, - onClickFinish + onClickFinish, + showCopyNotification, + onClickCopyPhrase }) => { return (<> @@ -35,7 +38,17 @@ const ViewPhraseSuccess = ({ } - +
+ { + recoveryPhraseConfirmed ? + + : +
+ } +

Warning: Never share your secret recovery phrase. {
} Anyone with your secret recovery phrase can steal assets in your wallet.

diff --git a/ui/src/pages/ViewPhrase/ViewSecretPhrase.js b/ui/src/pages/ViewPhrase/ViewSecretPhrase.js index 9b36912f..1089b1a3 100644 --- a/ui/src/pages/ViewPhrase/ViewSecretPhrase.js +++ b/ui/src/pages/ViewPhrase/ViewSecretPhrase.js @@ -13,6 +13,7 @@ const ViewSecretPhrase = ({ const [passwordInvalid, setPasswordInvalid] = useState(false); const [recoveryPhraseConfirmed, setRecoveryPhraseConfirmed] = useState(false); const [loading, setLoading] = useState(false); + const [showCopyNotification, setShowCopyNotification] = useState(false); const onChangePassword = password => { setPassword(password) @@ -38,12 +39,22 @@ const ViewSecretPhrase = ({ } } - // This function enables the Next button to continue in the account creation + // This function enables the Next button to continue in the view secret phrase // process once the user has read the recovery phrase. const onClickConfirmRecoveryPhrase = () => { setRecoveryPhraseConfirmed(true); } + const onClickCopyPhrase = () => { + navigator.clipboard.writeText(exportedSecretPhrase); + + if (!showCopyNotification) { + setShowCopyNotification(true); + setTimeout(function () { setShowCopyNotification(false) }, 2000); + } + + } + const onClickFinish = () => { setRecoveryPhraseConfirmed(false); endExportPhrase(); @@ -68,6 +79,8 @@ const ViewSecretPhrase = ({ exportedSecretPhrase={exportedSecretPhrase} onClickConfirmRecoveryPhrase={onClickConfirmRecoveryPhrase} onClickFinish={onClickFinish} + showCopyNotification={showCopyNotification} + onClickCopyPhrase={onClickCopyPhrase} />} ); }