diff --git a/Cargo.lock b/Cargo.lock index e190bb6131..640463a314 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -67,7 +67,7 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ - "getrandom 0.2.6", + "getrandom 0.2.7", "once_cell", "version_check", ] @@ -92,9 +92,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.56" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27" +checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704" [[package]] name = "arrayref" @@ -137,9 +137,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.53" +version = "0.1.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed6aa3524a2dfcf9fe180c51eae2b58738348d819517ceadf95789c51fff7600" +checksum = "96cf8829f67d2eab0b2dfa42c5d0ef737e0724e4a82b01b3e292456202b19716" dependencies = [ "proc-macro2", "quote", @@ -208,10 +208,53 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] -name = "az" -version = "1.2.0" +name = "axum" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f771a5d1f5503f7f4279a30f3643d3421ba149848b89ecaaec0ea2acf04a5ac4" +checksum = "6b9496f0c1d1afb7a2af4338bbe1d969cddfead41d87a9fb3aaa6d0bbc7af648" +dependencies = [ + "async-trait", + "axum-core", + "bitflags", + "bytes", + "futures-util", + "http", + "http-body", + "hyper", + "itoa 1.0.2", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "serde", + "sync_wrapper", + "tokio", + "tower", + "tower-http", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4f44a0e6200e9d11a1cdc989e4b358f6e3d354fbf48478f345a17f4e43f8635" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "mime", +] + +[[package]] +name = "az" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" [[package]] name = "bandwidth-claim-contract" @@ -235,9 +278,9 @@ checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" [[package]] name = "base64ct" -version = "1.0.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a32fd6af2b5827bce66c29053ba0e7c42b9dcab01835835058558c10851a46b" +checksum = "3bdca834647821e0b13d9539a8634eb62d3501b6b6c2cec1722786ee6671b851" [[package]] name = "binascii" @@ -311,9 +354,9 @@ dependencies = [ [[package]] name = "bitvec" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1489fcb93a5bb47da0462ca93ad252ad6af2145cce58d10d46a83931ba9f016b" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ "funty 2.0.0", "radium 0.7.0", @@ -413,7 +456,7 @@ version = "0.6.0" source = "git+https://github.com/jstuczyn/bls12_381?branch=gt-serialisation#10fb6f700bfda17c8475af3bfd31e3fec15f2278" dependencies = [ "digest 0.9.0", - "ff 0.11.0", + "ff 0.11.1", "group 0.11.0", "pairing 0.21.0", "rand_core 0.6.3", @@ -444,9 +487,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.9.1" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899" +checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3" [[package]] name = "byte-slice-cast" @@ -462,9 +505,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.9.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdead85bdec19c194affaeeb670c0e41fe23de31459efd1c174d049269cf02cc" +checksum = "a5377c8865e74a160d21f29c2d40669f53286db6eab59b88540cbb12ffc8b835" [[package]] name = "byteorder" @@ -474,18 +517,15 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" +checksum = "f0b3de4a0c5e67e16066a0715723abd91edc2f9001d09c46e1dca929351e130e" [[package]] name = "cast" -version = "0.2.7" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a" -dependencies = [ - "rustc_version 0.4.0", -] +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" @@ -568,9 +608,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.8" +version = "3.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190814073e85d238f31ff738fcb0bf6910cedeb73376c87cd69291028966fd83" +checksum = "44bbe24bbd31a185bc2c4f7c2abe80bea13a20d57ee4e55be70ac512bdc76417" dependencies = [ "atty", "bitflags", @@ -585,9 +625,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "3.2.7" +version = "3.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759bf187376e1afa7b85b959e6a664a3e7a95203415dba952ad19139e798f902" +checksum = "9ba52acd3b0a5c33aeada5cdaa3267cdc7c594a98731d4268cdc1532f4264cb4" dependencies = [ "heck 0.4.0", "proc-macro-error", @@ -686,22 +726,21 @@ dependencies = [ [[package]] name = "console-api" -version = "0.1.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc347c19eb5b940f396ac155822caee6662f850d97306890ac3773ed76c90c5a" +checksum = "06c5fd425783d81668ed68ec98408a80498fb4ae2fd607797539e1a9dfa3618f" dependencies = [ - "prost 0.9.0", - "prost-types 0.9.0", + "prost", + "prost-types", "tonic", - "tonic-build", "tracing-core", ] [[package]] name = "console-subscriber" -version = "0.1.3" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "565a7dfea2d10dd0e5c57cc394d5d441b1910960d8c9211ed14135e0e6ec3a20" +checksum = "31432bc31ff8883bf6a693a79371862f73087822470c82d6a1ec778781ee3978" dependencies = [ "console-api", "crossbeam-channel", @@ -709,7 +748,7 @@ dependencies = [ "futures", "hdrhistogram", "humantime 2.1.0", - "prost-types 0.9.0", + "prost-types", "serde", "serde_json", "thread_local", @@ -760,7 +799,7 @@ dependencies = [ "rand 0.8.5", "sha2 0.10.2", "subtle 2.4.1", - "time 0.3.9", + "time 0.3.11", "version_check", ] @@ -783,26 +822,26 @@ checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "cosmos-sdk-proto" version = "0.12.3" -source = "git+https://github.com/neacsu/cosmos-rust?branch=neacsu/feegrant_support#484f3b8bd39e00c2db567e754d4b7337b7c635a6" +source = "git+https://github.com/neacsu/cosmos-rust?branch=neacsu/feegrant_support#f63ded63ec13e753ebe8bdafe9dc503df265d67d" dependencies = [ - "prost 0.10.3", - "prost-types 0.10.1", + "prost", + "prost-types", "tendermint-proto", ] [[package]] name = "cosmrs" version = "0.7.1" -source = "git+https://github.com/neacsu/cosmos-rust?branch=neacsu/feegrant_support#484f3b8bd39e00c2db567e754d4b7337b7c635a6" +source = "git+https://github.com/neacsu/cosmos-rust?branch=neacsu/feegrant_support#f63ded63ec13e753ebe8bdafe9dc503df265d67d" dependencies = [ "bip32", "cosmos-sdk-proto", "ecdsa", "eyre", - "getrandom 0.2.6", + "getrandom 0.2.7", "k256", - "prost 0.10.3", - "prost-types 0.10.1", + "prost", + "prost-types", "rand_core 0.6.3", "serde", "serde_json", @@ -891,7 +930,7 @@ dependencies = [ "async-trait", "bip39", "cfg-if 0.1.10", - "clap 3.2.8", + "clap 3.2.15", "coconut-interface", "credential-storage", "credentials", @@ -937,9 +976,9 @@ dependencies = [ [[package]] name = "criterion" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1604dafd25fba2fe2d5895a9da139f8dc9b319a5fe5354ca137cbbce4e178d10" +checksum = "b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f" dependencies = [ "atty", "cast", @@ -963,9 +1002,9 @@ dependencies = [ [[package]] name = "criterion-plot" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d00996de9f2f7559f7f4dc286073197f83e92256a59ed395f9aac01fe717da57" +checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876" dependencies = [ "cast", "itertools", @@ -973,9 +1012,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.4" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53" +checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" dependencies = [ "cfg-if 1.0.0", "crossbeam-utils", @@ -983,9 +1022,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" +checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" dependencies = [ "cfg-if 1.0.0", "crossbeam-epoch", @@ -994,23 +1033,23 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.8" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c" +checksum = "045ebe27666471bb549370b4b0b3e51b07f56325befa4284db65fc89c02511b1" dependencies = [ "autocfg 1.1.0", "cfg-if 1.0.0", "crossbeam-utils", - "lazy_static", "memoffset", + "once_cell", "scopeguard", ] [[package]] name = "crossbeam-queue" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f25d8400f4a7a5778f0e4e52384a48cbd9b5c495d110786187fc750075277a2" +checksum = "1cd42583b04998a5363558e5f9291ee5a5ff6b49944332103f251e7479a82aa7" dependencies = [ "cfg-if 1.0.0", "crossbeam-utils", @@ -1018,12 +1057,12 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.8" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" +checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc" dependencies = [ "cfg-if 1.0.0", - "lazy_static", + "once_cell", ] [[package]] @@ -1071,9 +1110,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.3" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.5", "typenum", @@ -1185,9 +1224,9 @@ dependencies = [ [[package]] name = "cw-utils" -version = "0.13.2" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "babd2c090f39d07ce5bf2556962305e795daa048ce20a93709eb591476e4a29e" +checksum = "9dbaecb78c8e8abfd6b4258c7f4fbeb5c49a5e45ee4d910d3240ee8e1d714e1b" dependencies = [ "cosmwasm-std", "schemars", @@ -1197,9 +1236,9 @@ dependencies = [ [[package]] name = "cw3" -version = "0.13.2" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f871854338a54c7bb094d16ffe17212b93b146d9659dbce4c9402a9b77e240ef" +checksum = "fe19462a7f644ba60c19d3443cb90d00c50d9b6b3b0a3a7fca93df8261af979b" dependencies = [ "cosmwasm-std", "cw-utils", @@ -1209,9 +1248,9 @@ dependencies = [ [[package]] name = "cw4" -version = "0.13.2" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4476d6a7c13c46ed9ff260bd0e1cf648dc37b13f483822e1ff2a431f0f6ee52" +checksum = "0acc3549d5ce11c6901b3a676f2e2628684722197054d97cd0101ea174ed5cbd" dependencies = [ "cosmwasm-std", "cw-storage-plus", @@ -1372,11 +1411,11 @@ dependencies = [ name = "dkg" version = "0.1.0" dependencies = [ - "bitvec 1.0.0", + "bitvec 1.0.1", "bls12_381 0.6.0", "bs58", "criterion", - "ff 0.11.0", + "ff 0.11.1", "group 0.11.0", "lazy_static", "rand 0.8.5", @@ -1403,9 +1442,9 @@ checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" [[package]] name = "dyn-clone" -version = "1.0.5" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e50f3adc76d6a43f5ed73b698a87d0760ca74617f60f7c3b879003536fdd28" +checksum = "9d07a982d1fb29db01e5a59b1918e03da4df7297eaeee7686ac45542fd4e59c8" [[package]] name = "ecdsa" @@ -1421,9 +1460,9 @@ dependencies = [ [[package]] name = "ed25519" -version = "1.4.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d5c4b5e5959dc2c2b89918d8e2cc40fcdd623cef026ed09d2f0ee05199dc8e4" +checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" dependencies = [ "serde", "signature", @@ -1461,9 +1500,9 @@ dependencies = [ [[package]] name = "either" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be" [[package]] name = "elliptic-curve" @@ -1474,7 +1513,7 @@ dependencies = [ "base16ct", "crypto-bigint", "der", - "ff 0.11.0", + "ff 0.11.1", "generic-array 0.14.5", "group 0.11.0", "rand_core 0.6.3", @@ -1494,18 +1533,18 @@ dependencies = [ [[package]] name = "enum-iterator" -version = "0.7.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6" +checksum = "2953d1df47ac0eb70086ccabf0275aa8da8591a28bd358ee2b52bd9f9e3ff9e9" dependencies = [ "enum-iterator-derive", ] [[package]] name = "enum-iterator-derive" -version = "0.7.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159" +checksum = "8958699f9359f0b04e691a13850d48b7de329138023876d07cbd024c2c820598" dependencies = [ "proc-macro2", "quote", @@ -1577,6 +1616,12 @@ dependencies = [ "uint", ] +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + [[package]] name = "execute" version = "0.1.0" @@ -1628,9 +1673,9 @@ checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" [[package]] name = "fastrand" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" dependencies = [ "instant", ] @@ -1647,9 +1692,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e" +checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" dependencies = [ "rand_core 0.6.3", "subtle 2.4.1", @@ -1671,9 +1716,9 @@ dependencies = [ [[package]] name = "fixed" -version = "1.15.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36a65312835c1097a0c926ff3702df965285fadc33d948b87397ff8961bad881" +checksum = "1e50e12d082af9f49314ae850d33c7e89bbe1b3f30857f747f7bed0750b068c5" dependencies = [ "az", "bytemuck", @@ -1694,21 +1739,13 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "fixedbitset" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279fb028e20b3c4c320317955b77c5e0c9701f05a1d309905d6fc702cdc5053e" - [[package]] name = "flate2" -version = "1.0.22" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f" +checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" dependencies = [ - "cfg-if 1.0.0", "crc32fast", - "libc", "miniz_oxide", ] @@ -1724,14 +1761,14 @@ dependencies = [ [[package]] name = "flume" -version = "0.10.12" +version = "0.10.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843c03199d0c0ca54bc1ea90ac0d507274c28abcc4f691ae8b4eaa375087c76a" +checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" dependencies = [ "futures-core", "futures-sink", "pin-project", - "spin 0.9.2", + "spin 0.9.4", ] [[package]] @@ -1945,7 +1982,7 @@ dependencies = [ "fluvio-wasm-timer", "futures", "gateway-requests", - "getrandom 0.2.6", + "getrandom 0.2.7", "json", "log", "network-defaults", @@ -1992,15 +2029,15 @@ checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" [[package]] name = "generator" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1d9279ca822891c1a4dae06d185612cf8fc6acfe5dff37781b41297811b12ee" +checksum = "cc184cace1cea8335047a471cc1da80f18acf8a76f3bab2028d499e328948ec7" dependencies = [ "cc", "libc", "log", "rustversion", - "winapi", + "windows", ] [[package]] @@ -2037,14 +2074,14 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad" +checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" dependencies = [ "cfg-if 1.0.0", "js-sys", "libc", - "wasi 0.10.0+wasi-snapshot-preview1", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] @@ -2072,9 +2109,9 @@ dependencies = [ [[package]] name = "git2" -version = "0.14.2" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3826a6e0e2215d7a41c2bfc7c9244123969273f3476b939a226aac0ab56e9e3c" +checksum = "d0155506aab710a86160ddb504a480d2964d7ab5b9e62419be69e0032bc5931c" dependencies = [ "bitflags", "libc", @@ -2091,9 +2128,9 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "gloo-timers" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d12a7f4e95cfe710f1d624fb1210b7d961a5fb05c4fd942f4feab06e61f590e" +checksum = "5fb7d06c1c8cc2a29bee7ec961009a0b2caa0793ee4900c2ffb348734ba1c8f9" dependencies = [ "futures-channel", "futures-core", @@ -2120,7 +2157,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" dependencies = [ "byteorder", - "ff 0.11.0", + "ff 0.11.1", "rand_core 0.6.3", "subtle 2.4.1", ] @@ -2173,13 +2210,19 @@ dependencies = [ "ahash", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + [[package]] name = "hashlink" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf" dependencies = [ - "hashbrown", + "hashbrown 0.11.2", ] [[package]] @@ -2234,6 +2277,9 @@ name = "heck" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +dependencies = [ + "unicode-segmentation", +] [[package]] name = "hermit-abi" @@ -2296,20 +2342,20 @@ dependencies = [ [[package]] name = "http" -version = "0.2.6" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes", "fnv", - "itoa 1.0.1", + "itoa 1.0.2", ] [[package]] name = "http-body" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", "http", @@ -2317,10 +2363,16 @@ dependencies = [ ] [[package]] -name = "httparse" -version = "1.6.0" +name = "http-range-header" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4" +checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" + +[[package]] +name = "httparse" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" [[package]] name = "httpdate" @@ -2355,9 +2407,9 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.18" +version = "0.14.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b26ae0a80afebe130861d90abf98e3814a4f28a4c6ffeb5ab8ebb2be311e0ef2" +checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" dependencies = [ "bytes", "futures-channel", @@ -2368,7 +2420,7 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa 1.0.1", + "itoa 1.0.2", "pin-project-lite", "socket2", "tokio", @@ -2502,12 +2554,12 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" [[package]] name = "indexmap" -version = "1.8.1" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee" +checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" dependencies = [ "autocfg 1.1.0", - "hashbrown", + "hashbrown 0.12.3", "serde", ] @@ -2549,9 +2601,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35e70ee094dc02fd9c13fdad4940090f22dbd6ac7c9e7094a46cf0232a50bc7c" +checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" [[package]] name = "ipnetwork" @@ -2589,9 +2641,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "itoa" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" +checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" [[package]] name = "jobserver" @@ -2648,9 +2700,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" +checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "keystream" @@ -2666,15 +2718,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.122" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec647867e2bf0772e28c8bcde4f0d19a9216916e890543b5a03ed8ef27b8f259" +checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" [[package]] name = "libgit2-sys" -version = "0.13.2+1.4.2" +version = "0.13.4+1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a42de9a51a5c12e00fc0e4ca6bc2ea43582fc6418488e8f615e905d886f258b" +checksum = "d0fa6563431ede25f5cc7f6d803c6afbc1c5d3ad3d4925d12c882bf2b526f5d1" dependencies = [ "cc", "libc", @@ -2690,9 +2742,9 @@ checksum = "33a33a362ce288760ec6a508b94caaec573ae7d3bbbd91b87aa0bad4456839db" [[package]] name = "libsqlite3-sys" -version = "0.23.2" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cafc7c74096c336d9d27145f7ebd4f4b6f95ba16aa5a282387267e6925cb58" +checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14" dependencies = [ "cc", "pkg-config", @@ -2701,9 +2753,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.5" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f35facd4a5673cb5a48822be2be1d4236c1c99cb4113cab7061ac720d5bf859" +checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf" dependencies = [ "cc", "libc", @@ -2713,9 +2765,9 @@ dependencies = [ [[package]] name = "linked-hash-map" -version = "0.5.4" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "lioness" @@ -2741,18 +2793,18 @@ dependencies = [ [[package]] name = "log" -version = "0.4.16" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if 1.0.0", ] [[package]] name = "loom" -version = "0.5.4" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc5c7d328e32cc4954e8e01193d7f0ef5ab257b5090b70a964e099a36034309" +checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" dependencies = [ "cfg-if 1.0.0", "generator", @@ -2784,6 +2836,12 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" +[[package]] +name = "matchit" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb" + [[package]] name = "maybe-uninit" version = "2.0.0" @@ -2792,9 +2850,9 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" [[package]] name = "memchr" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memoffset" @@ -2819,35 +2877,23 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.4.4" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" dependencies = [ "adler", - "autocfg 1.1.0", ] [[package]] name = "mio" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52da4364ffb0e4fe33a9841a98a3f3014fb964045ce4f7a45a398243c8d6b0c9" +checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" dependencies = [ "libc", "log", - "miow", - "ntapi", "wasi 0.11.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "miow" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" -dependencies = [ - "winapi", + "windows-sys", ] [[package]] @@ -2875,7 +2921,7 @@ dependencies = [ "serde", "serde_repr", "thiserror", - "time 0.3.9", + "time 0.3.11", "ts-rs", ] @@ -2908,9 +2954,9 @@ dependencies = [ [[package]] name = "multer" -version = "2.0.2" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f8f35e687561d5c1667590911e6698a8cb714a134a7505718a182e7bc9d3836" +checksum = "a30ba6d97eb198c5e8a35d67d5779d6680cca35652a60ee90fc23dc431d4fde8" dependencies = [ "bytes", "encoding_rs", @@ -2920,18 +2966,12 @@ dependencies = [ "log", "memchr", "mime", - "spin 0.9.2", + "spin 0.9.4", "tokio", - "tokio-util 0.6.9", + "tokio-util 0.7.3", "version_check", ] -[[package]] -name = "multimap" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" - [[package]] name = "multisig-contract-common" version = "0.1.0" @@ -3015,9 +3055,9 @@ dependencies = [ [[package]] name = "num-integer" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ "autocfg 1.1.0", "num-traits", @@ -3025,9 +3065,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg 1.1.0", "libm", @@ -3045,9 +3085,9 @@ dependencies = [ [[package]] name = "num_threads" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aba1801fb138d8e85e11d0fc70baf4fe1cdfffda7c6cd34a854905df588e5ed0" +checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" dependencies = [ "libc", ] @@ -3056,7 +3096,7 @@ dependencies = [ name = "nym-client" version = "1.0.1" dependencies = [ - "clap 3.2.8", + "clap 3.2.15", "client-core", "coconut-interface", "config", @@ -3096,7 +3136,7 @@ dependencies = [ "bandwidth-claim-contract", "bip39", "bs58", - "clap 3.2.8", + "clap 3.2.15", "coconut-interface", "colored", "config", @@ -3141,7 +3181,7 @@ version = "1.0.1" dependencies = [ "anyhow", "bs58", - "clap 3.2.8", + "clap 3.2.15", "colored", "config", "crypto", @@ -3223,7 +3263,7 @@ dependencies = [ name = "nym-socks5-client" version = "1.0.1" dependencies = [ - "clap 3.2.8", + "clap 3.2.15", "client-core", "coconut-interface", "config", @@ -3324,7 +3364,7 @@ dependencies = [ "serde_json", "sqlx", "thiserror", - "time 0.3.9", + "time 0.3.11", "tokio", "tokio-stream", "topology", @@ -3365,7 +3405,7 @@ dependencies = [ "digest 0.9.0", "doc-comment", "ff 0.10.1", - "getrandom 0.2.6", + "getrandom 0.2.7", "group 0.10.0", "itertools", "rand 0.8.5", @@ -3531,18 +3571,30 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.38" +version = "0.10.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" +checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0" dependencies = [ "bitflags", "cfg-if 1.0.0", "foreign-types", "libc", "once_cell", + "openssl-macros", "openssl-sys", ] +[[package]] +name = "openssl-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "openssl-probe" version = "0.1.5" @@ -3551,9 +3603,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.72" +version = "0.9.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb" +checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f" dependencies = [ "autocfg 1.1.0", "cc", @@ -3571,9 +3623,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.0.0" +version = "6.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64" +checksum = "648001efe5d5c0102d8cea768e348da85d90af8ba91f0bea908f157951493cd4" [[package]] name = "pairing" @@ -3632,12 +3684,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.2", + "parking_lot_core 0.9.3", ] [[package]] @@ -3650,20 +3702,20 @@ dependencies = [ "instant", "libc", "redox_syscall", - "smallvec 1.8.0", + "smallvec 1.9.0", "winapi", ] [[package]] name = "parking_lot_core" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "995f667a6c822200b0433ac218e05582f0e2efa1b922a3fd2fbaadc5f87bab37" +checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall", - "smallvec 1.8.0", + "smallvec 1.9.0", "windows-sys", ] @@ -3799,16 +3851,6 @@ dependencies = [ "sha-1 0.8.2", ] -[[package]] -name = "petgraph" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a13a2fa9d0b63e5f22328828741e523766fff0ee9e779316902290dff3f824f" -dependencies = [ - "fixedbitset", - "indexmap", -] - [[package]] name = "pickledb" version = "0.4.1" @@ -3824,18 +3866,18 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e" +checksum = "78203e83c48cffbe01e4a2d35d566ca4de445d79a85372fc64e378bfc812a260" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb" +checksum = "710faf75e1b33345361201d36d04e98ac1ed8909151a017ed384700836104c74" dependencies = [ "proc-macro2", "quote", @@ -3844,9 +3886,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" [[package]] name = "pin-utils" @@ -3873,9 +3915,9 @@ checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" [[package]] name = "plotters" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a" +checksum = "9428003b84df1496fb9d6eeee9c5f8145cb41ca375eb0dad204328888832811f" dependencies = [ "num-traits", "plotters-backend", @@ -3886,15 +3928,15 @@ dependencies = [ [[package]] name = "plotters-backend" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c" +checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142" [[package]] name = "plotters-svg" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9" +checksum = "e0918736323d1baff32ee0eade54984f6f201ad7e97d5cfb5d6ab4a358529615" dependencies = [ "plotters-backend", ] @@ -3976,11 +4018,11 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.37" +version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1" +checksum = "c278e965f1d8cf32d6e0e96de3d3e79712178ae67986d9cf9151f51e95aac89b" dependencies = [ - "unicode-xid", + "unicode-ident", ] [[package]] @@ -3998,55 +4040,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.9.0" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" +checksum = "71adf41db68aa0daaefc69bb30bcd68ded9b9abaad5d1fbb6304c4fb390e083e" dependencies = [ "bytes", - "prost-derive 0.9.0", -] - -[[package]] -name = "prost" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc03e116981ff7d8da8e5c220e374587b98d294af7ba7dd7fda761158f00086f" -dependencies = [ - "bytes", - "prost-derive 0.10.1", -] - -[[package]] -name = "prost-build" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" -dependencies = [ - "bytes", - "heck 0.3.3", - "itertools", - "lazy_static", - "log", - "multimap", - "petgraph", - "prost 0.9.0", - "prost-types 0.9.0", - "regex", - "tempfile", - "which", -] - -[[package]] -name = "prost-derive" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" -dependencies = [ - "anyhow", - "itertools", - "proc-macro2", - "quote", - "syn", + "prost-derive", ] [[package]] @@ -4062,16 +4061,6 @@ dependencies = [ "syn", ] -[[package]] -name = "prost-types" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" -dependencies = [ - "bytes", - "prost 0.9.0", -] - [[package]] name = "prost-types" version = "0.10.1" @@ -4079,7 +4068,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d0a014229361011dc8e69c8a1ec6c2e8d0f2af7c91e3ea3f5b2170298461e68" dependencies = [ "bytes", - "prost 0.10.3", + "prost", ] [[package]] @@ -4124,21 +4113,21 @@ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quote" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" +checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804" dependencies = [ "proc-macro2", ] [[package]] name = "r2d2" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545c5bc2b880973c9c10e4067418407a0ccaa3091781d1671d46eb35107cb26f" +checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" dependencies = [ "log", - "parking_lot 0.11.2", + "parking_lot 0.12.1", "scheduled-thread-pool", ] @@ -4257,7 +4246,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" dependencies = [ - "getrandom 0.2.6", + "getrandom 0.2.7", ] [[package]] @@ -4343,9 +4332,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.5.1" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" +checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" dependencies = [ "autocfg 1.1.0", "crossbeam-deque", @@ -4355,14 +4344,13 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.9.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" +checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" dependencies = [ "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "lazy_static", "num_cpus", ] @@ -4377,9 +4365,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.13" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ "bitflags", ] @@ -4390,25 +4378,25 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.6", + "getrandom 0.2.7", "redox_syscall", "thiserror", ] [[package]] name = "ref-cast" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "300f2a835d808734ee295d45007adacb9ebb29dd3ae2424acfa17930cae541da" +checksum = "776c8940430cf563f66a93f9111d1cd39306dc6c68149ecc6b934742a44a828a" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c38e3aecd2b21cb3959637b883bb3714bc7e43f0268b9a29d3743ee3e55cdd2" +checksum = "5f26c4704460286103bff62ea1fb78d137febc86aaf76952e6c5a2249af01f54" dependencies = [ "proc-macro2", "quote", @@ -4417,9 +4405,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.5.5" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" +checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" dependencies = [ "aho-corasick", "memchr", @@ -4437,9 +4425,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.25" +version = "0.6.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" +checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" [[package]] name = "remove_dir_all" @@ -4452,9 +4440,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.10" +version = "0.11.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46a1f7aa4f35e5e8b4160449f51afc758f0ce6454315a9fa7d0d113e958c41eb" +checksum = "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92" dependencies = [ "base64", "bytes", @@ -4479,6 +4467,7 @@ dependencies = [ "serde_urlencoded", "tokio", "tokio-native-tls", + "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", @@ -4553,7 +4542,7 @@ dependencies = [ "memchr", "multer", "num_cpus", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "pin-project-lite", "rand 0.8.5", "ref-cast", @@ -4563,7 +4552,7 @@ dependencies = [ "serde_json", "state", "tempfile", - "time 0.3.9", + "time 0.3.11", "tokio", "tokio-stream", "tokio-util 0.7.3", @@ -4622,10 +4611,10 @@ dependencies = [ "pin-project-lite", "ref-cast", "serde", - "smallvec 1.8.0", + "smallvec 1.9.0", "stable-pattern", "state", - "time 0.3.9", + "time 0.3.11", "tokio", "uncased", ] @@ -4703,7 +4692,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.7", + "semver 1.0.12", ] [[package]] @@ -4733,15 +4722,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" +checksum = "24c8ad4f0c00e1eb5bc7614d236a7f1300e3dbd76b68cac8e06fb00b015ad8d8" [[package]] name = "ryu" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" +checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" [[package]] name = "same-file" @@ -4754,21 +4743,21 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "winapi", + "windows-sys", ] [[package]] name = "scheduled-thread-pool" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc6f74fd1204073fa02d5d5d68bec8021be4c38690b61264b2fdb48083d0e7d7" +checksum = "977a7519bff143a44f842fd07e80ad1329295bd71686457f18e496736f4bf9bf" dependencies = [ - "parking_lot 0.11.2", + "parking_lot 0.12.1", ] [[package]] @@ -4892,9 +4881,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.7" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65bd28f48be7196d222d95b9243287f48d27aca604e08497513019ff0502cc4" +checksum = "a2333e6df6d6598f2b1974829f853c2b4c5f4a6e503c10af918081aa6f8564e1" [[package]] name = "semver-parser" @@ -4919,9 +4908,9 @@ checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" [[package]] name = "serde" -version = "1.0.136" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" +checksum = "fc855a42c7967b7c369eb5860f7164ef1f6f81c20c7cc1141f2a604e18723b03" dependencies = [ "serde_derive", ] @@ -4956,9 +4945,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.136" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" +checksum = "6f2122636b9fe3b81f1cb25099fcf2d3f542cdb1d45940d56c713158884a05da" dependencies = [ "proc-macro2", "quote", @@ -4978,20 +4967,20 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.79" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" +checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7" dependencies = [ - "itoa 1.0.1", + "itoa 1.0.2", "ryu", "serde", ] [[package]] name = "serde_repr" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5" +checksum = "a2ad84e47328a31223de7fed7a4f5087f2d6ddfe586cf3ca25b7a165bc0a5aed" dependencies = [ "proc-macro2", "quote", @@ -5005,16 +4994,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.1", + "itoa 1.0.2", "ryu", "serde", ] [[package]] name = "serde_yaml" -version = "0.8.23" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a521f2940385c165a24ee286aa8599633d162077a54bdcae2a6fd5a7bfa7a0" +checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" dependencies = [ "indexmap", "ryu", @@ -5114,9 +5103,9 @@ dependencies = [ [[package]] name = "signature" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2807892cfa58e081aa1f1111391c7a0649d4fa127a4ffbe34bcbfb35a1171a4" +checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" dependencies = [ "digest 0.9.0", "rand_core 0.6.3", @@ -5124,9 +5113,12 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +dependencies = [ + "autocfg 1.1.0", +] [[package]] name = "sled" @@ -5155,9 +5147,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" +checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" [[package]] name = "snafu" @@ -5244,9 +5236,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spin" -version = "0.9.2" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "511254be0c5bcf062b019a6c89c01a664aa359ded62f78aa72c6fc137c0590e5" +checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09" dependencies = [ "lock_api", ] @@ -5274,9 +5266,9 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.5.11" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc15591eb44ffb5816a4a70a7efd5dd87bfd3aa84c4c200401c4396140525826" +checksum = "551873805652ba0d912fec5bbb0f8b4cdd96baf8e2ebf5970e5671092966019b" dependencies = [ "sqlx-core", "sqlx-macros", @@ -5284,9 +5276,9 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.5.11" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "195183bf6ff8328bb82c0511a83faf60aacf75840103388851db61d7a9854ae3" +checksum = "e48c61941ccf5ddcada342cd59e3e5173b007c509e1e8e990dafc830294d9dc5" dependencies = [ "ahash", "atoi", @@ -5297,6 +5289,7 @@ dependencies = [ "crc", "crossbeam-queue", "either", + "event-listener", "flume", "futures-channel", "futures-core", @@ -5306,7 +5299,7 @@ dependencies = [ "hashlink", "hex", "indexmap", - "itoa 1.0.1", + "itoa 1.0.2", "libc", "libsqlite3-sys", "log", @@ -5315,8 +5308,8 @@ dependencies = [ "paste", "percent-encoding", "rustls", - "sha2 0.9.9", - "smallvec 1.8.0", + "sha2 0.10.2", + "smallvec 1.9.0", "sqlformat", "sqlx-rt", "stringprep", @@ -5329,17 +5322,17 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.5.11" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eee35713129561f5e55c554bba1c378e2a7e67f81257b7311183de98c50e6f94" +checksum = "bc0fba2b0cae21fc00fe6046f8baa4c7fcb49e379f0f592b04696607f69ed2e1" dependencies = [ "dotenv", "either", - "heck 0.3.3", + "heck 0.4.0", "once_cell", "proc-macro2", "quote", - "sha2 0.9.9", + "sha2 0.10.2", "sqlx-core", "sqlx-rt", "syn", @@ -5348,9 +5341,9 @@ dependencies = [ [[package]] name = "sqlx-rt" -version = "0.5.11" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b555e70fbbf84e269ec3858b7a6515bcfe7a166a7cc9c636dd6efd20431678b6" +checksum = "4db708cd3e459078f85f39f96a00960bd841f66ee2a669e90bf36907f5a79aae" dependencies = [ "once_cell", "tokio", @@ -5463,15 +5456,21 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.91" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d" +checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" dependencies = [ "proc-macro2", "quote", - "unicode-xid", + "unicode-ident", ] +[[package]] +name = "sync_wrapper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8" + [[package]] name = "synstructure" version = "0.12.6" @@ -5486,9 +5485,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.24.1" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a8e71535da31837213ac114531d31def75d7aebd133264e420a3451fa7f703" +checksum = "54cb4ebf3d49308b99e6e9dc95e989e2fdbdc210e4f67c39db0bb89ba927001c" dependencies = [ "cfg-if 1.0.0", "core-foundation-sys", @@ -5543,8 +5542,8 @@ dependencies = [ "k256", "num-traits", "once_cell", - "prost 0.10.3", - "prost-types 0.10.1", + "prost", + "prost-types", "ripemd160", "serde", "serde_bytes", @@ -5555,7 +5554,7 @@ dependencies = [ "subtle 2.4.1", "subtle-encoding", "tendermint-proto", - "time 0.3.9", + "time 0.3.11", "zeroize", ] @@ -5583,12 +5582,12 @@ dependencies = [ "flex-error", "num-derive", "num-traits", - "prost 0.10.3", - "prost-types 0.10.1", + "prost", + "prost-types", "serde", "serde_bytes", "subtle-encoding", - "time 0.3.9", + "time 0.3.11", ] [[package]] @@ -5601,7 +5600,7 @@ dependencies = [ "bytes", "flex-error", "futures", - "getrandom 0.2.6", + "getrandom 0.2.7", "http", "hyper", "hyper-proxy", @@ -5616,7 +5615,7 @@ dependencies = [ "tendermint-config", "tendermint-proto", "thiserror", - "time 0.3.9", + "time 0.3.11", "tokio", "tracing", "url", @@ -5650,18 +5649,18 @@ checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" [[package]] name = "thiserror" -version = "1.0.30" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.30" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" dependencies = [ "proc-macro2", "quote", @@ -5690,11 +5689,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2702e08a7a860f005826c6815dcac101b19b5eb330c27fe4a5928fec1d20ddd" +checksum = "72c91f41dcb2f096c05f0873d667dceec1087ce5bcf984ec8ffb19acddbb3217" dependencies = [ - "itoa 1.0.1", + "itoa 1.0.2", "libc", "num_threads", "serde", @@ -5728,17 +5727,18 @@ dependencies = [ [[package]] name = "tokio" -version = "1.19.1" +version = "1.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95eec79ea28c00a365f539f1961e9278fbcaf81c0ff6aaf0e93c181352446948" +checksum = "7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581" dependencies = [ + "autocfg 1.1.0", "bytes", "libc", "memchr", "mio", "num_cpus", "once_cell", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "pin-project-lite", "signal-hook-registry", "socket2", @@ -5759,9 +5759,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7" +checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" dependencies = [ "proc-macro2", "quote", @@ -5828,9 +5828,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.6.9" +version = "0.6.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" +checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" dependencies = [ "bytes", "futures-core", @@ -5858,21 +5858,22 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" dependencies = [ "serde", ] [[package]] name = "tonic" -version = "0.6.2" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff08f4649d10a70ffa3522ca559031285d8e421d727ac85c60825761818f5d0a" +checksum = "5be9d60db39854b30b835107500cf0aca0b0d14d6e1c3de124217c23a29c2ddb" dependencies = [ "async-stream", "async-trait", + "axum", "base64", "bytes", "futures-core", @@ -5884,11 +5885,11 @@ dependencies = [ "hyper-timeout", "percent-encoding", "pin-project", - "prost 0.9.0", - "prost-derive 0.9.0", + "prost", + "prost-derive", "tokio", "tokio-stream", - "tokio-util 0.6.9", + "tokio-util 0.7.3", "tower", "tower-layer", "tower-service", @@ -5896,18 +5897,6 @@ dependencies = [ "tracing-futures", ] -[[package]] -name = "tonic-build" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9403f1bafde247186684b230dc6f38b5cd514584e8bec1dd32514be4745fa757" -dependencies = [ - "proc-macro2", - "prost-build", - "quote", - "syn", -] - [[package]] name = "topology" version = "0.1.0" @@ -5924,9 +5913,9 @@ dependencies = [ [[package]] name = "tower" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a89fd63ad6adf737582df5db40d286574513c69a11dac5214dc3b5603d6713e" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ "futures-core", "futures-util", @@ -5942,6 +5931,25 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower-http" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c530c8675c1dbf98facee631536fa116b5fb6382d7dd6dc1b118d970eafe3ba" +dependencies = [ + "bitflags", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-range-header", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" version = "0.3.1" @@ -5950,15 +5958,15 @@ checksum = "343bc9466d3fe6b0f960ef45960509f84480bf4fd96f92901afe7ff3df9d3a62" [[package]] name = "tower-service" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.33" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80b9fa4360528139bc96100c160b7ae879f5567f49f1782b0b02035b0358ebf3" +checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160" dependencies = [ "cfg-if 1.0.0", "log", @@ -5969,9 +5977,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.20" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e65ce065b4b5c53e73bb28912318cb8c9e9ad3921f1d669eb0e68b4c8143a2b" +checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2" dependencies = [ "proc-macro2", "quote", @@ -5980,11 +5988,11 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.24" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90442985ee2f57c9e1b548ee72ae842f4a9a20e3f417cc38dbc5dc684d9bb4ee" +checksum = "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7" dependencies = [ - "lazy_static", + "once_cell", "valuable", ] @@ -6000,9 +6008,9 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" dependencies = [ "lazy_static", "log", @@ -6011,16 +6019,16 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.11" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bc28f93baff38037f64e6f43d34cfa1605f27a49c34e8a04c5e78b0babf2596" +checksum = "60db860322da191b40952ad9affe65ea23e7dd6a5c442c2c42865810c6ab8e6b" dependencies = [ "ansi_term", - "lazy_static", "matchers", + "once_cell", "regex", "sharded-slab", - "smallvec 1.8.0", + "smallvec 1.9.0", "thread_local", "tracing", "tracing-core", @@ -6035,9 +6043,9 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "ts-rs" -version = "6.1.2" +version = "6.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d26cba30c9b3a2f537f765cf754126f11c983b7426d280ae0b4cef2374cab98" +checksum = "dc59f479df54269b400dd95bc3b7e81623b3e4b9c70c8ca7125ab8341eafa64e" dependencies = [ "thiserror", "ts-rs-macros", @@ -6060,9 +6068,9 @@ dependencies = [ [[package]] name = "ts-rs-macros" -version = "6.1.2" +version = "6.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd8e302fbcf5b60dfa1df443535967511442c5ce4eac8b4c9fa811f2274280a4" +checksum = "9f807fdb3151fee75df7485b901a89624358cd07a67a8fb1a5831bf5a07681ff" dependencies = [ "Inflector", "proc-macro2", @@ -6099,18 +6107,18 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "ubyte" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42756bb9e708855de2f8a98195643dff31a97f0485d90d8467b39dc24be9e8fe" +checksum = "a58e29f263341a29bb79e14ad7fda5f63b1c7e48929bad4c685d7876b1d04e94" dependencies = [ "serde", ] [[package]] name = "ucd-trie" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" +checksum = "89570599c4fe5585de2b388aab47e99f7fa4e9238a1399f707a02e356058141c" [[package]] name = "uint" @@ -6126,9 +6134,9 @@ dependencies = [ [[package]] name = "uncased" -version = "0.9.6" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baeed7327e25054889b9bd4f975f32e5f4c5d434042d59ab6cd4142c0a76ed0" +checksum = "09b01702b0fd0b3fadcf98e098780badda8742d4f4a7676615cad90e8ac73622" dependencies = [ "serde", "version_check", @@ -6155,9 +6163,15 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" + +[[package]] +name = "unicode-ident" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7" [[package]] name = "unicode-normalization" @@ -6182,9 +6196,9 @@ checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" [[package]] name = "unicode-xid" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" [[package]] name = "unicode_categories" @@ -6269,7 +6283,7 @@ dependencies = [ "mixnet-contract-common", "multisig-contract-common", "network-defaults", - "prost 0.10.3", + "prost", "reqwest", "serde", "serde_json", @@ -6501,7 +6515,7 @@ dependencies = [ "ethereum-types", "futures", "futures-timer", - "getrandom 0.2.6", + "getrandom 0.2.7", "headers", "hex", "js-sys", @@ -6519,7 +6533,7 @@ dependencies = [ "tiny-keccak", "tokio", "tokio-stream", - "tokio-util 0.6.9", + "tokio-util 0.6.10", "url", "wasm-bindgen", "wasm-bindgen-futures", @@ -6566,22 +6580,11 @@ dependencies = [ "serde_json", ] -[[package]] -name = "which" -version = "4.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae" -dependencies = [ - "either", - "lazy_static", - "libc", -] - [[package]] name = "wildmatch" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c48bd20df7e4ced539c12f570f937c6b4884928a87fee70a479d72f031d4e0" +checksum = "ee583bdc5ff1cf9db20e9db5bb3ff4c3089a8f6b8b31aff265c9aba85812db86" [[package]] name = "winapi" @@ -6615,47 +6618,90 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows-sys" -version = "0.34.0" +name = "windows" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5acdd78cb4ba54c0045ac14f62d8f94a03d10047904ae2a40afa1e99d8f70825" +checksum = "fbedf6db9096bc2364adce0ae0aa636dcd89f3c3f2cd67947062aaf0ca2a10ec" dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", + "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-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", ] [[package]] name = "windows_aarch64_msvc" -version = "0.34.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d" +checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" [[package]] name = "windows_i686_gnu" -version = "0.34.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed" +checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" + +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" [[package]] name = "windows_i686_msvc" -version = "0.34.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956" +checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" + +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" [[package]] name = "windows_x86_64_gnu" -version = "0.34.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4" +checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" [[package]] name = "windows_x86_64_msvc" -version = "0.34.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9" +checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" [[package]] name = "winreg" @@ -6710,9 +6756,9 @@ checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" [[package]] name = "zeroize" -version = "1.4.3" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d68d9dcec5f9b43a30d38c49f91dfedfaac384cb8f085faca366c26207dd1619" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" dependencies = [ "zeroize_derive", ] diff --git a/nym-wallet/src/components/Modals/ConfirmationModal.tsx b/nym-wallet/src/components/Modals/ConfirmationModal.tsx index e23eb4f13a..d76c9a0c13 100644 --- a/nym-wallet/src/components/Modals/ConfirmationModal.tsx +++ b/nym-wallet/src/components/Modals/ConfirmationModal.tsx @@ -56,7 +56,7 @@ export const ConfirmationModal = ({ const ConfirmButton = typeof confirmButton === 'string' ? ( diff --git a/nym-wallet/src/components/Modals/SimpleModal.tsx b/nym-wallet/src/components/Modals/SimpleModal.tsx index a068a651ce..46adf6d4c1 100644 --- a/nym-wallet/src/components/Modals/SimpleModal.tsx +++ b/nym-wallet/src/components/Modals/SimpleModal.tsx @@ -62,7 +62,7 @@ export const SimpleModal: React.FC<{ {onBack && } - diff --git a/nym-wallet/src/components/Send/SendInputModal.tsx b/nym-wallet/src/components/Send/SendInputModal.tsx index 7d967a5702..7001c3de8c 100644 --- a/nym-wallet/src/components/Send/SendInputModal.tsx +++ b/nym-wallet/src/components/Send/SendInputModal.tsx @@ -60,6 +60,9 @@ export const SendInputModal = ({ fullWidth onChange={(e) => onAddressChange(e.target.value)} value={toAddress} + inputProps={{ + "data-testid": "recipientAddress", + }} /> - + {error} diff --git a/nym-wallet/src/components/Send/SendSuccessModal.tsx b/nym-wallet/src/components/Send/SendSuccessModal.tsx index 5c93d4cc05..289bde3f75 100644 --- a/nym-wallet/src/components/Send/SendSuccessModal.tsx +++ b/nym-wallet/src/components/Send/SendSuccessModal.tsx @@ -32,7 +32,7 @@ export const SendSuccessModal = ({ {txDetails && ( <> {txDetails.amount} - + )} diff --git a/nym-wallet/src/pages/auth/components/heading.tsx b/nym-wallet/src/pages/auth/components/heading.tsx index 210379d222..6c355eb7dd 100644 --- a/nym-wallet/src/pages/auth/components/heading.tsx +++ b/nym-wallet/src/pages/auth/components/heading.tsx @@ -6,7 +6,7 @@ export const Title = ({ title }: { title: string }) => ( ); export const Subtitle = ({ subtitle }: { subtitle: string }) => ( - {subtitle} + {subtitle} ); export const SubtitleSlick = ({ subtitle }: { subtitle: string }) => ( diff --git a/nym-wallet/src/pages/send/SendReview.tsx b/nym-wallet/src/pages/send/SendReview.tsx index 4dfb03ca5b..451a70e82c 100644 --- a/nym-wallet/src/pages/send/SendReview.tsx +++ b/nym-wallet/src/pages/send/SendReview.tsx @@ -5,8 +5,10 @@ import { AppContext } from '../../context/main'; const SendReviewField = ({ title, subtitle, info }: { title: string; subtitle?: string; info?: boolean }) => ( <> - {title} - + + {title} + + {subtitle} diff --git a/nym-wallet/wallet-ui-tests/common/helper.ts b/nym-wallet/wallet-ui-tests/common/helper.ts index 2431f2646c..f5c7355653 100644 --- a/nym-wallet/wallet-ui-tests/common/helper.ts +++ b/nym-wallet/wallet-ui-tests/common/helper.ts @@ -1,18 +1,86 @@ +import Balance from '../tests/pageobjects/balanceScreen' +import Auth from '../tests/pageobjects/authScreens' +const userData = require("../common/user-data.json"); +const deleteScript = require("../scripts/deletesavedwallet") +const savedWalletScript = require("../scripts/savedwalletexists") + + class Helpers { + + // clear wallet data, login, and navigate to QA network + freshMnemonicLoginQaNetwork = async () => { + await deleteScript + await savedWalletScript + await Auth.loginWithMnemonic(userData.mnemonic) + await Balance.selectQa() + } + + loginMnemonic = async () => { + await Auth.loginWithMnemonic(userData.mnemonic) + } + //helper to decode mnemonic so plain 24 character passphrase isn't in sight albeit it is presented when ruunning the scripts // TO-DO figure out what's going on with the decoding bit decodeBase = async (input) => { var m = Buffer.from(input, "base64").toString(); return m; - }; + } navigateAndClick = async (element) => { + await element.waitForClickable({ timeout: 6000 }) await element.click(); - }; + } + + elementVisible = async (element) => { + await element.waitForDisplayed({ timeout: 6000 }) + } + + elementClickable = async (element) => { + await element.toBeClickable({ timeout: 8000 }) + } + + addValueToTextField = async (element, value) => { + await element.addValue(value) + } + + verifyStrictText = async (element, expectedText) => { + let error = await element.getText() + expect(error).toStrictEqual(expectedText) + + } + + verifyPartialText = async (element, expectedText) => { + let error = await element.getText() + expect(error).toContain(expectedText) + } + + currentBalance = async (value) => { + return parseFloat(value.split(/\s+/)[0].toString()).toFixed(5) + } + + + calculateFees = async (beforeBalance, transactionFee, amount, isSend) => { + let fee + + if (isSend) { + //send transaction + fee = transactionFee.split(/\s+/)[0] + } else { + //delegate transaction + fee = transactionFee.split(/\s+/)[3] + } + + const currentBalance = beforeBalance.split(/\s+/)[0] + console.log("currenttttt 2 ............. = " + currentBalance) + const castCurrentBalance = parseFloat(currentBalance).toFixed(5) + console.log("castttt ............. " + castCurrentBalance) + const transCost = +parseFloat(amount) + +parseFloat(fee).toFixed(5) + console.log("trans ............." + transCost) + + let sum = +castCurrentBalance - transCost + return sum.toFixed(5) + } - scrollIntoView = async (element) => { - await element.scrollIntoView(); - }; } module.exports = new Helpers(); diff --git a/nym-wallet/wallet-ui-tests/common/text-constants.ts b/nym-wallet/wallet-ui-tests/common/text-constants.ts index 527f02e440..41b41d9bfe 100644 --- a/nym-wallet/wallet-ui-tests/common/text-constants.ts +++ b/nym-wallet/wallet-ui-tests/common/text-constants.ts @@ -10,15 +10,30 @@ module.exports = { signInWithoutPassword: "A password must be provided", failedToFindWalletFile: "The wallet file is not found", + //headers + mnemonicSignIn: "Enter a mnemonic to sign in", + passwordSignIn: "Enter a password to sign in", + //homePage qaNetwork: "QA", sandboxNetwork: "Testnet Sandbox", mainnetNetwork: "Nym Mainnet", noNym: "0 NYM", + //send + invalidRecipientAddress: "123", + recipientAddress: "n17tj0a0w6v7r2dc54rnkzfza6s8hxs87rj273a5", + amountToSend: "1", + negativeAmount: "-1", + inferiorAmount: "0.0000001", + confirmedAmount: "1 NYM", + sendDetails: "Send details", - + // bond + host: "1.1.1.1", + version: "1.2.1", + // user incorrect data incorrectMnemonic: "giraffe note order sun cradle bottom crime humble able antique rural donkey guess parent potato tongue truly way disagree exile zebra someone else heat", randomString:"thisrandomstring", diff --git a/nym-wallet/wallet-ui-tests/common/user-data.json b/nym-wallet/wallet-ui-tests/common/user-data.json index 37cd9edb45..efe4291069 100644 --- a/nym-wallet/wallet-ui-tests/common/user-data.json +++ b/nym-wallet/wallet-ui-tests/common/user-data.json @@ -1,9 +1,9 @@ { "mnemonic": "giraffe note order sun cradle bottom crime humble able antique rural donkey guess parent potato tongue truly way disagree exile zebra someone else typical", - "punk_address": "", - "receiver_address": "", - "amount_to_send": "", - "identity_key_to_delegate_mix_node": "", + "qa_address": "n1qqct7gs79yrjncpkumljxeqjsnwvn42j2g3fw4", + "receiver_address": "n167rupnmpput2alw62sz43eelks03zek4fwvjk0", + "amount_to_send": "1", + "identity_key_to_delegate_mix_node": "HqW2HStFHtAZ3PxRaiSCh7xJK6B7swoR1gSmJzH2iV9g", "identity_key_to_delegate_gateway": "", - "delegate_amount": "" + "delegate_amount": "10" } diff --git a/nym-wallet/wallet-ui-tests/package.json b/nym-wallet/wallet-ui-tests/package.json index db7ee8a4d8..81f6892235 100644 --- a/nym-wallet/wallet-ui-tests/package.json +++ b/nym-wallet/wallet-ui-tests/package.json @@ -7,7 +7,9 @@ "test:signup": "wdio run wdio.conf.ts --suite signup", "test:login": "wdio run wdio.conf.ts --suite login", "test:balance": "wdio run wdio.conf.ts --suite balance", - "test:nav": "wdio run wdio.conf.ts --suite nav" + "test:nav": "wdio run wdio.conf.ts --suite nav", + "test:send": "wdio run wdio.conf.ts --suite send", + "test:delegation": "wdio run wdio.conf.ts --suite delegation" }, "author": "", diff --git a/nym-wallet/wallet-ui-tests/scripts/savedwalletexists.ts b/nym-wallet/wallet-ui-tests/scripts/savedwalletexists.ts index 134075745e..7704c72aba 100644 --- a/nym-wallet/wallet-ui-tests/scripts/savedwalletexists.ts +++ b/nym-wallet/wallet-ui-tests/scripts/savedwalletexists.ts @@ -1,4 +1,14 @@ const { exec } = require("child_process") -const doesFileExist = exec("test -f /home/benedetta/.local/share/nym-wallet/saved-wallet.json" && "echo '$FILE exists.'" || "echo 'file doesn't exist'") - // scriptExist ? expect(getErrorWarning).toStrictEqual(textConstants.invalidPasswordOnSignIn) : expect(getErrorWarning).toStrictEqual(textConstants.failedToFindWalletFile) +// const doesFileExist = exec("test -f /home/benedetta/.local/share/nym-wallet/saved-wallet.json" && "echo '$FILE exists.'" || "echo 'file doesn't exist'") +// scriptExist ? expect(getErrorWarning).toStrictEqual(textConstants.invalidPasswordOnSignIn) : expect(getErrorWarning).toStrictEqual(textConstants.failedToFindWalletFile) + + +const doesFileExist = exec("test -f /home/benedetta/.local/share/nym-wallet/saved-wallet.json", (err, stdout, stderr) => { + if (err) { + console.error(`${err.message}`) + return + } else + console.log("File: " + stdout) + }) + \ No newline at end of file diff --git a/nym-wallet/wallet-ui-tests/tests/pageobjects/authScreens.ts b/nym-wallet/wallet-ui-tests/tests/pageobjects/authScreens.ts index 7a364a5bed..dcc3e10f5d 100644 --- a/nym-wallet/wallet-ui-tests/tests/pageobjects/authScreens.ts +++ b/nym-wallet/wallet-ui-tests/tests/pageobjects/authScreens.ts @@ -12,6 +12,7 @@ class Auth { get forgotPassword() { return $("[data-testid='forgotPassword']") } // Sign in with mnemonic page + get mnemonicLoginScreenHeader() { return $("[data-testid='Enter a mnemonic to sign in']") } get mnemonicInput() { return $("[data-testid='mnemonicInput']") } get signIn() { return $("[data-testid='signInSubmitButton']") } get backToSignInOptions() { return $("[data-testid='backToSignInOptions']") } @@ -44,6 +45,7 @@ class Auth { get skipPasswordAndSignInWithMnemonic() { return $("[data-testid='skipPasswordAndSignInWithMnemonic']") } // Enter password to sign in + get passwordLoginScreenHeader() { return $("[data-testid='Enter a password to sign in']") } get enterPassword() { return $("[data-testid='Enter password']") } get signInPasswordButton() { return $("[data-testid='signInPasswordButton']") } get backToSignInOptionsFromPassword() { return $("[data-testid='backToSignInOptionsFromPassword']") } @@ -64,7 +66,7 @@ class Auth { await this.mnemonicInput.waitForDisplayed() await this.mnemonicInput.addValue(mnemonic); await this.signIn.click(); - await Balance.nymBalance.isExisting({timeout:4000}); + await Balance.nymBalance.isExisting({ timeout: 4000 }); }; } diff --git a/nym-wallet/wallet-ui-tests/tests/pageobjects/balanceScreen.ts b/nym-wallet/wallet-ui-tests/tests/pageobjects/balanceScreen.ts index d68e74e283..bb861a25b6 100644 --- a/nym-wallet/wallet-ui-tests/tests/pageobjects/balanceScreen.ts +++ b/nym-wallet/wallet-ui-tests/tests/pageobjects/balanceScreen.ts @@ -4,14 +4,20 @@ class Balance { get checkBalance() { return $("[data-testid='check-balance']") } get nymBalance() { return $("[data-testid='nym-balance']") } - get copyAccountId() { return $("[data-testid='copyIcon']")} + get copyAccountId() { return $("[data-testid='copyIcon']") } - get accountNumber() { return $("[data-testid='accountNumber']")} + get accountNumber() { return $("[data-testid='accountNumber']") } get networkDropdown() { return $("[data-testid='ArrowDropDownIcon']") } get networkEnv() { return $("[data-testid='networkEnv']") } get networkSelectQa() { return $("[data-testid='QA']") } - + selectQa = async () => { + await this.networkDropdown.waitForDisplayed({ timeout: 4000 }) + await this.networkDropdown.click() + await this.networkSelectQa.waitForClickable({ timeout: 4000 }) + await this.networkSelectQa.click() + await this.networkEnv.waitForClickable({ timeout: 2000 }) + } } export default new Balance() \ No newline at end of file diff --git a/nym-wallet/wallet-ui-tests/tests/pageobjects/delegationScreen.ts b/nym-wallet/wallet-ui-tests/tests/pageobjects/delegationScreen.ts index 5f37dec8a1..f968eb12cc 100644 --- a/nym-wallet/wallet-ui-tests/tests/pageobjects/delegationScreen.ts +++ b/nym-wallet/wallet-ui-tests/tests/pageobjects/delegationScreen.ts @@ -1,6 +1,8 @@ class Delegation { get delegationTitle() { return $("[data-testid='Delegation']") } + get delegateStakeButton() { return $("[data-testid='Delegate stake']") } + get delegateModalHeader() { return $("[data-testid='Delegate']") } } diff --git a/nym-wallet/wallet-ui-tests/tests/pageobjects/sendScreen.ts b/nym-wallet/wallet-ui-tests/tests/pageobjects/sendScreen.ts index 8e78b4adc9..8efc6e5a3c 100644 --- a/nym-wallet/wallet-ui-tests/tests/pageobjects/sendScreen.ts +++ b/nym-wallet/wallet-ui-tests/tests/pageobjects/sendScreen.ts @@ -1,5 +1,28 @@ class Send { + // send nym form get sendHeader() { return $("[data-testid='Send']") } + get recipientAddress() { return $("[data-testid='recipientAddress']") } + // get sendAmount() { return $("[data-testid='Amount']") } + get sendAmount() { return $("#mui-5") } // TO-DO fix this selector, using #mui-5 isn't a good solution + get next() { return $("[data-testid='Next']") } + + // confirm transaction modal + get sendDetailsHeader() { return $("[data-testid='Send details']") } + get from() { return $("/html/body/div[2]/div[3]/div[2]/div[1]/div[1]") } + get to() { return $("/html/body/div[2]/div[3]/div[2]/div[2]") } + get amount() { return $("/html/body/div[2]/div[3]/div[2]/div[3]") } + get fee() { return $("/html/body/div[2]/div[3]/div[2]/div[4]") } + + get confirm() { return $("[data-testid='Confirm']") } + + + // transaction sent + get viewOnBlockchain() { return $("[data-testid='viewOnBlockchain']") } + get done() { return $("[data-testid='Done']") } + + + + } export default new Send() \ No newline at end of file diff --git a/nym-wallet/wallet-ui-tests/tests/specs/balance/balanceHomepage.spec.ts b/nym-wallet/wallet-ui-tests/tests/specs/balance/balanceHomepage.spec.ts index 037c1c09a5..2d024b7bd5 100644 --- a/nym-wallet/wallet-ui-tests/tests/specs/balance/balanceHomepage.spec.ts +++ b/nym-wallet/wallet-ui-tests/tests/specs/balance/balanceHomepage.spec.ts @@ -2,34 +2,31 @@ import Balance from '../../pageobjects/balanceScreen' import Auth from '../../pageobjects/authScreens' const textConstants = require("../../../common/text-constants"); const userData = require("../../../common/user-data.json"); +const Helper = require('../../../common/helper'); + describe('Balance screen displays correctly', () => { it('selecting qa network', async () => { //log in - await Auth.loginWithMnemonic(userData.mnemonic) - + await Helper.loginMnemonic() // select QA network - await (await Balance.networkDropdown).waitForDisplayed({ timeout: 4000 }) - await (await Balance.networkDropdown).click() - await (await Balance.networkSelectQa).waitForDisplayed({ timeout: 2500 }) - await (await Balance.networkSelectQa).click() - + await Helper.navigateAndClick(Balance.networkDropdown) + await Helper.navigateAndClick(Balance.networkSelectQa) // verifty QA network has been selected properly - let network = await (await Balance.networkEnv).getText() - expect(network).toStrictEqual(textConstants.qaNetwork) + await Helper.verifyStrictText(Balance.networkEnv, textConstants.qaNetwork) }) it('copy the account id', async () => { + // ensure the account number contains *something* - await (await Balance.accountNumber).waitForDisplayed({ timeout: 1500 }) - let accountnumber = await (await Balance.accountNumber).getText() - expect(accountnumber[1]).toStrictEqual('1') - await (await Balance.copyAccountId).waitForClickable({ timeout: 1500 }) - await (await Balance.copyAccountId).click() + await Helper.elementVisible(Balance.accountNumber) + await Helper.verifyPartialText(Balance.accountNumber[1],'1') + await Helper.navigateAndClick(Balance.copyAccountId) // TO-DO is there a way to verify that the copy worked, aka pasting it somewhere maybe? + }) }) \ No newline at end of file diff --git a/nym-wallet/wallet-ui-tests/tests/specs/delegation/mixnodedelegation.spec.ts b/nym-wallet/wallet-ui-tests/tests/specs/delegation/mixnodedelegation.spec.ts new file mode 100644 index 0000000000..a8e1c36b14 --- /dev/null +++ b/nym-wallet/wallet-ui-tests/tests/specs/delegation/mixnodedelegation.spec.ts @@ -0,0 +1,21 @@ +import Balance from '../../pageobjects/balanceScreen' +import Auth from '../../pageobjects/authScreens' +import Nav from '../../pageobjects/appNavConstants' +import Delegation from '../../pageobjects/delegationScreen' +import Send from '../../pageobjects/sendScreen' +const Helper = require('../../../common/helper'); +const textConstants = require("../../../common/text-constants"); +const userData = require("../../../common/user-data.json"); + +describe('Delegate to a mixnode', () => { + + it('entering an invalid node identity key', async () => { + + //login and navigate to the screen + await Helper.freshMnemonicLoginQaNetwork() + await Helper.navigateAndClick(Nav.delegation) + await Helper.elementVisible(Delegation.delegationTitle) + // TO-DO enter an invalid node + + }) +}) \ No newline at end of file diff --git a/nym-wallet/wallet-ui-tests/tests/specs/existingaccount/createPasswordLogin.spec..ts b/nym-wallet/wallet-ui-tests/tests/specs/existingaccount/createPasswordLogin.spec..ts index 20e2107062..2007337821 100644 --- a/nym-wallet/wallet-ui-tests/tests/specs/existingaccount/createPasswordLogin.spec..ts +++ b/nym-wallet/wallet-ui-tests/tests/specs/existingaccount/createPasswordLogin.spec..ts @@ -1,9 +1,10 @@ import Auth from '../../pageobjects/authScreens' import Balance from '../../pageobjects/balanceScreen' import ValidatorClient from '@nymproject/nym-validator-client'; +const deleteScript = require("../../../scripts/deletesavedwallet") const textConstants = require("../../../common/text-constants"); const userData = require("../../../common/user-data.json"); -const { exec } = require("child_process") + const Helper = require('../../../common/helper'); describe('Create password for existing account and use it to sign in', () => { @@ -11,27 +12,25 @@ describe('Create password for existing account and use it to sign in', () => { it('enter incorrect mnemonic', async () => { //click through sign in - await (await Auth.signInButton).click() - await (await Auth.signInMnemonic).click() + await Helper.navigateAndClick(Auth.signInButton) + await Helper.navigateAndClick(Auth.signInMnemonic) //instead of entering mnemonic, click on create a password - await (await Auth.createPassword).click() + await Helper.navigateAndClick(Auth.createPassword) //enter incorrect mnemonic - await (await Auth.mnemonicInput).addValue(textConstants.incorrectMnemonic) - await (await Auth.nextToPasswordCreation).click() - // assert error message is correct - let getErrorWarning = await (await Auth.error).getText() - expect(getErrorWarning).toStrictEqual(textConstants.incorrectMnemonicPasswordCreation) + await Helper.addValueToTextField(Auth.mnemonicInput, textConstants.incorrectMnemonic) + await Helper.navigateAndClick(Auth.nextToPasswordCreation) + // assert error message is correct + await Helper.verifyStrictText(Auth.error, textConstants.incorrectMnemonicPasswordCreation) }) it('enter random string', async () => { // enter random string as mnemonic - await (await Auth.mnemonicInput).addValue(textConstants.randomString) - await (await Auth.nextToPasswordCreation).click() + await Helper.addValueToTextField(Auth.mnemonicInput, textConstants.randomString) + await Helper.navigateAndClick(Auth.nextToPasswordCreation) // assert error is correct - let getErrorWarning = await (await Auth.error).getText() - expect(getErrorWarning).toStrictEqual(textConstants.incorrectMnemonicPasswordCreation) + await Helper.verifyStrictText(Auth.error, textConstants.incorrectMnemonicPasswordCreation) }) @@ -40,20 +39,21 @@ describe('Create password for existing account and use it to sign in', () => { // generate random mnemonic in the backend const randomMnemonic = ValidatorClient.randomMnemonic(); + deleteScript // use it to continue with password creation flow - await (await Auth.backToMnemonicSignIn).click() - await (await Auth.createPassword).click() - await (await Auth.mnemonicInput).addValue(randomMnemonic) - await (await Auth.nextToPasswordCreation).click() - await (await Auth.password).waitForDisplayed({ timeout: 2500 }) - + await Helper.navigateAndClick(Auth.backToMnemonicSignIn) + await Helper.navigateAndClick(Auth.createPassword) + await Helper.addValueToTextField(Auth.mnemonicInput, randomMnemonic) + await Helper.navigateAndClick(Auth.nextToPasswordCreation) + await Helper.elementVisible(Auth.password) }) it('create an invalid password', async () => { + // type an invalid password in both fields - await (await Auth.password).addValue(textConstants.incorrectPassword) - await (await Auth.confirmPassword).click({timeout: 1500}) - await (await Auth.confirmPassword).addValue(textConstants.incorrectPassword) + await Helper.addValueToTextField(Auth.password, textConstants.incorrectPassword) + await Helper.navigateAndClick(Auth.confirmPassword) + await Helper.addValueToTextField(Auth.confirmPassword, textConstants.incorrectPassword) // ensure the button to proceed is still disabled const nextButton = await Auth.createPasswordButton const isNextDisabled = await nextButton.getAttribute('disabled') @@ -61,37 +61,39 @@ describe('Create password for existing account and use it to sign in', () => { }) - it('create a valid password', async () =>{ - await (await Auth.password).click({timeout: 1500}) - await (await Auth.password).addValue(textConstants.password) - await (await Auth.confirmPassword).click({timeout: 1500}) - await (await Auth.confirmPassword).addValue(textConstants.password) - await (await Auth.createPasswordButton).click() + it('create a valid password', async () => { + + // type a valid password in both fields + await Helper.navigateAndClick(Auth.password) + await Helper.addValueToTextField(Auth.password, textConstants.password) + await Helper.navigateAndClick(Auth.confirmPassword) + await Helper.addValueToTextField(Auth.confirmPassword, textConstants.password) + // verify the password is created and the next screen is visible + await Helper.navigateAndClick(Auth.createPasswordButton) + await Helper.verifyStrictText(Auth.passwordLoginScreenHeader, textConstants.passwordSignIn) }) it('sign in with no password throws error', async () => { //click sign without entering a password - await (await Auth.signInPasswordButton).click() + await Helper.navigateAndClick(Auth.signInPasswordButton) // wait for error - await (await Auth.error).waitForDisplayed({ timeout: 1500 }) - let getErrorWarning = await (await Auth.error).getText() + await Helper.elementVisible(Auth.error) // verify error has the correct message - expect(getErrorWarning).toStrictEqual(textConstants.signInWithoutPassword) + await Helper.verifyStrictText(Auth.error, textConstants.signInWithoutPassword) }) it('sign in with invalid password throws error', async () => { // enter invalid password - await (await Auth.enterPassword).addValue(textConstants.incorrectPassword) - await (await Auth.signInPasswordButton).click() + await Helper.addValueToTextField(Auth.enterPassword, textConstants.incorrectPassword) + await Helper.navigateAndClick(Auth.signInPasswordButton) // wait for error - await (await Auth.error).waitForDisplayed({ timeout: 1500 }) - let getErrorWarning = await (await Auth.error).getText() - expect(getErrorWarning).toStrictEqual(textConstants.invalidPasswordOnSignIn) - + await Helper.elementVisible(Auth.error) + await Helper.verifyStrictText(Auth.error, textConstants.invalidPasswordOnSignIn) + }) }) \ No newline at end of file diff --git a/nym-wallet/wallet-ui-tests/tests/specs/existingaccount/loginMnemonic.spec.ts b/nym-wallet/wallet-ui-tests/tests/specs/existingaccount/loginMnemonic.spec.ts index 251dcf1e48..1c19bcf85d 100644 --- a/nym-wallet/wallet-ui-tests/tests/specs/existingaccount/loginMnemonic.spec.ts +++ b/nym-wallet/wallet-ui-tests/tests/specs/existingaccount/loginMnemonic.spec.ts @@ -1,68 +1,67 @@ import Auth from '../../pageobjects/authScreens' import Balance from '../../pageobjects/balanceScreen' +import ValidatorClient from '@nymproject/nym-validator-client'; +import { text } from 'stream/consumers'; const textConstants = require("../../../common/text-constants"); const userData = require("../../../common/user-data.json"); +const Helper = require('../../../common/helper'); + describe('Wallet sign in functionality with mnemonic', () => { + it('get to the sign in with mnemonic screen', async () => { + + // click through to reach the mnemonic sign in + await Helper.navigateAndClick(Auth.signInButton) + await Helper.navigateAndClick(Auth.signInMnemonic) + // verify you are on the right screen by confirming the header + await Helper.verifyStrictText(Auth.mnemonicLoginScreenHeader, textConstants.mnemonicSignIn) + + }) + it('sign in with no mnemonic throws error', async () => { - //click through sign without entering a mnemonic - await (await Auth.signInButton).click() - await (await Auth.signInMnemonic).click() - await (await Auth.signIn).click() - - // // wait for error - // await (await Auth.error).waitForDisplayed({ timeout: 1500 }) - // let getErrorWarning = await (await Auth.error).getText() - + await Helper.navigateAndClick(Auth.signIn) + // wait for error + await Helper.elementVisible(Auth.error) // verify error has the correct message - expect(Auth.getErrorMessage).toStrictEqual(textConstants.signInWithoutMnemonic) + await Helper.verifyStrictText(Auth.error, textConstants.signInWithoutMnemonic) }) it('sign in with incorrect mnemonic throws error', async () => { // enter an incorrect mnemonic string - await (await Auth.mnemonicInput).addValue(textConstants.incorrectMnemonic) - await (await Auth.signIn).click() + await Helper.addValueToTextField(Auth.mnemonicInput, textConstants.incorrectMnemonic) + await Helper.navigateAndClick(Auth.signIn) // verifty error message is correct - let getErrorWarning = await (await Auth.error).getText() - expect(getErrorWarning).toContain(textConstants.signInIncorrectMnemonic) + await Helper.verifyPartialText(Auth.error, textConstants.signInIncorrectMnemonic) }) it('sign in with random string throws error', async () => { + // enter a random string not in mnemonic "format" - await (await Auth.mnemonicInput).addValue(textConstants.randomString) - await (await Auth.signIn).click() + await Helper.addValueToTextField(Auth.mnemonicInput, textConstants.randomString) + await Helper.navigateAndClick(Auth.signIn) // verifty error message is correct - let getErrorWarning = await (await Auth.error).getText() - expect(getErrorWarning).toContain(textConstants.signInRandomString) + await Helper.verifyPartialText(Auth.error, textConstants.signInRandomString) }) it('should sign in with valid credentials', async () => { - // go back to create account option - await (await Auth.backToSignInOptions).click() - await (await Auth.backToWelcomePage).click() // create new mnemonic - await (await Auth.createAccount).click() - let mnemonic = await (await Auth.mnemonicPhrase).getText() - await (await Auth.backToWelcomePageFromCreate).click() - // back on login page then enter the mnemonic - await (await Auth.signInButton).click() - await (await Auth.signInMnemonic).click() - await (await Auth.mnemonicInput).waitForDisplayed() - await (await Auth.mnemonicInput).addValue(mnemonic) - await (await Auth.signIn).click() + const randomMnemonic = ValidatorClient.randomMnemonic(); + // enter mnemonic + await Helper.addValueToTextField(Auth.mnemonicInput, randomMnemonic) + await Helper.navigateAndClick(Auth.signIn) // verify successful login, balance is visible - await (await Balance.balance).waitForDisplayed({ timeout: 5000 }) - let balance = await (await Balance.nymBalance).getText() + await Helper.elementVisible(Balance.balance) //new accounts will always default to mainnet, so 0 balance - expect(balance).toStrictEqual(textConstants.noNym) + // TO-DO this value sometimes returns " " instead of "0" + await Helper.verifyStrictText(Balance.nymBalance, textConstants.noNym) }) }) \ No newline at end of file diff --git a/nym-wallet/wallet-ui-tests/tests/specs/existingaccount/loginWithoutPasswordSaved.spec.ts b/nym-wallet/wallet-ui-tests/tests/specs/existingaccount/loginWithoutPasswordSaved.spec.ts index b56d505043..f5be742f97 100644 --- a/nym-wallet/wallet-ui-tests/tests/specs/existingaccount/loginWithoutPasswordSaved.spec.ts +++ b/nym-wallet/wallet-ui-tests/tests/specs/existingaccount/loginWithoutPasswordSaved.spec.ts @@ -4,23 +4,25 @@ const textConstants = require("../../../common/text-constants"); const userData = require("../../../common/user-data.json"); const deleteWallet = require("../../../scripts/deletesavedwallet"); const walletExists = require("../../../scripts/savedwalletexists") -const { exec } = require("child_process") +const Helper = require('../../../common/helper'); describe('Wallet sign in functionality without creating password', () => { it('sign in with invalid password and no saved wallet.json file throws error', async () => { - //click through sign without entering a password - await (await Auth.signInButton).click() - await (await Auth.signInPassword).click() + // delete existing saved wallet file + deleteWallet + //click through sign without entering a password + await Helper.navigateAndClick(Auth.signInButton) + await Helper.navigateAndClick(Auth.signInPassword) // enter invalid password - await (await Auth.enterPassword).addValue(textConstants.incorrectPassword) - await (await Auth.signInPasswordButton).click() + await Helper.addValueToTextField(Auth.enterPassword,textConstants.incorrectPassword) + await Helper.navigateAndClick(Auth.signInPasswordButton) // wait for error - await (await Auth.error).waitForDisplayed({ timeout: 1500 }) - let getErrorWarning = await (await Auth.error).getText() - expect(getErrorWarning).toStrictEqual(textConstants.failedToFindWalletFile) + await Helper.elementVisible(Auth.error) + // verify error has the correct message + await Helper.verifyStrictText(Auth.error, textConstants.failedToFindWalletFile) }) diff --git a/nym-wallet/wallet-ui-tests/tests/specs/navbaritems/navbarItems.spec.ts b/nym-wallet/wallet-ui-tests/tests/specs/navbaritems/navbarItems.spec.ts index 7dc6410eff..9f20bb88e3 100644 --- a/nym-wallet/wallet-ui-tests/tests/specs/navbaritems/navbarItems.spec.ts +++ b/nym-wallet/wallet-ui-tests/tests/specs/navbaritems/navbarItems.spec.ts @@ -7,29 +7,29 @@ import Bond from '../../pageobjects/bondScreen' import Unbond from '../../pageobjects/unbondScreen' import Delegation from '../../pageobjects/delegationScreen' const userData = require("../../../common/user-data.json"); +const Helper = require('../../../common/helper'); + describe('Nav Items behave correctly', () => { it('switch from light to dark mode and back', async () => { //log in - await Auth.loginWithMnemonic(userData.mnemonic) + await Helper.freshMnemonicLoginQaNetwork() // click on different modes - await (await Nav.lightMode).waitForDisplayed({ timeout: 6000 }) - await (await Nav.lightMode).click() - await (await Nav.darkMode).click() - await (await Nav.lightMode).waitForDisplayed({ timeout: 2500 }) + await Helper.navigateAndClick(Nav.lightMode) + await Helper.navigateAndClick(Nav.darkMode) + await Helper.elementVisible(Nav.lightMode) }) it('clicking terminal opens the modal', async () => { // ensure the terminal button opens the terminal - await (await Nav.terminalIcon).waitForDisplayed({ timeout: 1500 }) - await (await Nav.terminalIcon).click() - await (await Nav.terminalTitle).waitForDisplayed({ timeout: 2000 }) - let terminalTitle = await (await Nav.terminalTitle).getText() - expect(terminalTitle).toContain('Terminal') + await Helper.elementVisible(Nav.terminalIcon) + await Helper.navigateAndClick(Nav.terminalIcon) + await Helper.elementVisible(Nav.terminalTitle) + await Helper.verifyPartialText(Nav.terminalTitle, 'Terminal') }) @@ -37,41 +37,37 @@ describe('Nav Items behave correctly', () => { describe('Menu items lead to correct screen', () => { + //TO-DO none of this works + //check each menu item opens the right screen/modal it('check Balance link works', async () => { - await (await Nav.balance).click() - let balanceTitle = await (await Balance.balance).getText() - expect(balanceTitle).toContain('Balance') + await Helper.navigateAndClick(Nav.balance) + await Helper.verifyPartialText(Balance.balance, 'Balance') }) it('check Send link works', async () => { - await (await Nav.send).click() - let sendTitle = await (await Send.sendHeader).getText() - expect(sendTitle).toContain('Send') - await (await Nav.closeIcon).click() + await Helper.navigateAndClick(Nav.send) + await Helper.verifyPartialText(Send.sendHeader, 'Send') + await Helper.navigateAndClick(Nav.closeIcon) }) it('check Receive link works', async () => { - await (await Nav.receive).click() - let receiveNymTitle = await (await Receive.receiveNymTitle).getText() - expect(receiveNymTitle).toContain('Receive NYM') + await Helper.navigateAndClick(Nav.receive) + await Helper.verifyPartialText(Receive.receiveNymTitle, 'Receive NYM') }) it('check Bond link works', async () => { - await (await Nav.bond).click() - let bondTitle = await (await Bond.bondTitle).getText() - expect(bondTitle).toContain('Bond') + await Helper.navigateAndClick(Nav.bond) + await Helper.verifyPartialText(Bond.bondTitle, 'Bond') }) it('check Unbond link works', async () => { - await (await Nav.unbond).click() - let unbondTitle = await (await Unbond.unbondTitle).getText() - expect(unbondTitle).toContain('Unbond') + await Helper.navigateAndClick(Nav.unbond) + await Helper.verifyPartialText(Unbond.unbondTitle, 'Unbond') }) it('check Delegation link works', async () => { - await (await Nav.delegation).click() - let delegationTitle = await (await Delegation.delegationTitle).getText() - expect(delegationTitle).toContain('Delegation') + await Helper.navigateAndClick(Nav.delegation) + await Helper.verifyPartialText(Delegation.delegationTitle, 'Delegation') }) }) \ No newline at end of file diff --git a/nym-wallet/wallet-ui-tests/tests/specs/newaccount/newAccount.spec.ts b/nym-wallet/wallet-ui-tests/tests/specs/newaccount/newAccount.spec.ts index 88ed4d57e8..2b47a809a7 100644 --- a/nym-wallet/wallet-ui-tests/tests/specs/newaccount/newAccount.spec.ts +++ b/nym-wallet/wallet-ui-tests/tests/specs/newaccount/newAccount.spec.ts @@ -2,20 +2,25 @@ import Auth from '../../pageobjects/authScreens' import Balance from '../../pageobjects/balanceScreen' const textConstants = require("../../../common/text-constants"); const userData = require("../../../common/user-data.json"); +const deleteScript = require("../../../scripts/deletesavedwallet") +const Helper = require('../../../common/helper'); describe('Create a new account and verify it exists', () => { it('generate new mnemonic and verify mnemonic words', async () => { - await (await Auth.createAccount).click() - await (await Auth.mnemonicPhrase).waitForDisplayed({ timeout: 2500 }) + // delete any existing saved-wallet.json + deleteScript + // click through create account flow + await Helper.navigateAndClick(Auth.createAccount) + await Helper.elementVisible(Auth.mnemonicPhrase) + // save mnemonic phrase let mnemonic = await (await Auth.mnemonicPhrase).getText() let arrayMnemonic = mnemonic.split(" ") - await (await Auth.copyMnemonic).click() - await (await expect(Auth.iSavedMnemonic).toBeClickable()) - await (await Auth.iSavedMnemonic).click() - + await Helper.navigateAndClick(Auth.copyMnemonic) + await Helper.navigateAndClick(Auth.iSavedMnemonic) + // verify the mnemonic words in the correct order let mnemonicWordTiles = await (await Auth.mnemonicWordTile) let wordTileIndex = await (await Auth.wordIndex) @@ -34,7 +39,7 @@ describe('Create a new account and verify it exists', () => { await match.word.click() } } - + // ensure that once the task above is complete, the 'next' button is enabled const nextButton = await Auth.nextToStep3 const isNextDisabled = await nextButton.getAttribute('disabled') expect(isNextDisabled).toBe(null) @@ -42,17 +47,24 @@ describe('Create a new account and verify it exists', () => { }) it('click skip password', async () => { - await (await Auth.nextToStep3).click() - await (await Auth.skipPasswordAndSignInWithMnemonic).click() - await (await Auth.mnemonicInput).waitForDisplayed({ timeout: 1500 }) - await (await Auth.backToSignInOptions).click() + + // click on skip password creation + await Helper.navigateAndClick(Auth.nextToStep3) + await Helper.navigateAndClick(Auth.skipPasswordAndSignInWithMnemonic) + // can see mnemonic login page + await Helper.elementVisible(Auth.mnemonicInput) + await Helper.navigateAndClick(Auth.backToSignInOptions) + }) it('set up invalid password for new account', async () => { - await (await Auth.password).click() - await (await Auth.password).addValue(textConstants.incorrectPassword) - await (await Auth.confirmPassword).click() - await (await Auth.confirmPassword).addValue(textConstants.incorrectPassword) + + // enter invalid password in both fields + await Helper.navigateAndClick(Auth.password) + await Helper.addValueToTextField(Auth.password, textConstants.incorrectPassword) + await Helper.navigateAndClick(Auth.confirmPassword) + await Helper.addValueToTextField(Auth.confirmPassword, textConstants.incorrectPassword) + // verify that the 'next' button is still disabled const nextButton = await Auth.nextStorePassword const isNextDisabled = await nextButton.getAttribute('disabled') expect(isNextDisabled).toBe("true") @@ -60,24 +72,30 @@ describe('Create a new account and verify it exists', () => { }) it('set up valid password for new account', async () => { - await (await Auth.password).click() - await (await Auth.password).addValue(textConstants.password) - await (await Auth.confirmPassword).click() - await (await Auth.confirmPassword).addValue(textConstants.password) + + // enter a valid password in both fields + await Helper.navigateAndClick(Auth.password) + await Helper.addValueToTextField(Auth.password, textConstants.password) + await Helper.navigateAndClick(Auth.confirmPassword) + await Helper.addValueToTextField(Auth.confirmPassword, textConstants.password) + // verify that the 'next' button is clickable const nextButton = await Auth.nextStorePassword const isNextDisabled = await nextButton.getAttribute('disabled') expect(isNextDisabled).toBe(null) + }) it('proceed to login with newly created password', async () => { - await (await Auth.nextStorePassword).click() - await (await Auth.enterPassword).waitForDisplayed({ timeout: 1500 }) - await (await Auth.enterPassword).addValue(textConstants.password) - await (await Auth.signInPasswordButton).click() - await (await Balance.balance).waitForDisplayed({ timeout: 4000 }) - let balance = await (await Balance.nymBalance).getText() + // login with a password + await Helper.navigateAndClick(Auth.nextStorePassword) + await Helper.navigateAndClick(Auth.enterPassword) + await Helper.addValueToTextField(Auth.enterPassword, textConstants.password) + await Helper.navigateAndClick(Auth.signInPasswordButton) + // TO-DO for some reason this is failing due to failed to decrypt the wallet etc error + await Helper.elementVisible(Balance.balance) //new accounts will always default to mainnet, so 0 balance - expect(balance).toStrictEqual(textConstants.noNym) + await Helper.verifyStrictText(Balance.nymBalance, textConstants.noNym) + }) }) \ No newline at end of file diff --git a/nym-wallet/wallet-ui-tests/tests/specs/send/send.spec.ts b/nym-wallet/wallet-ui-tests/tests/specs/send/send.spec.ts new file mode 100644 index 0000000000..bc9964cbda --- /dev/null +++ b/nym-wallet/wallet-ui-tests/tests/specs/send/send.spec.ts @@ -0,0 +1,62 @@ +import Balance from '../../pageobjects/balanceScreen' +import Auth from '../../pageobjects/authScreens' +import Nav from '../../pageobjects/appNavConstants' +import Send from '../../pageobjects/sendScreen' +const Helper = require('../../../common/helper'); +const textConstants = require("../../../common/text-constants"); +const userData = require("../../../common/user-data.json"); + +describe.skip('Send modal functions correctly', () => { + + it('entering an invalid recipient address shows error', async () => { + + // sign in with mnemonic and select QA + await Helper.freshMnemonicLoginQaNetwork() + // click on send and check modal appears + await Helper.navigateAndClick(Nav.send) + await Helper.elementVisible(Send.sendHeader) + // add an invalid recipient address + await Helper.addValueToTextField(Send.recipientAddress, textConstants.invalidRecipientAddress) + // TO-DO -- question: should there not be an error message before clicking on Next to warn that the address is invalid? + }) + + it('entering an valid recipient address with negative amount value shows error', async () => { + + await Helper.navigateAndClick(Send.recipientAddress) + // TO-DO figure out how to clear a text field before adding new value + await (Send.recipientAddress).clearValue() + await Helper.addValueToTextField(Send.recipientAddress, userData.receiver_address) + await Helper.navigateAndClick(Send.sendAmount) + await Helper.addValueToTextField(Send.sendAmount, textConstants.negativeAmount) + //next button is still disabled and error message appears + const nextButton = await Send.next + const isNextDisabled = await nextButton.getAttribute('disabled') + expect(isNextDisabled).toBe("true") + + }) + + it('enter a valid recipient and value', async () => { + + // enter valid data + await Helper.addValueToTextField(Send.recipientAddress, userData.receiver_address) + const getCurrentBalance = await (await Balance.nymBalance).getText() + await Helper.addValueToTextField(Send.sendAmount, textConstants.amountToSend) + // click on next and verify details + await Helper.navigateAndClick(Send.next) + const fee = await (await Send.fee).getText() + await Helper.verifyPartialText(Send.sendDetailsHeader, textConstants.sendDetails) + await Helper.verifyPartialText(Send.amount, textConstants.confirmedAmount) + + await Helper.navigateAndClick(Send.confirm) + await Helper.elementVisible(Send.viewOnBlockchain) + await Helper.elementClickable(Send.done) + + // calculate the transaction and verify it has been correctly executed + let sumCost = await Helper.calculateFees(getCurrentBalance, fee, textConstants.amountToSend, true) + const getNewBalance = await Balance.nymBalance.getText() + + await Helper.navigateAndClick(Send.done) + // TO-DO the following fails with "TypeError: elem[prop] is not a function" + expect(getNewBalance).toEqual(sumCost) + }) +}) \ No newline at end of file diff --git a/nym-wallet/wallet-ui-tests/tsconfig.json b/nym-wallet/wallet-ui-tests/tsconfig.json index a68e68afb1..dc6e4fd3de 100644 --- a/nym-wallet/wallet-ui-tests/tsconfig.json +++ b/nym-wallet/wallet-ui-tests/tsconfig.json @@ -4,7 +4,8 @@ "node", "webdriverio/async", "@wdio/mocha-framework", - "expect-webdriverio" + "expect-webdriverio", + "./wdio.conf.ts" ], "target": "ES5" }, diff --git a/nym-wallet/wallet-ui-tests/wdio.conf.ts b/nym-wallet/wallet-ui-tests/wdio.conf.ts index f5fb2da1f8..392558b31d 100644 --- a/nym-wallet/wallet-ui-tests/wdio.conf.ts +++ b/nym-wallet/wallet-ui-tests/wdio.conf.ts @@ -29,6 +29,12 @@ exports.config = { nav: [ './tests/specs/navbaritems/*.ts', ], + send: [ + './tests/specs/send/*.ts', + ], + delegation: [ + './tests/specs/delegation/*.ts', + ], }, // Patterns to exclude. exclude: [ diff --git a/ts-packages/react-components/src/components/mixnodes/IdentityKeyFormField.tsx b/ts-packages/react-components/src/components/mixnodes/IdentityKeyFormField.tsx index d718cf0b59..89a3957a2e 100644 --- a/ts-packages/react-components/src/components/mixnodes/IdentityKeyFormField.tsx +++ b/ts-packages/react-components/src/components/mixnodes/IdentityKeyFormField.tsx @@ -72,6 +72,9 @@ export const IdentityKeyFormField: React.FC<{ return (