diff --git a/Cargo.lock b/Cargo.lock index 8fdb29b8..1497b9ca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,21 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "addr2line" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - [[package]] name = "ahash" version = "0.8.2" @@ -66,18 +51,7 @@ checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" dependencies = [ "proc-macro2", "quote", - "syn", -] - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", + "syn 1.0.99", ] [[package]] @@ -86,21 +60,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" -[[package]] -name = "backtrace" -version = "0.3.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - [[package]] name = "beef" version = "0.5.2" @@ -127,7 +86,7 @@ dependencies = [ "either", "proc-macro2", "quote", - "syn", + "syn 1.0.99", ] [[package]] @@ -151,6 +110,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" + [[package]] name = "block-buffer" version = "0.10.2" @@ -177,9 +142,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "candid" -version = "0.8.2" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00748d2466ccd456787852ce1c3bd8d47f946639b46fd0fd2e728c3bb23d307f" +checksum = "4df671c37a9c6168db0334f2b289dd4e02dea1bbefe1fb22c5d43b12d865aacd" dependencies = [ "anyhow", "binread", @@ -201,19 +166,20 @@ dependencies = [ "serde", "serde_bytes", "sha2", + "stacker", "thiserror", ] [[package]] name = "candid_derive" -version = "0.5.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58f1f4db7c7d04b87b70b3a35c5dc5c2c9dd73cef8bdf6760e2f18a0d45350dd" +checksum = "810b3bd60244f282090652ffc7c30a9d23892e72dfe443e46ee55569044f7dd5" dependencies = [ "lazy_static", "proc-macro2", "quote", - "syn", + "syn 2.0.27", ] [[package]] @@ -297,9 +263,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.3.2" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] name = "diff" @@ -346,20 +312,32 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "ena" -version = "0.14.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7402b94a93c24e742487327a7cd839dc9d36fec9de9fb25b09f2dae459f36c3" +checksum = "c533630cf40e9caa44bd91aadc88a75d75a4c3a12b4cfde353cbed41daa1e1f1" dependencies = [ "log", ] [[package]] -name = "error-chain" -version = "0.10.0" +name = "errno" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" dependencies = [ - "backtrace", + "errno-dragonfly", + "libc", + "windows-sys", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", ] [[package]] @@ -439,7 +417,7 @@ checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.99", ] [[package]] @@ -493,12 +471,6 @@ dependencies = [ "wasi 0.11.0+wasi-snapshot-preview1", ] -[[package]] -name = "gimli" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" - [[package]] name = "globset" version = "0.4.9" @@ -518,7 +490,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc" dependencies = [ - "bitflags", + "bitflags 1.3.2", "ignore", "walkdir", ] @@ -540,12 +512,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.1.19" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" [[package]] name = "hex" @@ -555,12 +524,12 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "ic-cdk" -version = "0.6.5" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70d25400ccb46063a87611cf8599ec942909698962d6dee092d236bec02c5c0c" +checksum = "08d4c0b932bf454d5d60e61e13c3c944972fcfd74dc82b9ed5c8b0a75979cf50" dependencies = [ "candid", - "cfg-if", + "ic-cdk-macros", "ic0", "serde", "serde_bytes", @@ -568,17 +537,16 @@ dependencies = [ [[package]] name = "ic-cdk-macros" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8892fce3ea7890f91a118496070bf501defcb730f98079b50fe137ebdd7a939" +checksum = "b4587624e64b8db56224033ee74e5c246d39be15375d03d3df7c117d49d18487" dependencies = [ "candid", - "ic-cdk", "proc-macro2", "quote", "serde", "serde_tokenstream", - "syn", + "syn 1.0.99", ] [[package]] @@ -589,7 +557,7 @@ checksum = "9c8ded18fe296ff693ba8d8fd9890189ea28df4fc75d8b009523e15918452d8b" [[package]] name = "ic-xrc-types" -version = "1.0.0" +version = "1.1.0" dependencies = [ "candid", "serde", @@ -597,9 +565,9 @@ dependencies = [ [[package]] name = "ic0" -version = "0.18.5" +version = "0.18.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98ab1f6b3f5d42461777721a8afc7297a72e64e224202ed1a36cb44ef0f3af31" +checksum = "576c539151d4769fb4d1a0c25c4108dd18facd04c5695b02cf2d226ab4e43aa5" [[package]] name = "idna" @@ -631,19 +599,30 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", ] +[[package]] +name = "is-terminal" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +dependencies = [ + "hermit-abi", + "rustix", + "windows-sys", +] + [[package]] name = "itertools" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ "either", ] @@ -656,21 +635,21 @@ checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" [[package]] name = "lalrpop" -version = "0.19.8" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30455341b0e18f276fa64540aff54deafb54c589de6aca68659c63dd2d5d823" +checksum = "da4081d44f4611b66c6dd725e6de3169f9f63905421e8626fcb86b6a898998b8" dependencies = [ "ascii-canvas", - "atty", "bit-set", "diff", "ena", + "is-terminal", "itertools", "lalrpop-util", "petgraph", "pico-args", "regex", - "regex-syntax", + "regex-syntax 0.7.4", "string_cache", "term", "tiny-keccak", @@ -679,9 +658,9 @@ dependencies = [ [[package]] name = "lalrpop-util" -version = "0.19.8" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf796c978e9b4d983414f4caedc9273aa33ee214c5b887bd55fde84c85d2dc4" +checksum = "3f35c735096c0293d313e8f2a641627472b83d01b937177fe76e5e2708d31e0d" dependencies = [ "regex", ] @@ -700,15 +679,21 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.132" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" + +[[package]] +name = "linux-raw-sys" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" [[package]] name = "lock_api" -version = "0.4.7" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" dependencies = [ "autocfg", "scopeguard", @@ -725,25 +710,34 @@ dependencies = [ [[package]] name = "logos" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf8b031682c67a8e3d5446840f9573eb7fe26efe7ec8d195c9ac4c0647c502f1" +checksum = "c000ca4d908ff18ac99b93a062cb8958d331c3220719c52e77cb19cc6ac5d2c1" dependencies = [ "logos-derive", ] [[package]] -name = "logos-derive" -version = "0.12.1" +name = "logos-codegen" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d849148dbaf9661a6151d1ca82b13bb4c4c128146a88d05253b38d4e2f496c" +checksum = "dc487311295e0002e452025d6b580b77bb17286de87b57138f3b5db711cded68" dependencies = [ "beef", "fnv", "proc-macro2", "quote", - "regex-syntax", - "syn", + "regex-syntax 0.6.27", + "syn 2.0.27", +] + +[[package]] +name = "logos-derive" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbfc0d229f1f42d790440136d941afd806bc9e949e2bcb8faa813b0f00d1267e" +dependencies = [ + "logos-codegen", ] [[package]] @@ -767,15 +761,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" -[[package]] -name = "miniz_oxide" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" -dependencies = [ - "adler", -] - [[package]] name = "monitor-canister" version = "0.1.0" @@ -834,32 +819,23 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.5.7" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.5.7" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", -] - -[[package]] -name = "object" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" -dependencies = [ - "memchr", + "syn 2.0.27", ] [[package]] @@ -880,15 +856,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.3" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.3.5", "smallvec", - "windows-sys", + "windows-targets", ] [[package]] @@ -933,7 +909,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn", + "syn 1.0.99", ] [[package]] @@ -949,9 +925,9 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143" +checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" dependencies = [ "fixedbitset", "indexmap", @@ -968,9 +944,9 @@ dependencies = [ [[package]] name = "pico-args" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db8bcd96cb740d03149cbad5518db9fd87126a10ab519c011893b1754134c468" +checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" [[package]] name = "pin-project-lite" @@ -998,12 +974,13 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" [[package]] name = "pretty" -version = "0.10.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad9940b913ee56ddd94aec2d3cd179dd47068236f42a1a6415ccf9d880ce2a61" +checksum = "563c9d701c3a31dfffaaf9ce23507ba09cbe0b9125ba176d15e629b0235e9acc" dependencies = [ "arrayvec", "typed-arena", + "unicode-segmentation", ] [[package]] @@ -1019,18 +996,27 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.43" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + [[package]] name = "quote" -version = "1.0.21" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ "proc-macro2", ] @@ -1071,7 +1057,16 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", ] [[package]] @@ -1081,7 +1076,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ "getrandom", - "redox_syscall", + "redox_syscall 0.2.16", "thiserror", ] @@ -1093,7 +1088,7 @@ checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-syntax 0.6.27", ] [[package]] @@ -1103,10 +1098,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" [[package]] -name = "rustc-demangle" -version = "0.1.21" +name = "regex-syntax" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" + +[[package]] +name = "rustix" +version = "0.38.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" +dependencies = [ + "bitflags 2.3.3", + "errno", + "libc", + "linux-raw-sys", + "windows-sys", +] [[package]] name = "rustversion" @@ -1131,9 +1139,9 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "serde" @@ -1146,13 +1154,13 @@ dependencies = [ [[package]] name = "serde-xml-rs" -version = "0.3.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27d98dfc234faa8532d66c837de56bf4276a259a43dd10ef96feb2fb7ab333b1" +checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782" dependencies = [ - "error-chain", "log", "serde", + "thiserror", "xml-rs", ] @@ -1173,7 +1181,7 @@ checksum = "d3d8e8de557aee63c26b85b947f5e59b690d0454c753f3adeb5cd7835ab88391" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.99", ] [[package]] @@ -1195,7 +1203,7 @@ checksum = "d6deb15c3a535e81438110111d90168d91721652f502abb147f31cde129f683d" dependencies = [ "proc-macro2", "serde", - "syn", + "syn 1.0.99", ] [[package]] @@ -1237,15 +1245,28 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.9.0" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" + +[[package]] +name = "stacker" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" +checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" +dependencies = [ + "cc", + "cfg-if", + "libc", + "psm", + "winapi", +] [[package]] name = "string_cache" -version = "0.8.4" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" dependencies = [ "new_debug_unreachable", "once_cell", @@ -1265,6 +1286,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "2.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "tera" version = "1.17.0" @@ -1318,7 +1350,7 @@ checksum = "e8f2591983642de85c921015f3f070c665a197ed69e417af436115e3a1407487" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.99", ] [[package]] @@ -1490,6 +1522,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + [[package]] name = "unicode-width" version = "0.1.9" @@ -1498,9 +1536,9 @@ checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" [[package]] name = "unicode-xid" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "url" @@ -1575,46 +1613,69 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-sys" -version = "0.36.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +dependencies = [ + "windows_aarch64_gnullvm", "windows_aarch64_msvc", "windows_i686_gnu", "windows_i686_msvc", "windows_x86_64_gnu", + "windows_x86_64_gnullvm", "windows_x86_64_msvc", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + [[package]] name = "windows_aarch64_msvc" -version = "0.36.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" [[package]] name = "windows_i686_gnu" -version = "0.36.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" [[package]] name = "windows_i686_msvc" -version = "0.36.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" [[package]] name = "windows_x86_64_gnu" -version = "0.36.1" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" [[package]] name = "windows_x86_64_msvc" -version = "0.36.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "xml-rs" diff --git a/Cargo.toml b/Cargo.toml index d79687db..83fcd7cf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,6 +7,11 @@ members = [ "src/monitor-canister", ] +[workspace.dependencies] +candid = "0.9.1" +ic-cdk = "0.10.0" +ic-cdk-macros = "0.7.0" + [profile.release] lto = true opt-level = 'z' diff --git a/src/ic-xrc-types/Cargo.toml b/src/ic-xrc-types/Cargo.toml index 8bb71af1..45eb9925 100644 --- a/src/ic-xrc-types/Cargo.toml +++ b/src/ic-xrc-types/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ic-xrc-types" authors = ["DFINITY Stiftung "] -version = "1.0.0" +version = "1.1.0" edition = "2021" description = "Rust support for the exchange rate canister." documentation = "https://docs.rs/ic-xrc-types" @@ -13,5 +13,5 @@ keywords = ["internet-computer", "dfinity"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -candid = "0.8.0" +candid.workspace = true serde = "1.0.110" diff --git a/src/monitor-canister/Cargo.toml b/src/monitor-canister/Cargo.toml index 94242f6f..09ca497f 100644 --- a/src/monitor-canister/Cargo.toml +++ b/src/monitor-canister/Cargo.toml @@ -7,9 +7,9 @@ edition = "2021" [dependencies] async-trait = "0.1.58" -candid = "0.8.0" -ic-cdk = "0.6.5" -ic-cdk-macros = "0.6.0" +candid.workspace = true +ic-cdk.worksapce = true +ic-cdk-macros.workspace = true ic-stable-structures = "0.1.0" ic-xrc-types = { path = "../ic-xrc-types" } futures = "0.3.23" diff --git a/src/monitor-canister/src/api.rs b/src/monitor-canister/src/api.rs index 07f9010a..eeaf895f 100644 --- a/src/monitor-canister/src/api.rs +++ b/src/monitor-canister/src/api.rs @@ -1,5 +1,4 @@ -use candid::Nat; -use ic_cdk::export::candid::decode_one; +use candid::{decode_one, Nat}; use crate::{ environment::Environment, diff --git a/src/monitor-canister/src/main.rs b/src/monitor-canister/src/main.rs index dfc142cc..b344066c 100644 --- a/src/monitor-canister/src/main.rs +++ b/src/monitor-canister/src/main.rs @@ -1,4 +1,4 @@ -use ic_cdk::export::candid::candid_method; +use candid::candid_method; use ic_cdk_macros::{heartbeat, init, post_upgrade, query}; use monitor_canister::{ types::{Config, GetEntriesRequest, GetEntriesResponse}, diff --git a/src/monitor-canister/src/periodic.rs b/src/monitor-canister/src/periodic.rs index 540d26c9..8eef448f 100644 --- a/src/monitor-canister/src/periodic.rs +++ b/src/monitor-canister/src/periodic.rs @@ -1,6 +1,5 @@ use async_trait::async_trait; -use candid::encode_one; -use ic_cdk::export::Principal; +use candid::{encode_one, Principal}; use ic_xrc_types::{Asset, AssetClass, GetExchangeRateRequest, GetExchangeRateResult}; use std::cell::Cell; use xrc::XRC_REQUEST_CYCLES_COST; @@ -198,8 +197,9 @@ mod test { use std::sync::{Arc, RwLock}; + use candid::Nat; use futures::FutureExt; - use ic_cdk::{api::call::RejectionCode, export::candid::Nat}; + use ic_cdk::api::call::RejectionCode; use ic_xrc_types::{ExchangeRate, ExchangeRateError, ExchangeRateMetadata}; use crate::{api, environment::test::TestEnvironment, types::GetEntriesRequest}; diff --git a/src/monitor-canister/src/types.rs b/src/monitor-canister/src/types.rs index 1a27bb41..8d5398f1 100644 --- a/src/monitor-canister/src/types.rs +++ b/src/monitor-canister/src/types.rs @@ -1,10 +1,7 @@ use std::borrow::Cow; -use candid::{decode_one, encode_one}; -use ic_cdk::{ - api::call::RejectionCode, - export::candid::{CandidType, Deserialize, Nat, Principal}, -}; +use candid::{decode_one, encode_one, CandidType, Deserialize, Nat, Principal}; +use ic_cdk::api::call::RejectionCode; use ic_stable_structures::Storable; use ic_xrc_types::{ExchangeRate, ExchangeRateError, GetExchangeRateRequest}; use num_traits::ToPrimitive; diff --git a/src/xrc-tests/Cargo.toml b/src/xrc-tests/Cargo.toml index c1c207ab..cd38c945 100644 --- a/src/xrc-tests/Cargo.toml +++ b/src/xrc-tests/Cargo.toml @@ -4,9 +4,9 @@ version = "0.8.0" edition = "2021" [dependencies] -candid = "0.8.0" +candid.workspace = true hex = "0.4.3" -ic-cdk = "0.6.5" +ic-cdk.worksapce = true ic-xrc-types = { path = "../ic-xrc-types" } maplit = "1.0.2" serde = "1.0.110" diff --git a/src/xrc/Cargo.toml b/src/xrc/Cargo.toml index c77f881b..95517a51 100644 --- a/src/xrc/Cargo.toml +++ b/src/xrc/Cargo.toml @@ -10,9 +10,9 @@ doctest = false [dependencies] async-trait = "0.1.58" -candid = "0.8.0" -ic-cdk = "0.6.5" -ic-cdk-macros = "0.6.0" +candid.workspace = true +ic-cdk.worksapce = true +ic-cdk-macros.workspace = true ic-xrc-types = { path = "../ic-xrc-types" } futures = "0.3.23" lru = "0.9.0" @@ -21,9 +21,10 @@ serde_json = "1.0.74" chrono = "=0.4.19" serde_derive = "1.0" serde_bytes = "0.11" -serde-xml-rs = "0.3.1" +serde-xml-rs = "0.6.0" [dev-dependencies] +candid = { workspace = true, features = ["parser"] } hex = "0.4" maplit = "1.0.2" rand = "0.8.5" diff --git a/src/xrc/src/environment.rs b/src/xrc/src/environment.rs index c78f42b0..b15e5fe4 100644 --- a/src/xrc/src/environment.rs +++ b/src/xrc/src/environment.rs @@ -1,7 +1,7 @@ +use candid::Principal; use ic_cdk::{ api::call::{msg_cycles_accept, msg_cycles_available}, caller, - export::Principal, }; use ic_xrc_types::ExchangeRateError; diff --git a/src/xrc/src/exchanges.rs b/src/xrc/src/exchanges.rs index 91817be7..0497d99b 100644 --- a/src/xrc/src/exchanges.rs +++ b/src/xrc/src/exchanges.rs @@ -1,7 +1,5 @@ -use ic_cdk::export::{ - candid::{decode_args, encode_args, Error as CandidError}, - serde::Deserialize, -}; +use candid::{decode_args, encode_args, Deserialize, Error as CandidError}; + use ic_xrc_types::Asset; use serde::de::DeserializeOwned; diff --git a/src/xrc/src/forex.rs b/src/xrc/src/forex.rs index db51cf96..c50057dd 100644 --- a/src/xrc/src/forex.rs +++ b/src/xrc/src/forex.rs @@ -10,7 +10,7 @@ mod singapore; mod switzerland; mod uzbekistan; -use ic_cdk::export::candid::{ +use candid::{ decode_args, decode_one, encode_args, encode_one, CandidType, Deserialize, Error as CandidError, }; use ic_xrc_types::{Asset, AssetClass, ExchangeRateError}; diff --git a/src/xrc/src/http.rs b/src/xrc/src/http.rs index cc789b0c..78be63f5 100644 --- a/src/xrc/src/http.rs +++ b/src/xrc/src/http.rs @@ -1,9 +1,10 @@ +use candid::Func; + use ic_cdk::{ api::management_canister::http_request::{ http_request, CanisterHttpRequestArgument, HttpHeader, HttpMethod, HttpResponse, TransformContext, TransformFunc, }, - export::candid::Func, id, }; @@ -86,7 +87,7 @@ impl CanisterHttpRequest { /// Wraps around `http_request` to issue a request to the `http_request` endpoint. pub async fn send(self) -> Result { - http_request(self.args) + http_request(self.args, 0) .await .map(|(response,)| response) .map_err(|(_rejection_code, message)| message) diff --git a/src/xrc/src/lib.rs b/src/xrc/src/lib.rs index 18a1d320..1439f282 100644 --- a/src/xrc/src/lib.rs +++ b/src/xrc/src/lib.rs @@ -22,11 +22,8 @@ mod request_log; pub mod types; mod utils; -use ::candid::{CandidType, Deserialize}; -use ic_cdk::{ - api::management_canister::http_request::{HttpResponse, TransformArgs}, - export::candid::Principal, -}; +use ::candid::{CandidType, Deserialize, Principal}; +use ic_cdk::api::management_canister::http_request::{HttpResponse, TransformArgs}; use ic_xrc_types::{Asset, ExchangeRate, ExchangeRateError, ExchangeRateMetadata, OtherError}; use request_log::RequestLog; use serde_bytes::ByteBuf; diff --git a/src/xrc/src/main.rs b/src/xrc/src/main.rs index b9969891..193c65b1 100644 --- a/src/xrc/src/main.rs +++ b/src/xrc/src/main.rs @@ -1,5 +1,5 @@ +use candid::candid_method; use ic_cdk::api::management_canister::http_request::{HttpResponse, TransformArgs}; -use ic_cdk::export::candid::candid_method; #[ic_cdk_macros::update] #[candid_method(update)] @@ -52,19 +52,20 @@ fn main() {} mod test { use std::path::PathBuf; - use ic_cdk::export::candid as cdk_candid; + use candid; #[test] fn check_candid_compatibility() { - cdk_candid::export_service!(); + candid::export_service!(); + // Pull in the rust-generated interface and candid file interface. let new_interface = __export_service(); let old_interface = PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").unwrap()).join("xrc.did"); - cdk_candid::utils::service_compatible( - cdk_candid::utils::CandidSource::Text(&new_interface), - cdk_candid::utils::CandidSource::File(old_interface.as_path()), + candid::utils::service_compatible( + candid::utils::CandidSource::Text(&new_interface), + candid::utils::CandidSource::File(old_interface.as_path()), ) .expect("Service incompatibility found"); } diff --git a/src/xrc/src/types.rs b/src/xrc/src/types.rs index b48e8162..7dcf58ed 100644 --- a/src/xrc/src/types.rs +++ b/src/xrc/src/types.rs @@ -1,4 +1,4 @@ -use ic_cdk::export::candid::{CandidType, Deserialize}; +use candid::{CandidType, Deserialize}; use serde_bytes::ByteBuf; type HeaderField = (String, String); diff --git a/src/xrc/src/utils.rs b/src/xrc/src/utils.rs index 5ca16aab..bbb1d796 100644 --- a/src/xrc/src/utils.rs +++ b/src/xrc/src/utils.rs @@ -1,7 +1,8 @@ -use crate::{environment::Environment, PRIVILEGED_CANISTER_IDS}; -use ic_cdk::export::Principal; +use candid::Principal; use ic_xrc_types::{Asset, GetExchangeRateRequest}; +use crate::{environment::Environment, PRIVILEGED_CANISTER_IDS}; + const NANOS_PER_SEC: u64 = 1_000_000_000; /// Gets the current time in seconds.