diff --git a/Cargo.lock b/Cargo.lock index 623a291..2abc8df 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "arbitrary" @@ -158,6 +158,12 @@ dependencies = [ "derive_arbitrary", ] +[[package]] +name = "arc-swap" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" + [[package]] name = "arrayvec" version = "0.5.2" @@ -170,6 +176,17 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener 2.5.3", + "futures-core", +] + [[package]] name = "async-compression" version = "0.4.18" @@ -189,7 +206,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener", + "event-listener 5.3.1", "event-listener-strategy", "pin-project-lite", ] @@ -202,7 +219,16 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", +] + +[[package]] +name = "async-watch" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a078faf4e27c0c6cc0efb20e5da59dcccc04968ebf2801d8e0b2195124cdcdb2" +dependencies = [ + "event-listener 2.5.3", ] [[package]] @@ -281,7 +307,7 @@ checksum = "57d123550fa8d071b7255cb0cc04dc302baa6c8c4a79f55701552684d8399bce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -441,22 +467,22 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.20.0" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" +checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" +checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -528,7 +554,7 @@ dependencies = [ "lazy_static", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -585,9 +611,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.4" +version = "1.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9157bbaa6b165880c27a4293a474c91cdcf265cc68cc829bf10be0964a391caf" +checksum = "c31a0499c1dc64f458ad13872de75c0eb7e3fdb0e67964610c914b034fc5956e" dependencies = [ "shlex", ] @@ -687,7 +713,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -705,8 +731,7 @@ dependencies = [ "clap", "hex", "ic-agent", - "ic-cbor", - "ic-certification 2.6.0", + "ic-certification 3.0.2", "ic-icrc1", "ic-icrc1-tokens-u64", "ic-ledger-core", @@ -754,9 +779,9 @@ checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "comparable" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb513ee8037bf08c5270ecefa48da249f4c58e57a71ccfce0a5b0877d2a20eb2" +checksum = "8606f9aa5b5a2df738584b139c79413d0c1545ed0ffd16e76e0944d1de7388c0" dependencies = [ "comparable_derive", "comparable_helper", @@ -766,9 +791,9 @@ dependencies = [ [[package]] name = "comparable_derive" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a54b9c40054eb8999c5d1d36fdc90e4e5f7ff0d1d9621706f360b3cbc8beb828" +checksum = "41f36ea7383b9a2a9ae0a4e225d8a9c1c3aeadde78c59cdc35bad5c02b4dad01" dependencies = [ "convert_case 0.4.0", "proc-macro2", @@ -778,9 +803,9 @@ dependencies = [ [[package]] name = "comparable_helper" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5437e327e861081c91270becff184859f706e3e50f5301a9d4dc8eb50752c3" +checksum = "71c9b60259084f32c14d32476f3a299b4997e3c186e1473bd972ff8a8c83d1b4" dependencies = [ "convert_case 0.6.0", "proc-macro2", @@ -867,9 +892,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -886,9 +911,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" @@ -954,7 +979,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -1015,7 +1040,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -1037,7 +1062,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -1087,7 +1112,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -1108,7 +1133,7 @@ dependencies = [ "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -1118,7 +1143,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -1156,7 +1181,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -1266,7 +1291,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -1300,6 +1325,12 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6" +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + [[package]] name = "event-listener" version = "5.3.1" @@ -1317,7 +1348,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ - "event-listener", + "event-listener 5.3.1", "pin-project-lite", ] @@ -1445,7 +1476,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -1815,9 +1846,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "1.5.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" dependencies = [ "bytes", "futures-channel", @@ -1836,9 +1867,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.3" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", "http", @@ -1896,12 +1927,15 @@ dependencies = [ [[package]] name = "ic-agent" -version = "0.39.1" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158138fcb769fe6288e63d5db221c904e472cfb7d376aba13a38c060f2984e63" +checksum = "1ba408987ca48fc3eee6a613e760d076a9046cccbbb5ba29efbada339ab28ed9" dependencies = [ + "arc-swap", + "async-channel", "async-lock", "async-trait", + "async-watch", "backoff", "cached 0.52.0", "candid", @@ -1913,7 +1947,7 @@ dependencies = [ "hex", "http", "http-body", - "ic-certification 2.6.0", + "ic-certification 3.0.2", "ic-transport-types", "ic-verify-bls-signature", "k256", @@ -1931,7 +1965,8 @@ dependencies = [ "serde_repr", "sha2 0.10.8", "simple_asn1", - "thiserror 1.0.69", + "stop-token", + "thiserror 2.0.9", "time", "tokio", "tower-service", @@ -2008,19 +2043,6 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "ic-cbor" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b0e48b4166c891e79d624f3a184b4a7c145d307576872d9a46dedb8c73ea8f" -dependencies = [ - "candid", - "ic-certification 2.6.0", - "leb128", - "nom", - "thiserror 1.0.69", -] - [[package]] name = "ic-cdk" version = "0.14.1" @@ -2049,12 +2071,12 @@ dependencies = [ [[package]] name = "ic-cdk" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2abdf9341da9f9f6b451a40609cb69645a05a8e9eb7784c16209f16f2c0f76f" +checksum = "122efbcb0af5280d408a75a57b7dc6e9d92893bf6ed9cc98fe4dcff51f18b67c" dependencies = [ "candid", - "ic-cdk-macros 0.17.0", + "ic-cdk-macros 0.17.1", "ic0", "serde", "serde_bytes", @@ -2071,7 +2093,7 @@ dependencies = [ "quote", "serde", "serde_tokenstream", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -2085,21 +2107,21 @@ dependencies = [ "quote", "serde", "serde_tokenstream", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] name = "ic-cdk-macros" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8df41980e95dead28735ab0f748c75477b0c5eab37a09a5641c78ec406a1db0" +checksum = "c792bf0d1621c893ccf2bcdeac4ee70121103a03030a1827031a6b3c60488944" dependencies = [ "candid", "proc-macro2", "quote", "serde", "serde_tokenstream", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -2109,7 +2131,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb8fd812a9e26f6aa00594546f8fbf4d4853f39c3ba794c8ff11ecf86fd3c9e4" dependencies = [ "futures", - "ic-cdk 0.17.0", + "ic-cdk 0.17.1", "ic0", "serde", "serde_bytes", @@ -2143,6 +2165,18 @@ dependencies = [ "sha2 0.10.8", ] +[[package]] +name = "ic-certification" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eae40f26fcac9c141cad54d9aa5f423efffde78ac371057c53d275ebbcad443" +dependencies = [ + "hex", + "serde", + "serde_bytes", + "sha2 0.10.8", +] + [[package]] name = "ic-crypto-ecdsa-secp256r1" version = "0.9.0" @@ -2672,20 +2706,20 @@ dependencies = [ [[package]] name = "ic-transport-types" -version = "0.39.1" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d8789a5c176bb1b925fa58ca97c651a3995d504e76101e93d2a17f558bdcf66" +checksum = "21e2418868dd5857d2a5bac3f1cb6de1aecf2316d380997ef842aec3d8a79d4e" dependencies = [ "candid", "hex", - "ic-certification 2.6.0", + "ic-certification 3.0.2", "leb128", "serde", "serde_bytes", "serde_cbor", "serde_repr", "sha2 0.10.8", - "thiserror 1.0.69", + "thiserror 2.0.9", ] [[package]] @@ -2791,9 +2825,9 @@ dependencies = [ [[package]] name = "ic_cose_types" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b52dad1ab6155ee90714362e16f82cf1d80845e0dba7dfe2f3d27fec8691a69f" +checksum = "0e93806fea24fb4a4430ebd682d6caefc475aa67c3de0fd902ff91536b18d2ec" dependencies = [ "aes-gcm", "candid", @@ -2803,7 +2837,7 @@ dependencies = [ "ed25519-dalek", "hkdf", "hmac", - "ic-cdk 0.17.0", + "ic-cdk 0.17.1", "icrc-ledger-types 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "k256", "num-traits", @@ -2820,7 +2854,7 @@ version = "2.9.2" dependencies = [ "candid", "ciborium", - "ic-cdk 0.17.0", + "ic-cdk 0.17.1", "ic-stable-structures", "icrc-ledger-types 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde", @@ -2835,9 +2869,9 @@ dependencies = [ "ciborium", "getrandom", "ic-canister-sig-creation", - "ic-cdk 0.17.0", + "ic-cdk 0.17.1", "ic-cdk-timers", - "ic-certification 2.6.0", + "ic-certification 3.0.2", "ic-crypto-ed25519", "ic-stable-structures", "ic_cose_types", @@ -2855,7 +2889,7 @@ dependencies = [ "candid", "ciborium", "getrandom", - "ic-cdk 0.17.0", + "ic-cdk 0.17.1", "ic-oss-types 0.9.10", "ic-stable-structures", "ic_cose_types", @@ -2871,7 +2905,7 @@ dependencies = [ "candid", "ciborium", "getrandom", - "ic-cdk 0.17.0", + "ic-cdk 0.17.1", "ic-oss-types 0.9.10", "ic-stable-structures", "ic_cose_types", @@ -2899,8 +2933,8 @@ dependencies = [ "ciborium", "getrandom", "ic-canister-sig-creation", - "ic-cdk 0.17.0", - "ic-certification 2.6.0", + "ic-cdk 0.17.1", + "ic-certification 3.0.2", "ic-crypto-standalone-sig-verifier", "ic-stable-structures", "ic_message_types", @@ -2919,7 +2953,7 @@ dependencies = [ "candle-transformers", "ciborium", "getrandom", - "ic-cdk 0.17.0", + "ic-cdk 0.17.1", "ic-cdk-timers", "ic-oss-can", "ic-oss-types 0.6.6", @@ -2938,7 +2972,7 @@ name = "ic_panda_infra" version = "0.1.0" dependencies = [ "candid", - "ic-cdk 0.17.0", + "ic-cdk 0.17.1", ] [[package]] @@ -2950,7 +2984,7 @@ dependencies = [ "ciborium", "finl_unicode", "hex", - "ic-cdk 0.17.0", + "ic-cdk 0.17.1", "ic-cdk-timers", "ic-stable-structures", "icrc-ledger-types 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3132,7 +3166,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -3300,9 +3334,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.168" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libm" @@ -3406,9 +3440,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" dependencies = [ "adler2", ] @@ -3442,7 +3476,7 @@ checksum = "a7ce64b975ed4f123575d11afd9491f2e37bbd5813fbfbc0f09ae1fbddea74e0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -3575,14 +3609,14 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] name = "object" -version = "0.36.5" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] @@ -3717,7 +3751,7 @@ checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -3836,9 +3870,9 @@ dependencies = [ [[package]] name = "proptest" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ "bitflags 2.6.0", "lazy_static", @@ -3870,7 +3904,7 @@ dependencies = [ "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -3922,7 +3956,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror 2.0.7", + "thiserror 2.0.9", "tokio", "tracing", ] @@ -3941,7 +3975,7 @@ dependencies = [ "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.7", + "thiserror 2.0.9", "tinyvec", "tracing", "web-time", @@ -3949,9 +3983,9 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52cd4b1eff68bf27940dd39811292c49e007f4d0b4c357358dc9b0197be6b527" +checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" dependencies = [ "cfg_aliases", "libc", @@ -3963,9 +3997,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] @@ -4380,7 +4414,7 @@ checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -4394,9 +4428,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.133" +version = "1.0.134" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +checksum = "d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d" dependencies = [ "indexmap", "itoa", @@ -4432,7 +4466,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -4444,7 +4478,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -4651,6 +4685,18 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "stop-token" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af91f480ee899ab2d9f8435bfdfc14d08a5754bd9d3fef1f1a1c23336aad6c8b" +dependencies = [ + "async-channel", + "cfg-if", + "futures-core", + "pin-project-lite", +] + [[package]] name = "strsim" version = "0.10.0" @@ -4695,7 +4741,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -4801,9 +4847,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.90" +version = "2.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "d53cbcb5a243bd33b7858b1d7f4aca2153490815872d86d955d6ea29f743c035" dependencies = [ "proc-macro2", "quote", @@ -4827,7 +4873,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -4855,11 +4901,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.7" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93605438cbd668185516ab499d589afb7ee1859ea3d5fc8f6b0755e1c7443767" +checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc" dependencies = [ - "thiserror-impl 2.0.7", + "thiserror-impl 2.0.9", ] [[package]] @@ -4870,18 +4916,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] name = "thiserror-impl" -version = "2.0.7" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d8749b4531af2117677a5fcd12b1348a3fe2b81e36e61ffeac5c4aa3273e36" +checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -4933,9 +4979,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" dependencies = [ "tinyvec_macros", ] @@ -5002,7 +5048,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -5141,7 +5187,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -5365,7 +5411,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", "wasm-bindgen-shared", ] @@ -5400,7 +5446,7 @@ checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5692,7 +5738,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", "synstructure", ] @@ -5714,7 +5760,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -5734,7 +5780,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", "synstructure", ] @@ -5755,7 +5801,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] @@ -5777,7 +5823,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.91", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 563216f..f5a1b84 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -54,8 +54,8 @@ ic-cdk = "0.17" ic-cdk-timers = "0.11" ic-stable-structures = "0.6" icrc-ledger-types = "0.1" -ic_cose_types = "0.4" -ic-certification = "2.6" +ic_cose_types = "0.5" +ic-certification = "3.0" ic-oss-types = "0.9" ic-canister-sig-creation = "1.1" getrandom = { version = "0.2", features = ["custom"] } diff --git a/src/cli_airdrop/Cargo.toml b/src/cli_airdrop/Cargo.toml index 0156365..e73e79d 100644 --- a/src/cli_airdrop/Cargo.toml +++ b/src/cli_airdrop/Cargo.toml @@ -23,4 +23,3 @@ icrc-ledger-types = { git = "https://github.com/dfinity/ic/", rev = "5d202894864 ic-icrc1 = { git = "https://github.com/dfinity/ic/", rev = "5d202894864f4db4a5a46f44422aebc80c3d321b" } ic-ledger-core = { git = "https://github.com/dfinity/ic/", rev = "5d202894864f4db4a5a46f44422aebc80c3d321b" } ic-icrc1-tokens-u64 = { git = "https://github.com/dfinity/ic/", rev = "5d202894864f4db4a5a46f44422aebc80c3d321b" } -ic-cbor = "2.6" diff --git a/src/cli_airdrop/src/ledger.rs b/src/cli_airdrop/src/ledger.rs index cd1f031..6f07384 100644 --- a/src/cli_airdrop/src/ledger.rs +++ b/src/cli_airdrop/src/ledger.rs @@ -4,7 +4,6 @@ use ic_agent::{ hash_tree::{Label, LookupResult}, Agent, }; -use ic_cbor::CertificateToCbor; use ic_certification::{ hash_tree::{HashTreeNode, SubtreeLookupResult}, Certificate, HashTree, @@ -105,8 +104,8 @@ impl Icrc1Agent { hash_tree, } = self.icrc3_get_tip_certificate().await?; - let certificate = if let Some(certificate) = certificate { - Certificate::from_cbor(certificate.as_slice()).map_err(format_error)? + let certificate: Certificate = if let Some(certificate) = certificate { + from_reader(certificate.as_slice()).map_err(format_error)? } else { return Err("Certificate not found in the DataCertificate".to_string()); }; diff --git a/src/ic_message/src/store.rs b/src/ic_message/src/store.rs index 53f7651..77a3930 100644 --- a/src/ic_message/src/store.rs +++ b/src/ic_message/src/store.rs @@ -2,7 +2,7 @@ use candid::{Nat, Principal}; use ciborium::{from_reader, from_reader_with_buffer, into_writer}; use ic_certification::{HashTreeNode, Label}; use ic_cose_types::types::{ - namespace::{CreateNamespaceInput, NamespaceInfo}, + namespace::CreateNamespaceInput, setting::{ CreateSettingInput, CreateSettingOutput, SettingInfo, SettingPath, UpdateSettingOutput, UpdateSettingPayloadInput, @@ -564,7 +564,7 @@ pub mod user { }); // the user's namespace maybe exists, but we don't care about the result - let _: Result = call( + let _: Result = call( cose_canister, "admin_create_namespace", (CreateNamespaceInput { @@ -575,6 +575,7 @@ pub mod user { managers: BTreeSet::from([ic_cdk::id()]), auditors: BTreeSet::from([caller]), users: BTreeSet::from([caller]), + session_expires_in_ms: None, },), 0, ) @@ -731,7 +732,7 @@ pub mod user { } if new_cose { - let _: Result = call( + let _: Result = call( cose_canister, "admin_create_namespace", (CreateNamespaceInput { @@ -742,6 +743,7 @@ pub mod user { managers: BTreeSet::from([ic_cdk::id()]), auditors: BTreeSet::from([to]), users: BTreeSet::from([to]), + session_expires_in_ms: None, },), 0, ) diff --git a/src/ic_message/src/types.rs b/src/ic_message/src/types.rs index e14e774..ed63684 100644 --- a/src/ic_message/src/types.rs +++ b/src/ic_message/src/types.rs @@ -1,7 +1,7 @@ use candid::{CandidType, Principal}; use serde::{Deserialize, Serialize}; use serde_bytes::ByteArray; -use std::collections::BTreeSet; +use std::collections::{BTreeMap, BTreeSet}; pub const TOKEN_1: u64 = 100_000_000; pub const TOKEN_FEE: u64 = 10_000; // 0.0001 token @@ -96,3 +96,23 @@ impl UpdatePriceInput { Ok(()) } } + +#[derive(CandidType, Clone, Debug, Deserialize, Serialize, PartialEq, Eq)] +pub struct NamespaceInfo { + pub name: String, + pub desc: String, + pub created_at: u64, // unix timestamp in milliseconds + pub updated_at: u64, // unix timestamp in milliseconds + pub max_payload_size: u64, // max payload size in bytes + pub payload_bytes_total: u64, // total payload size in bytes + pub status: i8, // -1: archived; 0: readable and writable; 1: readonly + pub visibility: u8, // 0: private; 1: public + pub managers: BTreeSet, // managers can read and write all settings + pub auditors: BTreeSet, // auditors can read all settings + pub users: BTreeSet, // users can read and write settings they created + pub gas_balance: u128, // cycles + pub fixed_id_names: Option>>, // fixed identity names + pub session_expires_in_ms: Option, // session expiration in milliseconds for fixed identity + pub settings_total: Option, // settings created by managers for users + pub user_settings_total: Option, // settings created by users +}