+265
-425
Cargo.lock
+265
-425
Cargo.lock
···
117
checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
118
119
[[package]]
120
name = "asn1-rs"
121
version = "0.6.2"
122
source = "registry+https://github.com/rust-lang/crates.io-index"
···
183
184
[[package]]
185
name = "async-compression"
186
-
version = "0.4.34"
187
source = "registry+https://github.com/rust-lang/crates.io-index"
188
-
checksum = "0e86f6d3dc9dc4352edeea6b8e499e13e3f5dc3b964d7ca5fd411415a3498473"
189
dependencies = [
190
"compression-codecs",
191
"compression-core",
···
237
]
238
239
[[package]]
240
name = "atomic-waker"
241
version = "1.1.2"
242
source = "registry+https://github.com/rust-lang/crates.io-index"
···
250
251
[[package]]
252
name = "aws-config"
253
-
version = "1.8.11"
254
source = "registry+https://github.com/rust-lang/crates.io-index"
255
-
checksum = "a0149602eeaf915158e14029ba0c78dedb8c08d554b024d54c8f239aab46511d"
256
dependencies = [
257
"aws-credential-types",
258
"aws-runtime",
···
280
281
[[package]]
282
name = "aws-credential-types"
283
-
version = "1.2.10"
284
source = "registry+https://github.com/rust-lang/crates.io-index"
285
-
checksum = "b01c9521fa01558f750d183c8c68c81b0155b9d193a4ba7f84c36bd1b6d04a06"
286
dependencies = [
287
"aws-smithy-async",
288
"aws-smithy-runtime-api",
···
292
293
[[package]]
294
name = "aws-lc-rs"
295
-
version = "1.15.1"
296
source = "registry+https://github.com/rust-lang/crates.io-index"
297
-
checksum = "6b5ce75405893cd713f9ab8e297d8e438f624dde7d706108285f7e17a25a180f"
298
dependencies = [
299
"aws-lc-sys",
300
"zeroize",
···
302
303
[[package]]
304
name = "aws-lc-sys"
305
-
version = "0.34.0"
306
source = "registry+https://github.com/rust-lang/crates.io-index"
307
-
checksum = "179c3777a8b5e70e90ea426114ffc565b2c1a9f82f6c4a0c5a34aa6ef5e781b6"
308
dependencies = [
309
"cc",
310
"cmake",
···
314
315
[[package]]
316
name = "aws-runtime"
317
-
version = "1.5.16"
318
source = "registry+https://github.com/rust-lang/crates.io-index"
319
-
checksum = "7ce527fb7e53ba9626fc47824f25e256250556c40d8f81d27dd92aa38239d632"
320
dependencies = [
321
"aws-credential-types",
322
"aws-sigv4",
···
339
340
[[package]]
341
name = "aws-sdk-s3"
342
-
version = "1.116.0"
343
source = "registry+https://github.com/rust-lang/crates.io-index"
344
-
checksum = "cd4c10050aa905b50dc2a1165a9848d598a80c3a724d6f93b5881aa62235e4a5"
345
dependencies = [
346
"aws-credential-types",
347
"aws-runtime",
···
373
374
[[package]]
375
name = "aws-sdk-sso"
376
-
version = "1.90.0"
377
source = "registry+https://github.com/rust-lang/crates.io-index"
378
-
checksum = "4f18e53542c522459e757f81e274783a78f8c81acdfc8d1522ee8a18b5fb1c66"
379
dependencies = [
380
"aws-credential-types",
381
"aws-runtime",
···
395
396
[[package]]
397
name = "aws-sdk-ssooidc"
398
-
version = "1.92.0"
399
source = "registry+https://github.com/rust-lang/crates.io-index"
400
-
checksum = "532f4d866012ffa724a4385c82e8dd0e59f0ca0e600f3f22d4c03b6824b34e4a"
401
dependencies = [
402
"aws-credential-types",
403
"aws-runtime",
···
417
418
[[package]]
419
name = "aws-sdk-sts"
420
-
version = "1.94.0"
421
source = "registry+https://github.com/rust-lang/crates.io-index"
422
-
checksum = "1be6fbbfa1a57724788853a623378223fe828fc4c09b146c992f0c95b6256174"
423
dependencies = [
424
"aws-credential-types",
425
"aws-runtime",
···
440
441
[[package]]
442
name = "aws-sigv4"
443
-
version = "1.3.6"
444
source = "registry+https://github.com/rust-lang/crates.io-index"
445
-
checksum = "c35452ec3f001e1f2f6db107b6373f1f48f05ec63ba2c5c9fa91f07dad32af11"
446
dependencies = [
447
"aws-credential-types",
448
"aws-smithy-eventstream",
···
468
469
[[package]]
470
name = "aws-smithy-async"
471
-
version = "1.2.6"
472
source = "registry+https://github.com/rust-lang/crates.io-index"
473
-
checksum = "127fcfad33b7dfc531141fda7e1c402ac65f88aca5511a4d31e2e3d2cd01ce9c"
474
dependencies = [
475
"futures-util",
476
"pin-project-lite",
···
479
480
[[package]]
481
name = "aws-smithy-checksums"
482
-
version = "0.63.11"
483
source = "registry+https://github.com/rust-lang/crates.io-index"
484
-
checksum = "95bd108f7b3563598e4dc7b62e1388c9982324a2abd622442167012690184591"
485
dependencies = [
486
"aws-smithy-http",
487
"aws-smithy-types",
···
499
500
[[package]]
501
name = "aws-smithy-eventstream"
502
-
version = "0.60.13"
503
source = "registry+https://github.com/rust-lang/crates.io-index"
504
-
checksum = "e29a304f8319781a39808847efb39561351b1bb76e933da7aa90232673638658"
505
dependencies = [
506
"aws-smithy-types",
507
"bytes",
···
510
511
[[package]]
512
name = "aws-smithy-http"
513
-
version = "0.62.5"
514
source = "registry+https://github.com/rust-lang/crates.io-index"
515
-
checksum = "445d5d720c99eed0b4aa674ed00d835d9b1427dd73e04adaf2f94c6b2d6f9fca"
516
dependencies = [
517
"aws-smithy-eventstream",
518
"aws-smithy-runtime-api",
···
532
533
[[package]]
534
name = "aws-smithy-http-client"
535
-
version = "1.1.4"
536
source = "registry+https://github.com/rust-lang/crates.io-index"
537
-
checksum = "623254723e8dfd535f566ee7b2381645f8981da086b5c4aa26c0c41582bb1d2c"
538
dependencies = [
539
"aws-smithy-async",
540
"aws-smithy-runtime-api",
···
552
"pin-project-lite",
553
"rustls 0.21.12",
554
"rustls 0.23.35",
555
-
"rustls-native-certs 0.8.2",
556
"rustls-pki-types",
557
"tokio",
558
"tokio-rustls 0.26.4",
···
562
563
[[package]]
564
name = "aws-smithy-json"
565
-
version = "0.61.7"
566
source = "registry+https://github.com/rust-lang/crates.io-index"
567
-
checksum = "2db31f727935fc63c6eeae8b37b438847639ec330a9161ece694efba257e0c54"
568
dependencies = [
569
"aws-smithy-types",
570
]
571
572
[[package]]
573
name = "aws-smithy-observability"
574
-
version = "0.1.4"
575
source = "registry+https://github.com/rust-lang/crates.io-index"
576
-
checksum = "2d1881b1ea6d313f9890710d65c158bdab6fb08c91ea825f74c1c8c357baf4cc"
577
dependencies = [
578
"aws-smithy-runtime-api",
579
]
580
581
[[package]]
582
name = "aws-smithy-query"
583
-
version = "0.60.8"
584
source = "registry+https://github.com/rust-lang/crates.io-index"
585
-
checksum = "d28a63441360c477465f80c7abac3b9c4d075ca638f982e605b7dc2a2c7156c9"
586
dependencies = [
587
"aws-smithy-types",
588
"urlencoding",
···
590
591
[[package]]
592
name = "aws-smithy-runtime"
593
-
version = "1.9.4"
594
source = "registry+https://github.com/rust-lang/crates.io-index"
595
-
checksum = "0bbe9d018d646b96c7be063dd07987849862b0e6d07c778aad7d93d1be6c1ef0"
596
dependencies = [
597
"aws-smithy-async",
598
"aws-smithy-http",
···
614
615
[[package]]
616
name = "aws-smithy-runtime-api"
617
-
version = "1.9.2"
618
source = "registry+https://github.com/rust-lang/crates.io-index"
619
-
checksum = "ec7204f9fd94749a7c53b26da1b961b4ac36bf070ef1e0b94bb09f79d4f6c193"
620
dependencies = [
621
"aws-smithy-async",
622
"aws-smithy-types",
···
631
632
[[package]]
633
name = "aws-smithy-types"
634
-
version = "1.3.4"
635
source = "registry+https://github.com/rust-lang/crates.io-index"
636
-
checksum = "25f535879a207fce0db74b679cfc3e91a3159c8144d717d55f5832aea9eef46e"
637
dependencies = [
638
"base64-simd",
639
"bytes",
···
657
658
[[package]]
659
name = "aws-smithy-xml"
660
-
version = "0.60.12"
661
source = "registry+https://github.com/rust-lang/crates.io-index"
662
-
checksum = "eab77cdd036b11056d2a30a7af7b775789fb024bf216acc13884c6c97752ae56"
663
dependencies = [
664
"xmlparser",
665
]
666
667
[[package]]
668
name = "aws-types"
669
-
version = "1.3.10"
670
source = "registry+https://github.com/rust-lang/crates.io-index"
671
-
checksum = "d79fb68e3d7fe5d4833ea34dc87d2e97d26d3086cb3da660bb6b1f76d98680b6"
672
dependencies = [
673
"aws-credential-types",
674
"aws-smithy-async",
···
680
681
[[package]]
682
name = "axum"
683
-
version = "0.8.7"
684
source = "registry+https://github.com/rust-lang/crates.io-index"
685
-
checksum = "5b098575ebe77cb6d14fc7f32749631a6e44edbef6b796f89b020e99ba20d425"
686
dependencies = [
687
"axum-core",
688
"axum-macros",
···
812
813
[[package]]
814
name = "base64ct"
815
-
version = "1.8.0"
816
source = "registry+https://github.com/rust-lang/crates.io-index"
817
-
checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba"
818
819
[[package]]
820
name = "base64urlsafedata"
···
897
"pin-project-lite",
898
"rand 0.9.2",
899
"rustls 0.23.35",
900
-
"rustls-native-certs 0.8.2",
901
-
"rustls-pemfile 2.2.0",
902
"rustls-pki-types",
903
"serde",
904
"serde_derive",
···
1014
1015
[[package]]
1016
name = "bumpalo"
1017
-
version = "3.19.0"
1018
-
source = "registry+https://github.com/rust-lang/crates.io-index"
1019
-
checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
1020
-
1021
-
[[package]]
1022
-
name = "bytecount"
1023
-
version = "0.6.9"
1024
source = "registry+https://github.com/rust-lang/crates.io-index"
1025
-
checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e"
1026
1027
[[package]]
1028
name = "bytemuck"
···
1062
]
1063
1064
[[package]]
1065
-
name = "camino"
1066
-
version = "1.2.1"
1067
-
source = "registry+https://github.com/rust-lang/crates.io-index"
1068
-
checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609"
1069
-
dependencies = [
1070
-
"serde_core",
1071
-
]
1072
-
1073
-
[[package]]
1074
-
name = "cargo-platform"
1075
-
version = "0.1.9"
1076
-
source = "registry+https://github.com/rust-lang/crates.io-index"
1077
-
checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea"
1078
-
dependencies = [
1079
-
"serde",
1080
-
]
1081
-
1082
-
[[package]]
1083
-
name = "cargo_metadata"
1084
-
version = "0.14.2"
1085
-
source = "registry+https://github.com/rust-lang/crates.io-index"
1086
-
checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa"
1087
-
dependencies = [
1088
-
"camino",
1089
-
"cargo-platform",
1090
-
"semver",
1091
-
"serde",
1092
-
"serde_json",
1093
-
]
1094
-
1095
-
[[package]]
1096
name = "cbor4ii"
1097
version = "0.2.14"
1098
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1103
1104
[[package]]
1105
name = "cc"
1106
-
version = "1.2.48"
1107
source = "registry+https://github.com/rust-lang/crates.io-index"
1108
-
checksum = "c481bdbf0ed3b892f6f806287d72acd515b352a4ec27a208489b8c1bc839633a"
1109
dependencies = [
1110
"find-msvc-tools",
1111
"jobserver",
···
1145
"num-traits",
1146
"serde",
1147
"wasm-bindgen",
1148
-
"windows-link 0.2.1",
1149
]
1150
1151
[[package]]
···
1201
1202
[[package]]
1203
name = "cmake"
1204
-
version = "0.1.54"
1205
source = "registry+https://github.com/rust-lang/crates.io-index"
1206
-
checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0"
1207
dependencies = [
1208
"cc",
1209
]
1210
1211
[[package]]
···
1230
1231
[[package]]
1232
name = "compression-codecs"
1233
-
version = "0.4.33"
1234
source = "registry+https://github.com/rust-lang/crates.io-index"
1235
-
checksum = "302266479cb963552d11bd042013a58ef1adc56768016c8b82b4199488f2d4ad"
1236
dependencies = [
1237
"compression-core",
1238
"flate2",
···
1362
dependencies = [
1363
"cfg-if",
1364
]
1365
1366
[[package]]
1367
name = "crossbeam-channel"
···
1428
1429
[[package]]
1430
name = "crypto-common"
1431
-
version = "0.1.6"
1432
source = "registry+https://github.com/rust-lang/crates.io-index"
1433
-
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
1434
dependencies = [
1435
"generic-array",
1436
"rand_core 0.6.4",
···
1522
"darling_core",
1523
"quote",
1524
"syn 2.0.111",
1525
-
]
1526
-
1527
-
[[package]]
1528
-
name = "dashmap"
1529
-
version = "5.5.3"
1530
-
source = "registry+https://github.com/rust-lang/crates.io-index"
1531
-
checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
1532
-
dependencies = [
1533
-
"cfg-if",
1534
-
"hashbrown 0.14.5",
1535
-
"lock_api",
1536
-
"once_cell",
1537
-
"parking_lot_core",
1538
]
1539
1540
[[package]]
···
1836
]
1837
1838
[[package]]
1839
name = "encoding_rs"
1840
version = "0.8.35"
1841
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1870
dependencies = [
1871
"libc",
1872
"windows-sys 0.61.2",
1873
-
]
1874
-
1875
-
[[package]]
1876
-
name = "error-chain"
1877
-
version = "0.12.4"
1878
-
source = "registry+https://github.com/rust-lang/crates.io-index"
1879
-
checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc"
1880
-
dependencies = [
1881
-
"version_check",
1882
]
1883
1884
[[package]]
···
1930
1931
[[package]]
1932
name = "ferroid"
1933
-
version = "0.8.7"
1934
source = "registry+https://github.com/rust-lang/crates.io-index"
1935
-
checksum = "e0e9414a6ae93ef993ce40a1e02944f13d4508e2bf6f1ced1580ce6910f08253"
1936
dependencies = [
1937
"portable-atomic",
1938
"rand 0.9.2",
···
2196
2197
[[package]]
2198
name = "generator"
2199
-
version = "0.8.7"
2200
source = "registry+https://github.com/rust-lang/crates.io-index"
2201
-
checksum = "605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2"
2202
dependencies = [
2203
"cc",
2204
"cfg-if",
2205
"libc",
2206
"log",
2207
"rustversion",
2208
-
"windows",
2209
]
2210
2211
[[package]]
2212
name = "generic-array"
2213
-
version = "0.14.9"
2214
source = "registry+https://github.com/rust-lang/crates.io-index"
2215
-
checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2"
2216
dependencies = [
2217
"typenum",
2218
"version_check",
···
2267
]
2268
2269
[[package]]
2270
-
name = "glob"
2271
-
version = "0.3.3"
2272
-
source = "registry+https://github.com/rust-lang/crates.io-index"
2273
-
checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
2274
-
2275
-
[[package]]
2276
name = "gloo-storage"
2277
version = "0.3.0"
2278
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2302
2303
[[package]]
2304
name = "governor"
2305
-
version = "0.10.2"
2306
source = "registry+https://github.com/rust-lang/crates.io-index"
2307
-
checksum = "6e23d5986fd4364c2fb7498523540618b4b8d92eec6c36a02e565f66748e2f79"
2308
dependencies = [
2309
"cfg-if",
2310
-
"dashmap 6.1.0",
2311
"futures-sink",
2312
"futures-timer",
2313
"futures-util",
···
2395
]
2396
2397
[[package]]
2398
name = "hashbrown"
2399
version = "0.12.3"
2400
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2438
]
2439
2440
[[package]]
2441
name = "heck"
2442
version = "0.4.1"
2443
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2699
"hyper 0.14.32",
2700
"log",
2701
"rustls 0.21.12",
2702
-
"rustls-native-certs 0.6.3",
2703
"tokio",
2704
"tokio-rustls 0.24.1",
2705
]
···
2714
"hyper 1.8.1",
2715
"hyper-util",
2716
"rustls 0.23.35",
2717
-
"rustls-native-certs 0.8.2",
2718
"rustls-pki-types",
2719
"tokio",
2720
"tokio-rustls 0.26.4",
···
2753
2754
[[package]]
2755
name = "hyper-util"
2756
-
version = "0.1.18"
2757
source = "registry+https://github.com/rust-lang/crates.io-index"
2758
-
checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56"
2759
dependencies = [
2760
"base64 0.22.1",
2761
"bytes",
···
2804
"js-sys",
2805
"log",
2806
"wasm-bindgen",
2807
-
"windows-core 0.62.2",
2808
]
2809
2810
[[package]]
···
2864
2865
[[package]]
2866
name = "icu_properties"
2867
-
version = "2.1.1"
2868
source = "registry+https://github.com/rust-lang/crates.io-index"
2869
-
checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99"
2870
dependencies = [
2871
"icu_collections",
2872
"icu_locale_core",
···
2878
2879
[[package]]
2880
name = "icu_properties_data"
2881
-
version = "2.1.1"
2882
source = "registry+https://github.com/rust-lang/crates.io-index"
2883
-
checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899"
2884
2885
[[package]]
2886
name = "icu_provider"
···
3059
3060
[[package]]
3061
name = "itertools"
3062
-
version = "0.13.0"
3063
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3064
-
checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
3065
-
dependencies = [
3066
-
"either",
3067
-
]
3068
-
3069
-
[[package]]
3070
-
name = "itertools"
3071
version = "0.14.0"
3072
source = "registry+https://github.com/rust-lang/crates.io-index"
3073
checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
···
3077
3078
[[package]]
3079
name = "itoa"
3080
-
version = "1.0.15"
3081
source = "registry+https://github.com/rust-lang/crates.io-index"
3082
-
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
3083
3084
[[package]]
3085
name = "jacquard"
3086
-
version = "0.9.3"
3087
source = "registry+https://github.com/rust-lang/crates.io-index"
3088
-
checksum = "c19864761c8d69d23201fd19dd021cddf1fb7acbebb6e6b50e2b1776ec982768"
3089
dependencies = [
3090
"bytes",
3091
"getrandom 0.2.16",
···
3114
3115
[[package]]
3116
name = "jacquard-api"
3117
-
version = "0.9.2"
3118
source = "registry+https://github.com/rust-lang/crates.io-index"
3119
-
checksum = "bbbfd6e2b10fa1731f4d4e40c8f791956b0d4f804fb3efef891afec903f20597"
3120
dependencies = [
3121
"bon",
3122
"bytes",
···
3126
"miette",
3127
"rustversion",
3128
"serde",
3129
"serde_ipld_dagcbor",
3130
"thiserror 2.0.17",
3131
"unicode-segmentation",
···
3133
3134
[[package]]
3135
name = "jacquard-axum"
3136
-
version = "0.9.2"
3137
source = "registry+https://github.com/rust-lang/crates.io-index"
3138
-
checksum = "ee1b58111f0a2a08ee18525ac661a0448fdc84d4ecb423d64aaaf88074460380"
3139
dependencies = [
3140
"axum",
3141
"bytes",
···
3156
3157
[[package]]
3158
name = "jacquard-common"
3159
-
version = "0.9.2"
3160
source = "registry+https://github.com/rust-lang/crates.io-index"
3161
-
checksum = "df86cb117d9f1c2b0251ba67c3f0e3f963fd22abc6cf8de0e02a7fc846c288ca"
3162
dependencies = [
3163
"base64 0.22.1",
3164
"bon",
···
3177
"multihash",
3178
"ouroboros",
3179
"p256 0.13.2",
3180
"rand 0.9.2",
3181
"regex",
3182
"regex-lite",
3183
"reqwest",
3184
"serde",
3185
"serde_html_form",
3186
"serde_ipld_dagcbor",
3187
"serde_json",
···
3196
3197
[[package]]
3198
name = "jacquard-derive"
3199
-
version = "0.9.2"
3200
source = "registry+https://github.com/rust-lang/crates.io-index"
3201
-
checksum = "42ca61a69dc7aa8fb2d7163416514ff7df5d79f2e8b22e269f4610afa85572fe"
3202
dependencies = [
3203
"heck 0.5.0",
3204
"jacquard-lexicon",
···
3209
3210
[[package]]
3211
name = "jacquard-identity"
3212
-
version = "0.9.2"
3213
source = "registry+https://github.com/rust-lang/crates.io-index"
3214
-
checksum = "1ef714cacebfca486558a9f8e205daf466bfba0466c4d0c450fd6d0252400a53"
3215
dependencies = [
3216
"bon",
3217
"bytes",
···
3221
"jacquard-common",
3222
"jacquard-lexicon",
3223
"miette",
3224
-
"mini-moka",
3225
"percent-encoding",
3226
"reqwest",
3227
"serde",
···
3236
3237
[[package]]
3238
name = "jacquard-lexicon"
3239
-
version = "0.9.2"
3240
source = "registry+https://github.com/rust-lang/crates.io-index"
3241
-
checksum = "de87f2c938faea1b1f1b32d5b9e0c870e7b5bb5efbf96e3692ae2d8f6b2beb7a"
3242
dependencies = [
3243
"cid",
3244
-
"dashmap 6.1.0",
3245
"heck 0.5.0",
3246
"inventory",
3247
"jacquard-common",
···
3263
3264
[[package]]
3265
name = "jacquard-oauth"
3266
-
version = "0.9.2"
3267
source = "registry+https://github.com/rust-lang/crates.io-index"
3268
-
checksum = "aafe9b4b2160cb57cd48d02d84d2c09706853d098e053baacb06a59fcd59a898"
3269
dependencies = [
3270
"base64 0.22.1",
3271
"bytes",
3272
"chrono",
3273
-
"dashmap 6.1.0",
3274
"elliptic-curve 0.13.8",
3275
"http 1.4.0",
3276
"jacquard-common",
···
3293
3294
[[package]]
3295
name = "jacquard-repo"
3296
-
version = "0.9.2"
3297
source = "registry+https://github.com/rust-lang/crates.io-index"
3298
-
checksum = "2ccdadfea11df142fbfb11cf7e5c1f7b8c0548758dedb0ce0eac182777f91f18"
3299
dependencies = [
3300
"bytes",
3301
"cid",
···
3445
3446
[[package]]
3447
name = "libredox"
3448
-
version = "0.1.10"
3449
source = "registry+https://github.com/rust-lang/crates.io-index"
3450
-
checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb"
3451
dependencies = [
3452
"bitflags",
3453
"libc",
3454
-
"redox_syscall",
3455
]
3456
3457
[[package]]
···
3493
3494
[[package]]
3495
name = "log"
3496
-
version = "0.4.28"
3497
source = "registry+https://github.com/rust-lang/crates.io-index"
3498
-
checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
3499
3500
[[package]]
3501
name = "loom"
···
3693
]
3694
3695
[[package]]
3696
-
name = "mini-moka"
3697
-
version = "0.10.3"
3698
source = "registry+https://github.com/rust-lang/crates.io-index"
3699
-
checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803"
3700
dependencies = [
3701
"crossbeam-channel",
3702
"crossbeam-utils",
3703
-
"dashmap 5.5.3",
3704
-
"skeptic",
3705
"smallvec",
3706
"tagptr",
3707
"triomphe",
3708
]
3709
3710
[[package]]
···
3725
3726
[[package]]
3727
name = "mio"
3728
-
version = "1.1.0"
3729
source = "registry+https://github.com/rust-lang/crates.io-index"
3730
-
checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873"
3731
dependencies = [
3732
"libc",
3733
"wasi",
···
3736
3737
[[package]]
3738
name = "moxcms"
3739
-
version = "0.7.10"
3740
source = "registry+https://github.com/rust-lang/crates.io-index"
3741
-
checksum = "80986bbbcf925ebd3be54c26613d861255284584501595cf418320c078945608"
3742
dependencies = [
3743
"num-traits",
3744
"pxfm",
···
4096
dependencies = [
4097
"cfg-if",
4098
"libc",
4099
-
"redox_syscall",
4100
"smallvec",
4101
-
"windows-link 0.2.1",
4102
]
4103
4104
[[package]]
···
4291
4292
[[package]]
4293
name = "portable-atomic"
4294
-
version = "1.11.1"
4295
source = "registry+https://github.com/rust-lang/crates.io-index"
4296
-
checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
4297
4298
[[package]]
4299
name = "potential_utf"
···
4407
checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425"
4408
dependencies = [
4409
"anyhow",
4410
-
"itertools 0.14.0",
4411
"proc-macro2",
4412
"quote",
4413
"syn 2.0.111",
···
4423
]
4424
4425
[[package]]
4426
-
name = "pulldown-cmark"
4427
-
version = "0.9.6"
4428
-
source = "registry+https://github.com/rust-lang/crates.io-index"
4429
-
checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b"
4430
-
dependencies = [
4431
-
"bitflags",
4432
-
"memchr",
4433
-
"unicase",
4434
-
]
4435
-
4436
-
[[package]]
4437
name = "pxfm"
4438
version = "0.1.27"
4439
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4635
4636
[[package]]
4637
name = "redis"
4638
-
version = "0.27.6"
4639
source = "registry+https://github.com/rust-lang/crates.io-index"
4640
-
checksum = "09d8f99a4090c89cc489a94833c901ead69bfbf3877b4867d5482e321ee875bc"
4641
dependencies = [
4642
"arc-swap",
4643
-
"async-trait",
4644
"backon",
4645
"bytes",
4646
"combine",
4647
-
"futures",
4648
"futures-util",
4649
-
"itertools 0.13.0",
4650
"itoa",
4651
"num-bigint",
4652
"percent-encoding",
4653
"pin-project-lite",
4654
"ryu",
4655
"sha1_smol",
4656
-
"socket2 0.5.10",
4657
"tokio",
4658
"tokio-util",
4659
"url",
4660
]
4661
4662
[[package]]
···
4664
version = "0.5.18"
4665
source = "registry+https://github.com/rust-lang/crates.io-index"
4666
checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
4667
dependencies = [
4668
"bitflags",
4669
]
···
4725
4726
[[package]]
4727
name = "reqwest"
4728
-
version = "0.12.24"
4729
source = "registry+https://github.com/rust-lang/crates.io-index"
4730
-
checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f"
4731
dependencies = [
4732
-
"async-compression",
4733
"base64 0.22.1",
4734
"bytes",
4735
"encoding_rs",
4736
"futures-core",
4737
-
"futures-util",
4738
"h2 0.4.12",
4739
"http 1.4.0",
4740
"http-body 1.0.1",
···
4759
"tokio",
4760
"tokio-native-tls",
4761
"tokio-rustls 0.26.4",
4762
-
"tokio-util",
4763
"tower",
4764
"tower-http",
4765
"tower-service",
4766
"url",
4767
"wasm-bindgen",
4768
"wasm-bindgen-futures",
4769
-
"wasm-streams",
4770
"web-sys",
4771
"webpki-roots 1.0.4",
4772
]
···
4858
4859
[[package]]
4860
name = "rustix"
4861
-
version = "1.1.2"
4862
source = "registry+https://github.com/rust-lang/crates.io-index"
4863
-
checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e"
4864
dependencies = [
4865
"bitflags",
4866
"errno",
···
4899
4900
[[package]]
4901
name = "rustls-native-certs"
4902
-
version = "0.6.3"
4903
-
source = "registry+https://github.com/rust-lang/crates.io-index"
4904
-
checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
4905
-
dependencies = [
4906
-
"openssl-probe",
4907
-
"rustls-pemfile 1.0.4",
4908
-
"schannel",
4909
-
"security-framework 2.11.1",
4910
-
]
4911
-
4912
-
[[package]]
4913
-
name = "rustls-native-certs"
4914
version = "0.8.2"
4915
source = "registry+https://github.com/rust-lang/crates.io-index"
4916
checksum = "9980d917ebb0c0536119ba501e90834767bffc3d60641457fd84a1f3fd337923"
···
4923
4924
[[package]]
4925
name = "rustls-pemfile"
4926
-
version = "1.0.4"
4927
-
source = "registry+https://github.com/rust-lang/crates.io-index"
4928
-
checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
4929
-
dependencies = [
4930
-
"base64 0.21.7",
4931
-
]
4932
-
4933
-
[[package]]
4934
-
name = "rustls-pemfile"
4935
version = "2.2.0"
4936
source = "registry+https://github.com/rust-lang/crates.io-index"
4937
checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50"
···
4941
4942
[[package]]
4943
name = "rustls-pki-types"
4944
-
version = "1.13.1"
4945
source = "registry+https://github.com/rust-lang/crates.io-index"
4946
-
checksum = "708c0f9d5f54ba0272468c1d306a52c495b31fa155e91bc25371e6df7996908c"
4947
dependencies = [
4948
"web-time",
4949
"zeroize",
···
4979
4980
[[package]]
4981
name = "ryu"
4982
-
version = "1.0.20"
4983
source = "registry+https://github.com/rust-lang/crates.io-index"
4984
-
checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
4985
-
4986
-
[[package]]
4987
-
name = "same-file"
4988
-
version = "1.0.6"
4989
-
source = "registry+https://github.com/rust-lang/crates.io-index"
4990
-
checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
4991
-
dependencies = [
4992
-
"winapi-util",
4993
-
]
4994
4995
[[package]]
4996
name = "schannel"
···
5116
version = "1.0.27"
5117
source = "registry+https://github.com/rust-lang/crates.io-index"
5118
checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
5119
-
dependencies = [
5120
-
"serde",
5121
-
"serde_core",
5122
-
]
5123
5124
[[package]]
5125
name = "send_wrapper"
···
5204
5205
[[package]]
5206
name = "serde_json"
5207
-
version = "1.0.145"
5208
source = "registry+https://github.com/rust-lang/crates.io-index"
5209
-
checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
5210
dependencies = [
5211
"itoa",
5212
"memchr",
···
5354
5355
[[package]]
5356
name = "simd-adler32"
5357
-
version = "0.3.7"
5358
source = "registry+https://github.com/rust-lang/crates.io-index"
5359
-
checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
5360
5361
[[package]]
5362
name = "simple_asn1"
···
5377
checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
5378
5379
[[package]]
5380
-
name = "skeptic"
5381
-
version = "0.13.7"
5382
-
source = "registry+https://github.com/rust-lang/crates.io-index"
5383
-
checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8"
5384
-
dependencies = [
5385
-
"bytecount",
5386
-
"cargo_metadata",
5387
-
"error-chain",
5388
-
"glob",
5389
-
"pulldown-cmark",
5390
-
"tempfile",
5391
-
"walkdir",
5392
-
]
5393
-
5394
-
[[package]]
5395
name = "sketches-ddsketch"
5396
version = "0.3.0"
5397
source = "registry+https://github.com/rust-lang/crates.io-index"
···
5882
5883
[[package]]
5884
name = "testcontainers"
5885
-
version = "0.26.0"
5886
source = "registry+https://github.com/rust-lang/crates.io-index"
5887
-
checksum = "a347cac4368ba4f1871743adb27dc14829024d26b1763572404726b0b9943eb8"
5888
dependencies = [
5889
"astral-tokio-tar",
5890
"async-trait",
···
5895
"etcetera 0.11.0",
5896
"ferroid",
5897
"futures",
5898
-
"itertools 0.14.0",
5899
"log",
5900
"memchr",
5901
"parse-display",
···
6197
6198
[[package]]
6199
name = "tower-http"
6200
-
version = "0.6.7"
6201
source = "registry+https://github.com/rust-lang/crates.io-index"
6202
-
checksum = "9cf146f99d442e8e68e585f5d798ccd3cad9a7835b917e09728880a862706456"
6203
dependencies = [
6204
"bitflags",
6205
"bytes",
6206
"futures-core",
···
6237
6238
[[package]]
6239
name = "tracing"
6240
-
version = "0.1.43"
6241
source = "registry+https://github.com/rust-lang/crates.io-index"
6242
-
checksum = "2d15d90a0b5c19378952d479dc858407149d7bb45a14de0142f6c534b16fc647"
6243
dependencies = [
6244
"log",
6245
"pin-project-lite",
···
6260
6261
[[package]]
6262
name = "tracing-core"
6263
-
version = "0.1.35"
6264
source = "registry+https://github.com/rust-lang/crates.io-index"
6265
-
checksum = "7a04e24fab5c89c6a36eb8558c9656f30d81de51dfa4d3b45f26b21d61fa0a6c"
6266
dependencies = [
6267
"once_cell",
6268
"valuable",
···
6586
checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64"
6587
6588
[[package]]
6589
-
name = "walkdir"
6590
-
version = "2.5.0"
6591
-
source = "registry+https://github.com/rust-lang/crates.io-index"
6592
-
checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
6593
-
dependencies = [
6594
-
"same-file",
6595
-
"winapi-util",
6596
-
]
6597
-
6598
-
[[package]]
6599
name = "want"
6600
version = "0.3.1"
6601
source = "registry+https://github.com/rust-lang/crates.io-index"
···
6684
]
6685
6686
[[package]]
6687
-
name = "wasm-streams"
6688
-
version = "0.4.2"
6689
-
source = "registry+https://github.com/rust-lang/crates.io-index"
6690
-
checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65"
6691
-
dependencies = [
6692
-
"futures-util",
6693
-
"js-sys",
6694
-
"wasm-bindgen",
6695
-
"wasm-bindgen-futures",
6696
-
"web-sys",
6697
-
]
6698
-
6699
-
[[package]]
6700
name = "web-sys"
6701
version = "0.3.83"
6702
source = "registry+https://github.com/rust-lang/crates.io-index"
···
6853
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
6854
6855
[[package]]
6856
-
name = "winapi-util"
6857
-
version = "0.1.11"
6858
-
source = "registry+https://github.com/rust-lang/crates.io-index"
6859
-
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
6860
-
dependencies = [
6861
-
"windows-sys 0.61.2",
6862
-
]
6863
-
6864
-
[[package]]
6865
name = "winapi-x86_64-pc-windows-gnu"
6866
version = "0.4.0"
6867
source = "registry+https://github.com/rust-lang/crates.io-index"
6868
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
6869
6870
[[package]]
6871
-
name = "windows"
6872
-
version = "0.61.3"
6873
-
source = "registry+https://github.com/rust-lang/crates.io-index"
6874
-
checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893"
6875
-
dependencies = [
6876
-
"windows-collections",
6877
-
"windows-core 0.61.2",
6878
-
"windows-future",
6879
-
"windows-link 0.1.3",
6880
-
"windows-numerics",
6881
-
]
6882
-
6883
-
[[package]]
6884
-
name = "windows-collections"
6885
-
version = "0.2.0"
6886
-
source = "registry+https://github.com/rust-lang/crates.io-index"
6887
-
checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8"
6888
-
dependencies = [
6889
-
"windows-core 0.61.2",
6890
-
]
6891
-
6892
-
[[package]]
6893
-
name = "windows-core"
6894
-
version = "0.61.2"
6895
-
source = "registry+https://github.com/rust-lang/crates.io-index"
6896
-
checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
6897
-
dependencies = [
6898
-
"windows-implement",
6899
-
"windows-interface",
6900
-
"windows-link 0.1.3",
6901
-
"windows-result 0.3.4",
6902
-
"windows-strings 0.4.2",
6903
-
]
6904
-
6905
-
[[package]]
6906
name = "windows-core"
6907
version = "0.62.2"
6908
source = "registry+https://github.com/rust-lang/crates.io-index"
···
6910
dependencies = [
6911
"windows-implement",
6912
"windows-interface",
6913
-
"windows-link 0.2.1",
6914
-
"windows-result 0.4.1",
6915
-
"windows-strings 0.5.1",
6916
-
]
6917
-
6918
-
[[package]]
6919
-
name = "windows-future"
6920
-
version = "0.2.1"
6921
-
source = "registry+https://github.com/rust-lang/crates.io-index"
6922
-
checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e"
6923
-
dependencies = [
6924
-
"windows-core 0.61.2",
6925
-
"windows-link 0.1.3",
6926
-
"windows-threading",
6927
]
6928
6929
[[package]]
···
6950
6951
[[package]]
6952
name = "windows-link"
6953
-
version = "0.1.3"
6954
-
source = "registry+https://github.com/rust-lang/crates.io-index"
6955
-
checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
6956
-
6957
-
[[package]]
6958
-
name = "windows-link"
6959
version = "0.2.1"
6960
source = "registry+https://github.com/rust-lang/crates.io-index"
6961
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
6962
6963
[[package]]
6964
-
name = "windows-numerics"
6965
-
version = "0.2.0"
6966
-
source = "registry+https://github.com/rust-lang/crates.io-index"
6967
-
checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1"
6968
-
dependencies = [
6969
-
"windows-core 0.61.2",
6970
-
"windows-link 0.1.3",
6971
-
]
6972
-
6973
-
[[package]]
6974
name = "windows-registry"
6975
version = "0.6.1"
6976
source = "registry+https://github.com/rust-lang/crates.io-index"
6977
checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720"
6978
dependencies = [
6979
-
"windows-link 0.2.1",
6980
-
"windows-result 0.4.1",
6981
-
"windows-strings 0.5.1",
6982
-
]
6983
-
6984
-
[[package]]
6985
-
name = "windows-result"
6986
-
version = "0.3.4"
6987
-
source = "registry+https://github.com/rust-lang/crates.io-index"
6988
-
checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
6989
-
dependencies = [
6990
-
"windows-link 0.1.3",
6991
]
6992
6993
[[package]]
···
6996
source = "registry+https://github.com/rust-lang/crates.io-index"
6997
checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
6998
dependencies = [
6999
-
"windows-link 0.2.1",
7000
-
]
7001
-
7002
-
[[package]]
7003
-
name = "windows-strings"
7004
-
version = "0.4.2"
7005
-
source = "registry+https://github.com/rust-lang/crates.io-index"
7006
-
checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
7007
-
dependencies = [
7008
-
"windows-link 0.1.3",
7009
]
7010
7011
[[package]]
···
7014
source = "registry+https://github.com/rust-lang/crates.io-index"
7015
checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
7016
dependencies = [
7017
-
"windows-link 0.2.1",
7018
]
7019
7020
[[package]]
···
7050
source = "registry+https://github.com/rust-lang/crates.io-index"
7051
checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
7052
dependencies = [
7053
-
"windows-link 0.2.1",
7054
]
7055
7056
[[package]]
···
7090
source = "registry+https://github.com/rust-lang/crates.io-index"
7091
checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
7092
dependencies = [
7093
-
"windows-link 0.2.1",
7094
"windows_aarch64_gnullvm 0.53.1",
7095
"windows_aarch64_msvc 0.53.1",
7096
"windows_i686_gnu 0.53.1",
···
7099
"windows_x86_64_gnu 0.53.1",
7100
"windows_x86_64_gnullvm 0.53.1",
7101
"windows_x86_64_msvc 0.53.1",
7102
-
]
7103
-
7104
-
[[package]]
7105
-
name = "windows-threading"
7106
-
version = "0.1.0"
7107
-
source = "registry+https://github.com/rust-lang/crates.io-index"
7108
-
checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6"
7109
-
dependencies = [
7110
-
"windows-link 0.1.3",
7111
]
7112
7113
[[package]]
···
7338
checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
7339
7340
[[package]]
7341
name = "yansi"
7342
version = "1.0.1"
7343
source = "registry+https://github.com/rust-lang/crates.io-index"
···
7457
7458
[[package]]
7459
name = "zune-jpeg"
7460
-
version = "0.5.6"
7461
source = "registry+https://github.com/rust-lang/crates.io-index"
7462
-
checksum = "f520eebad972262a1dde0ec455bce4f8b298b1e5154513de58c114c4c54303e8"
7463
dependencies = [
7464
"zune-core",
7465
]
···
117
checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
118
119
[[package]]
120
+
name = "arcstr"
121
+
version = "1.2.0"
122
+
source = "registry+https://github.com/rust-lang/crates.io-index"
123
+
checksum = "03918c3dbd7701a85c6b9887732e2921175f26c350b4563841d0958c21d57e6d"
124
+
125
+
[[package]]
126
name = "asn1-rs"
127
version = "0.6.2"
128
source = "registry+https://github.com/rust-lang/crates.io-index"
···
189
190
[[package]]
191
name = "async-compression"
192
+
version = "0.4.36"
193
source = "registry+https://github.com/rust-lang/crates.io-index"
194
+
checksum = "98ec5f6c2f8bc326c994cb9e241cc257ddaba9afa8555a43cffbb5dd86efaa37"
195
dependencies = [
196
"compression-codecs",
197
"compression-core",
···
243
]
244
245
[[package]]
246
+
name = "atomic-polyfill"
247
+
version = "1.0.3"
248
+
source = "registry+https://github.com/rust-lang/crates.io-index"
249
+
checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4"
250
+
dependencies = [
251
+
"critical-section",
252
+
]
253
+
254
+
[[package]]
255
name = "atomic-waker"
256
version = "1.1.2"
257
source = "registry+https://github.com/rust-lang/crates.io-index"
···
265
266
[[package]]
267
name = "aws-config"
268
+
version = "1.8.12"
269
source = "registry+https://github.com/rust-lang/crates.io-index"
270
+
checksum = "96571e6996817bf3d58f6b569e4b9fd2e9d2fcf9f7424eed07b2ce9bb87535e5"
271
dependencies = [
272
"aws-credential-types",
273
"aws-runtime",
···
295
296
[[package]]
297
name = "aws-credential-types"
298
+
version = "1.2.11"
299
source = "registry+https://github.com/rust-lang/crates.io-index"
300
+
checksum = "3cd362783681b15d136480ad555a099e82ecd8e2d10a841e14dfd0078d67fee3"
301
dependencies = [
302
"aws-smithy-async",
303
"aws-smithy-runtime-api",
···
307
308
[[package]]
309
name = "aws-lc-rs"
310
+
version = "1.15.2"
311
source = "registry+https://github.com/rust-lang/crates.io-index"
312
+
checksum = "6a88aab2464f1f25453baa7a07c84c5b7684e274054ba06817f382357f77a288"
313
dependencies = [
314
"aws-lc-sys",
315
"zeroize",
···
317
318
[[package]]
319
name = "aws-lc-sys"
320
+
version = "0.35.0"
321
source = "registry+https://github.com/rust-lang/crates.io-index"
322
+
checksum = "b45afffdee1e7c9126814751f88dddc747f41d91da16c9551a0f1e8a11e788a1"
323
dependencies = [
324
"cc",
325
"cmake",
···
329
330
[[package]]
331
name = "aws-runtime"
332
+
version = "1.5.17"
333
source = "registry+https://github.com/rust-lang/crates.io-index"
334
+
checksum = "d81b5b2898f6798ad58f484856768bca817e3cd9de0974c24ae0f1113fe88f1b"
335
dependencies = [
336
"aws-credential-types",
337
"aws-sigv4",
···
354
355
[[package]]
356
name = "aws-sdk-s3"
357
+
version = "1.118.0"
358
source = "registry+https://github.com/rust-lang/crates.io-index"
359
+
checksum = "d3e6b7079f85d9ea9a70643c9f89f50db70f5ada868fa9cfe08c1ffdf51abc13"
360
dependencies = [
361
"aws-credential-types",
362
"aws-runtime",
···
388
389
[[package]]
390
name = "aws-sdk-sso"
391
+
version = "1.91.0"
392
source = "registry+https://github.com/rust-lang/crates.io-index"
393
+
checksum = "8ee6402a36f27b52fe67661c6732d684b2635152b676aa2babbfb5204f99115d"
394
dependencies = [
395
"aws-credential-types",
396
"aws-runtime",
···
410
411
[[package]]
412
name = "aws-sdk-ssooidc"
413
+
version = "1.93.0"
414
source = "registry+https://github.com/rust-lang/crates.io-index"
415
+
checksum = "a45a7f750bbd170ee3677671ad782d90b894548f4e4ae168302c57ec9de5cb3e"
416
dependencies = [
417
"aws-credential-types",
418
"aws-runtime",
···
432
433
[[package]]
434
name = "aws-sdk-sts"
435
+
version = "1.95.0"
436
source = "registry+https://github.com/rust-lang/crates.io-index"
437
+
checksum = "55542378e419558e6b1f398ca70adb0b2088077e79ad9f14eb09441f2f7b2164"
438
dependencies = [
439
"aws-credential-types",
440
"aws-runtime",
···
455
456
[[package]]
457
name = "aws-sigv4"
458
+
version = "1.3.7"
459
source = "registry+https://github.com/rust-lang/crates.io-index"
460
+
checksum = "69e523e1c4e8e7e8ff219d732988e22bfeae8a1cafdbe6d9eca1546fa080be7c"
461
dependencies = [
462
"aws-credential-types",
463
"aws-smithy-eventstream",
···
483
484
[[package]]
485
name = "aws-smithy-async"
486
+
version = "1.2.7"
487
source = "registry+https://github.com/rust-lang/crates.io-index"
488
+
checksum = "9ee19095c7c4dda59f1697d028ce704c24b2d33c6718790c7f1d5a3015b4107c"
489
dependencies = [
490
"futures-util",
491
"pin-project-lite",
···
494
495
[[package]]
496
name = "aws-smithy-checksums"
497
+
version = "0.63.12"
498
source = "registry+https://github.com/rust-lang/crates.io-index"
499
+
checksum = "87294a084b43d649d967efe58aa1f9e0adc260e13a6938eb904c0ae9b45824ae"
500
dependencies = [
501
"aws-smithy-http",
502
"aws-smithy-types",
···
514
515
[[package]]
516
name = "aws-smithy-eventstream"
517
+
version = "0.60.14"
518
source = "registry+https://github.com/rust-lang/crates.io-index"
519
+
checksum = "dc12f8b310e38cad85cf3bef45ad236f470717393c613266ce0a89512286b650"
520
dependencies = [
521
"aws-smithy-types",
522
"bytes",
···
525
526
[[package]]
527
name = "aws-smithy-http"
528
+
version = "0.62.6"
529
source = "registry+https://github.com/rust-lang/crates.io-index"
530
+
checksum = "826141069295752372f8203c17f28e30c464d22899a43a0c9fd9c458d469c88b"
531
dependencies = [
532
"aws-smithy-eventstream",
533
"aws-smithy-runtime-api",
···
547
548
[[package]]
549
name = "aws-smithy-http-client"
550
+
version = "1.1.5"
551
source = "registry+https://github.com/rust-lang/crates.io-index"
552
+
checksum = "59e62db736db19c488966c8d787f52e6270be565727236fd5579eaa301e7bc4a"
553
dependencies = [
554
"aws-smithy-async",
555
"aws-smithy-runtime-api",
···
567
"pin-project-lite",
568
"rustls 0.21.12",
569
"rustls 0.23.35",
570
+
"rustls-native-certs",
571
"rustls-pki-types",
572
"tokio",
573
"tokio-rustls 0.26.4",
···
577
578
[[package]]
579
name = "aws-smithy-json"
580
+
version = "0.61.9"
581
source = "registry+https://github.com/rust-lang/crates.io-index"
582
+
checksum = "49fa1213db31ac95288d981476f78d05d9cbb0353d22cdf3472cc05bb02f6551"
583
dependencies = [
584
"aws-smithy-types",
585
]
586
587
[[package]]
588
name = "aws-smithy-observability"
589
+
version = "0.1.5"
590
source = "registry+https://github.com/rust-lang/crates.io-index"
591
+
checksum = "17f616c3f2260612fe44cede278bafa18e73e6479c4e393e2c4518cf2a9a228a"
592
dependencies = [
593
"aws-smithy-runtime-api",
594
]
595
596
[[package]]
597
name = "aws-smithy-query"
598
+
version = "0.60.9"
599
source = "registry+https://github.com/rust-lang/crates.io-index"
600
+
checksum = "ae5d689cf437eae90460e944a58b5668530d433b4ff85789e69d2f2a556e057d"
601
dependencies = [
602
"aws-smithy-types",
603
"urlencoding",
···
605
606
[[package]]
607
name = "aws-smithy-runtime"
608
+
version = "1.9.6"
609
source = "registry+https://github.com/rust-lang/crates.io-index"
610
+
checksum = "65fda37911905ea4d3141a01364bc5509a0f32ae3f3b22d6e330c0abfb62d247"
611
dependencies = [
612
"aws-smithy-async",
613
"aws-smithy-http",
···
629
630
[[package]]
631
name = "aws-smithy-runtime-api"
632
+
version = "1.9.3"
633
source = "registry+https://github.com/rust-lang/crates.io-index"
634
+
checksum = "ab0d43d899f9e508300e587bf582ba54c27a452dd0a9ea294690669138ae14a2"
635
dependencies = [
636
"aws-smithy-async",
637
"aws-smithy-types",
···
646
647
[[package]]
648
name = "aws-smithy-types"
649
+
version = "1.3.5"
650
source = "registry+https://github.com/rust-lang/crates.io-index"
651
+
checksum = "905cb13a9895626d49cf2ced759b062d913834c7482c38e49557eac4e6193f01"
652
dependencies = [
653
"base64-simd",
654
"bytes",
···
672
673
[[package]]
674
name = "aws-smithy-xml"
675
+
version = "0.60.13"
676
source = "registry+https://github.com/rust-lang/crates.io-index"
677
+
checksum = "11b2f670422ff42bf7065031e72b45bc52a3508bd089f743ea90731ca2b6ea57"
678
dependencies = [
679
"xmlparser",
680
]
681
682
[[package]]
683
name = "aws-types"
684
+
version = "1.3.11"
685
source = "registry+https://github.com/rust-lang/crates.io-index"
686
+
checksum = "1d980627d2dd7bfc32a3c025685a033eeab8d365cc840c631ef59d1b8f428164"
687
dependencies = [
688
"aws-credential-types",
689
"aws-smithy-async",
···
695
696
[[package]]
697
name = "axum"
698
+
version = "0.8.8"
699
source = "registry+https://github.com/rust-lang/crates.io-index"
700
+
checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8"
701
dependencies = [
702
"axum-core",
703
"axum-macros",
···
827
828
[[package]]
829
name = "base64ct"
830
+
version = "1.8.1"
831
source = "registry+https://github.com/rust-lang/crates.io-index"
832
+
checksum = "0e050f626429857a27ddccb31e0aca21356bfa709c04041aefddac081a8f068a"
833
834
[[package]]
835
name = "base64urlsafedata"
···
912
"pin-project-lite",
913
"rand 0.9.2",
914
"rustls 0.23.35",
915
+
"rustls-native-certs",
916
+
"rustls-pemfile",
917
"rustls-pki-types",
918
"serde",
919
"serde_derive",
···
1029
1030
[[package]]
1031
name = "bumpalo"
1032
+
version = "3.19.1"
1033
source = "registry+https://github.com/rust-lang/crates.io-index"
1034
+
checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
1035
1036
[[package]]
1037
name = "bytemuck"
···
1071
]
1072
1073
[[package]]
1074
name = "cbor4ii"
1075
version = "0.2.14"
1076
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1081
1082
[[package]]
1083
name = "cc"
1084
+
version = "1.2.50"
1085
source = "registry+https://github.com/rust-lang/crates.io-index"
1086
+
checksum = "9f50d563227a1c37cc0a263f64eca3334388c01c5e4c4861a9def205c614383c"
1087
dependencies = [
1088
"find-msvc-tools",
1089
"jobserver",
···
1123
"num-traits",
1124
"serde",
1125
"wasm-bindgen",
1126
+
"windows-link",
1127
]
1128
1129
[[package]]
···
1179
1180
[[package]]
1181
name = "cmake"
1182
+
version = "0.1.57"
1183
source = "registry+https://github.com/rust-lang/crates.io-index"
1184
+
checksum = "75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d"
1185
dependencies = [
1186
"cc",
1187
+
]
1188
+
1189
+
[[package]]
1190
+
name = "cobs"
1191
+
version = "0.3.0"
1192
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1193
+
checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1"
1194
+
dependencies = [
1195
+
"thiserror 2.0.17",
1196
]
1197
1198
[[package]]
···
1217
1218
[[package]]
1219
name = "compression-codecs"
1220
+
version = "0.4.35"
1221
source = "registry+https://github.com/rust-lang/crates.io-index"
1222
+
checksum = "b0f7ac3e5b97fdce45e8922fb05cae2c37f7bbd63d30dd94821dacfd8f3f2bf2"
1223
dependencies = [
1224
"compression-core",
1225
"flate2",
···
1349
dependencies = [
1350
"cfg-if",
1351
]
1352
+
1353
+
[[package]]
1354
+
name = "critical-section"
1355
+
version = "1.2.0"
1356
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1357
+
checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b"
1358
1359
[[package]]
1360
name = "crossbeam-channel"
···
1421
1422
[[package]]
1423
name = "crypto-common"
1424
+
version = "0.1.7"
1425
source = "registry+https://github.com/rust-lang/crates.io-index"
1426
+
checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
1427
dependencies = [
1428
"generic-array",
1429
"rand_core 0.6.4",
···
1515
"darling_core",
1516
"quote",
1517
"syn 2.0.111",
1518
]
1519
1520
[[package]]
···
1816
]
1817
1818
[[package]]
1819
+
name = "embedded-io"
1820
+
version = "0.4.0"
1821
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1822
+
checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced"
1823
+
1824
+
[[package]]
1825
+
name = "embedded-io"
1826
+
version = "0.6.1"
1827
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1828
+
checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d"
1829
+
1830
+
[[package]]
1831
name = "encoding_rs"
1832
version = "0.8.35"
1833
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1862
dependencies = [
1863
"libc",
1864
"windows-sys 0.61.2",
1865
]
1866
1867
[[package]]
···
1913
1914
[[package]]
1915
name = "ferroid"
1916
+
version = "0.8.8"
1917
source = "registry+https://github.com/rust-lang/crates.io-index"
1918
+
checksum = "ce161062fb044bd629c2393590efd47cab8d0241faf15704ffb0d47b7b4e4a35"
1919
dependencies = [
1920
"portable-atomic",
1921
"rand 0.9.2",
···
2179
2180
[[package]]
2181
name = "generator"
2182
+
version = "0.8.8"
2183
source = "registry+https://github.com/rust-lang/crates.io-index"
2184
+
checksum = "52f04ae4152da20c76fe800fa48659201d5cf627c5149ca0b707b69d7eef6cf9"
2185
dependencies = [
2186
"cc",
2187
"cfg-if",
2188
"libc",
2189
"log",
2190
"rustversion",
2191
+
"windows-link",
2192
+
"windows-result",
2193
]
2194
2195
[[package]]
2196
name = "generic-array"
2197
+
version = "0.14.7"
2198
source = "registry+https://github.com/rust-lang/crates.io-index"
2199
+
checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
2200
dependencies = [
2201
"typenum",
2202
"version_check",
···
2251
]
2252
2253
[[package]]
2254
name = "gloo-storage"
2255
version = "0.3.0"
2256
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2280
2281
[[package]]
2282
name = "governor"
2283
+
version = "0.10.4"
2284
source = "registry+https://github.com/rust-lang/crates.io-index"
2285
+
checksum = "9efcab3c1958580ff1f25a2a41be1668f7603d849bb63af523b208a3cc1223b8"
2286
dependencies = [
2287
"cfg-if",
2288
+
"dashmap",
2289
"futures-sink",
2290
"futures-timer",
2291
"futures-util",
···
2373
]
2374
2375
[[package]]
2376
+
name = "hash32"
2377
+
version = "0.2.1"
2378
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2379
+
checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67"
2380
+
dependencies = [
2381
+
"byteorder",
2382
+
]
2383
+
2384
+
[[package]]
2385
name = "hashbrown"
2386
version = "0.12.3"
2387
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2425
]
2426
2427
[[package]]
2428
+
name = "heapless"
2429
+
version = "0.7.17"
2430
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2431
+
checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f"
2432
+
dependencies = [
2433
+
"atomic-polyfill",
2434
+
"hash32",
2435
+
"rustc_version",
2436
+
"serde",
2437
+
"spin 0.9.8",
2438
+
"stable_deref_trait",
2439
+
]
2440
+
2441
+
[[package]]
2442
name = "heck"
2443
version = "0.4.1"
2444
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2700
"hyper 0.14.32",
2701
"log",
2702
"rustls 0.21.12",
2703
"tokio",
2704
"tokio-rustls 0.24.1",
2705
]
···
2714
"hyper 1.8.1",
2715
"hyper-util",
2716
"rustls 0.23.35",
2717
+
"rustls-native-certs",
2718
"rustls-pki-types",
2719
"tokio",
2720
"tokio-rustls 0.26.4",
···
2753
2754
[[package]]
2755
name = "hyper-util"
2756
+
version = "0.1.19"
2757
source = "registry+https://github.com/rust-lang/crates.io-index"
2758
+
checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f"
2759
dependencies = [
2760
"base64 0.22.1",
2761
"bytes",
···
2804
"js-sys",
2805
"log",
2806
"wasm-bindgen",
2807
+
"windows-core",
2808
]
2809
2810
[[package]]
···
2864
2865
[[package]]
2866
name = "icu_properties"
2867
+
version = "2.1.2"
2868
source = "registry+https://github.com/rust-lang/crates.io-index"
2869
+
checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec"
2870
dependencies = [
2871
"icu_collections",
2872
"icu_locale_core",
···
2878
2879
[[package]]
2880
name = "icu_properties_data"
2881
+
version = "2.1.2"
2882
source = "registry+https://github.com/rust-lang/crates.io-index"
2883
+
checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af"
2884
2885
[[package]]
2886
name = "icu_provider"
···
3059
3060
[[package]]
3061
name = "itertools"
3062
version = "0.14.0"
3063
source = "registry+https://github.com/rust-lang/crates.io-index"
3064
checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
···
3068
3069
[[package]]
3070
name = "itoa"
3071
+
version = "1.0.16"
3072
source = "registry+https://github.com/rust-lang/crates.io-index"
3073
+
checksum = "7ee5b5339afb4c41626dde77b7a611bd4f2c202b897852b4bcf5d03eddc61010"
3074
3075
[[package]]
3076
name = "jacquard"
3077
+
version = "0.9.5"
3078
source = "registry+https://github.com/rust-lang/crates.io-index"
3079
+
checksum = "f7c1fdbcf1153e6e6b87fde20036c1ffe7473c4852f1c6369bc4ef1fe47ccb9f"
3080
dependencies = [
3081
"bytes",
3082
"getrandom 0.2.16",
···
3105
3106
[[package]]
3107
name = "jacquard-api"
3108
+
version = "0.9.5"
3109
source = "registry+https://github.com/rust-lang/crates.io-index"
3110
+
checksum = "4979fb1848c1dd7ac8fd12745bc71f56f6da61374407d5f9b06005467a954e5a"
3111
dependencies = [
3112
"bon",
3113
"bytes",
···
3117
"miette",
3118
"rustversion",
3119
"serde",
3120
+
"serde_bytes",
3121
"serde_ipld_dagcbor",
3122
"thiserror 2.0.17",
3123
"unicode-segmentation",
···
3125
3126
[[package]]
3127
name = "jacquard-axum"
3128
+
version = "0.9.6"
3129
source = "registry+https://github.com/rust-lang/crates.io-index"
3130
+
checksum = "ed99b0dc0cd54189bebb83d5d5cc5ac2889f62ede9729a6ead9035073d111bc9"
3131
dependencies = [
3132
"axum",
3133
"bytes",
···
3148
3149
[[package]]
3150
name = "jacquard-common"
3151
+
version = "0.9.5"
3152
source = "registry+https://github.com/rust-lang/crates.io-index"
3153
+
checksum = "1751921e0bdae5e0077afade6161545e9ef7698306c868f800916e99ecbcaae9"
3154
dependencies = [
3155
"base64 0.22.1",
3156
"bon",
···
3169
"multihash",
3170
"ouroboros",
3171
"p256 0.13.2",
3172
+
"postcard",
3173
"rand 0.9.2",
3174
"regex",
3175
"regex-lite",
3176
"reqwest",
3177
"serde",
3178
+
"serde_bytes",
3179
"serde_html_form",
3180
"serde_ipld_dagcbor",
3181
"serde_json",
···
3190
3191
[[package]]
3192
name = "jacquard-derive"
3193
+
version = "0.9.5"
3194
source = "registry+https://github.com/rust-lang/crates.io-index"
3195
+
checksum = "9c8d73dfee07943fdab93569ed1c28b06c6921ed891c08b415c4a323ff67e593"
3196
dependencies = [
3197
"heck 0.5.0",
3198
"jacquard-lexicon",
···
3203
3204
[[package]]
3205
name = "jacquard-identity"
3206
+
version = "0.9.5"
3207
source = "registry+https://github.com/rust-lang/crates.io-index"
3208
+
checksum = "e7aaefa819fa4213cf59f180dba932f018a7cd0599582fd38474ee2a38c16cf2"
3209
dependencies = [
3210
"bon",
3211
"bytes",
···
3215
"jacquard-common",
3216
"jacquard-lexicon",
3217
"miette",
3218
+
"mini-moka-wasm",
3219
+
"n0-future",
3220
"percent-encoding",
3221
"reqwest",
3222
"serde",
···
3231
3232
[[package]]
3233
name = "jacquard-lexicon"
3234
+
version = "0.9.5"
3235
source = "registry+https://github.com/rust-lang/crates.io-index"
3236
+
checksum = "8411aff546569b0a1e0ef669bed2380cec1c00d48f02f3fcd57a71545321b3d8"
3237
dependencies = [
3238
"cid",
3239
+
"dashmap",
3240
"heck 0.5.0",
3241
"inventory",
3242
"jacquard-common",
···
3258
3259
[[package]]
3260
name = "jacquard-oauth"
3261
+
version = "0.9.6"
3262
source = "registry+https://github.com/rust-lang/crates.io-index"
3263
+
checksum = "68bf0b0e061d85b09cfa78588dc098918d5b62f539a719165c6a806a1d2c0ef2"
3264
dependencies = [
3265
"base64 0.22.1",
3266
"bytes",
3267
"chrono",
3268
+
"dashmap",
3269
"elliptic-curve 0.13.8",
3270
"http 1.4.0",
3271
"jacquard-common",
···
3288
3289
[[package]]
3290
name = "jacquard-repo"
3291
+
version = "0.9.6"
3292
source = "registry+https://github.com/rust-lang/crates.io-index"
3293
+
checksum = "c59705c56678f4d57229ab7790313b9f7d8f244a658d01ad1f4344e7d2efe2a3"
3294
dependencies = [
3295
"bytes",
3296
"cid",
···
3440
3441
[[package]]
3442
name = "libredox"
3443
+
version = "0.1.11"
3444
source = "registry+https://github.com/rust-lang/crates.io-index"
3445
+
checksum = "df15f6eac291ed1cf25865b1ee60399f57e7c227e7f51bdbd4c5270396a9ed50"
3446
dependencies = [
3447
"bitflags",
3448
"libc",
3449
+
"redox_syscall 0.6.0",
3450
]
3451
3452
[[package]]
···
3488
3489
[[package]]
3490
name = "log"
3491
+
version = "0.4.29"
3492
source = "registry+https://github.com/rust-lang/crates.io-index"
3493
+
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
3494
3495
[[package]]
3496
name = "loom"
···
3688
]
3689
3690
[[package]]
3691
+
name = "mini-moka-wasm"
3692
+
version = "0.10.99"
3693
source = "registry+https://github.com/rust-lang/crates.io-index"
3694
+
checksum = "0102b9a2ad50fa47ca89eead2316c8222285ecfbd3f69ce99564fbe4253866e8"
3695
dependencies = [
3696
"crossbeam-channel",
3697
"crossbeam-utils",
3698
+
"dashmap",
3699
"smallvec",
3700
"tagptr",
3701
"triomphe",
3702
+
"web-time",
3703
]
3704
3705
[[package]]
···
3720
3721
[[package]]
3722
name = "mio"
3723
+
version = "1.1.1"
3724
source = "registry+https://github.com/rust-lang/crates.io-index"
3725
+
checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc"
3726
dependencies = [
3727
"libc",
3728
"wasi",
···
3731
3732
[[package]]
3733
name = "moxcms"
3734
+
version = "0.7.11"
3735
source = "registry+https://github.com/rust-lang/crates.io-index"
3736
+
checksum = "ac9557c559cd6fc9867e122e20d2cbefc9ca29d80d027a8e39310920ed2f0a97"
3737
dependencies = [
3738
"num-traits",
3739
"pxfm",
···
4091
dependencies = [
4092
"cfg-if",
4093
"libc",
4094
+
"redox_syscall 0.5.18",
4095
"smallvec",
4096
+
"windows-link",
4097
]
4098
4099
[[package]]
···
4286
4287
[[package]]
4288
name = "portable-atomic"
4289
+
version = "1.12.0"
4290
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4291
+
checksum = "f59e70c4aef1e55797c2e8fd94a4f2a973fc972cfde0e0b05f683667b0cd39dd"
4292
+
4293
+
[[package]]
4294
+
name = "postcard"
4295
+
version = "1.1.3"
4296
source = "registry+https://github.com/rust-lang/crates.io-index"
4297
+
checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24"
4298
+
dependencies = [
4299
+
"cobs",
4300
+
"embedded-io 0.4.0",
4301
+
"embedded-io 0.6.1",
4302
+
"heapless",
4303
+
"serde",
4304
+
]
4305
4306
[[package]]
4307
name = "potential_utf"
···
4415
checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425"
4416
dependencies = [
4417
"anyhow",
4418
+
"itertools",
4419
"proc-macro2",
4420
"quote",
4421
"syn 2.0.111",
···
4431
]
4432
4433
[[package]]
4434
name = "pxfm"
4435
version = "0.1.27"
4436
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4632
4633
[[package]]
4634
name = "redis"
4635
+
version = "1.0.1"
4636
source = "registry+https://github.com/rust-lang/crates.io-index"
4637
+
checksum = "e2dc509b442812959ab125c74be2a930dd9b603038b6da9df9ec013aa23a4e9c"
4638
dependencies = [
4639
"arc-swap",
4640
+
"arcstr",
4641
"backon",
4642
"bytes",
4643
+
"cfg-if",
4644
"combine",
4645
+
"futures-channel",
4646
"futures-util",
4647
"itoa",
4648
"num-bigint",
4649
"percent-encoding",
4650
"pin-project-lite",
4651
"ryu",
4652
"sha1_smol",
4653
+
"socket2 0.6.1",
4654
"tokio",
4655
"tokio-util",
4656
"url",
4657
+
"xxhash-rust",
4658
]
4659
4660
[[package]]
···
4662
version = "0.5.18"
4663
source = "registry+https://github.com/rust-lang/crates.io-index"
4664
checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
4665
+
dependencies = [
4666
+
"bitflags",
4667
+
]
4668
+
4669
+
[[package]]
4670
+
name = "redox_syscall"
4671
+
version = "0.6.0"
4672
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4673
+
checksum = "ec96166dafa0886eb81fe1c0a388bece180fbef2135f97c1e2cf8302e74b43b5"
4674
dependencies = [
4675
"bitflags",
4676
]
···
4732
4733
[[package]]
4734
name = "reqwest"
4735
+
version = "0.12.28"
4736
source = "registry+https://github.com/rust-lang/crates.io-index"
4737
+
checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147"
4738
dependencies = [
4739
"base64 0.22.1",
4740
"bytes",
4741
"encoding_rs",
4742
"futures-core",
4743
"h2 0.4.12",
4744
"http 1.4.0",
4745
"http-body 1.0.1",
···
4764
"tokio",
4765
"tokio-native-tls",
4766
"tokio-rustls 0.26.4",
4767
"tower",
4768
"tower-http",
4769
"tower-service",
4770
"url",
4771
"wasm-bindgen",
4772
"wasm-bindgen-futures",
4773
"web-sys",
4774
"webpki-roots 1.0.4",
4775
]
···
4861
4862
[[package]]
4863
name = "rustix"
4864
+
version = "1.1.3"
4865
source = "registry+https://github.com/rust-lang/crates.io-index"
4866
+
checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34"
4867
dependencies = [
4868
"bitflags",
4869
"errno",
···
4902
4903
[[package]]
4904
name = "rustls-native-certs"
4905
version = "0.8.2"
4906
source = "registry+https://github.com/rust-lang/crates.io-index"
4907
checksum = "9980d917ebb0c0536119ba501e90834767bffc3d60641457fd84a1f3fd337923"
···
4914
4915
[[package]]
4916
name = "rustls-pemfile"
4917
version = "2.2.0"
4918
source = "registry+https://github.com/rust-lang/crates.io-index"
4919
checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50"
···
4923
4924
[[package]]
4925
name = "rustls-pki-types"
4926
+
version = "1.13.2"
4927
source = "registry+https://github.com/rust-lang/crates.io-index"
4928
+
checksum = "21e6f2ab2928ca4291b86736a8bd920a277a399bba1589409d72154ff87c1282"
4929
dependencies = [
4930
"web-time",
4931
"zeroize",
···
4961
4962
[[package]]
4963
name = "ryu"
4964
+
version = "1.0.21"
4965
source = "registry+https://github.com/rust-lang/crates.io-index"
4966
+
checksum = "62049b2877bf12821e8f9ad256ee38fdc31db7387ec2d3b3f403024de2034aea"
4967
4968
[[package]]
4969
name = "schannel"
···
5089
version = "1.0.27"
5090
source = "registry+https://github.com/rust-lang/crates.io-index"
5091
checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
5092
5093
[[package]]
5094
name = "send_wrapper"
···
5173
5174
[[package]]
5175
name = "serde_json"
5176
+
version = "1.0.146"
5177
source = "registry+https://github.com/rust-lang/crates.io-index"
5178
+
checksum = "217ca874ae0207aac254aa02c957ded05585a90892cc8d87f9e5fa49669dadd8"
5179
dependencies = [
5180
"itoa",
5181
"memchr",
···
5323
5324
[[package]]
5325
name = "simd-adler32"
5326
+
version = "0.3.8"
5327
source = "registry+https://github.com/rust-lang/crates.io-index"
5328
+
checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2"
5329
5330
[[package]]
5331
name = "simple_asn1"
···
5346
checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
5347
5348
[[package]]
5349
name = "sketches-ddsketch"
5350
version = "0.3.0"
5351
source = "registry+https://github.com/rust-lang/crates.io-index"
···
5836
5837
[[package]]
5838
name = "testcontainers"
5839
+
version = "0.26.2"
5840
source = "registry+https://github.com/rust-lang/crates.io-index"
5841
+
checksum = "1483605f58b2fff80d786eb56a0b6b4e8b1e5423fbc9ec2e3e562fa2040d6f27"
5842
dependencies = [
5843
"astral-tokio-tar",
5844
"async-trait",
···
5849
"etcetera 0.11.0",
5850
"ferroid",
5851
"futures",
5852
+
"itertools",
5853
"log",
5854
"memchr",
5855
"parse-display",
···
6151
6152
[[package]]
6153
name = "tower-http"
6154
+
version = "0.6.8"
6155
source = "registry+https://github.com/rust-lang/crates.io-index"
6156
+
checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8"
6157
dependencies = [
6158
+
"async-compression",
6159
"bitflags",
6160
"bytes",
6161
"futures-core",
···
6192
6193
[[package]]
6194
name = "tracing"
6195
+
version = "0.1.44"
6196
source = "registry+https://github.com/rust-lang/crates.io-index"
6197
+
checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100"
6198
dependencies = [
6199
"log",
6200
"pin-project-lite",
···
6215
6216
[[package]]
6217
name = "tracing-core"
6218
+
version = "0.1.36"
6219
source = "registry+https://github.com/rust-lang/crates.io-index"
6220
+
checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a"
6221
dependencies = [
6222
"once_cell",
6223
"valuable",
···
6541
checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64"
6542
6543
[[package]]
6544
name = "want"
6545
version = "0.3.1"
6546
source = "registry+https://github.com/rust-lang/crates.io-index"
···
6629
]
6630
6631
[[package]]
6632
name = "web-sys"
6633
version = "0.3.83"
6634
source = "registry+https://github.com/rust-lang/crates.io-index"
···
6785
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
6786
6787
[[package]]
6788
name = "winapi-x86_64-pc-windows-gnu"
6789
version = "0.4.0"
6790
source = "registry+https://github.com/rust-lang/crates.io-index"
6791
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
6792
6793
[[package]]
6794
name = "windows-core"
6795
version = "0.62.2"
6796
source = "registry+https://github.com/rust-lang/crates.io-index"
···
6798
dependencies = [
6799
"windows-implement",
6800
"windows-interface",
6801
+
"windows-link",
6802
+
"windows-result",
6803
+
"windows-strings",
6804
]
6805
6806
[[package]]
···
6827
6828
[[package]]
6829
name = "windows-link"
6830
version = "0.2.1"
6831
source = "registry+https://github.com/rust-lang/crates.io-index"
6832
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
6833
6834
[[package]]
6835
name = "windows-registry"
6836
version = "0.6.1"
6837
source = "registry+https://github.com/rust-lang/crates.io-index"
6838
checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720"
6839
dependencies = [
6840
+
"windows-link",
6841
+
"windows-result",
6842
+
"windows-strings",
6843
]
6844
6845
[[package]]
···
6848
source = "registry+https://github.com/rust-lang/crates.io-index"
6849
checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
6850
dependencies = [
6851
+
"windows-link",
6852
]
6853
6854
[[package]]
···
6857
source = "registry+https://github.com/rust-lang/crates.io-index"
6858
checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
6859
dependencies = [
6860
+
"windows-link",
6861
]
6862
6863
[[package]]
···
6893
source = "registry+https://github.com/rust-lang/crates.io-index"
6894
checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
6895
dependencies = [
6896
+
"windows-link",
6897
]
6898
6899
[[package]]
···
6933
source = "registry+https://github.com/rust-lang/crates.io-index"
6934
checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
6935
dependencies = [
6936
+
"windows-link",
6937
"windows_aarch64_gnullvm 0.53.1",
6938
"windows_aarch64_msvc 0.53.1",
6939
"windows_i686_gnu 0.53.1",
···
6942
"windows_x86_64_gnu 0.53.1",
6943
"windows_x86_64_gnullvm 0.53.1",
6944
"windows_x86_64_msvc 0.53.1",
6945
]
6946
6947
[[package]]
···
7172
checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
7173
7174
[[package]]
7175
+
name = "xxhash-rust"
7176
+
version = "0.8.15"
7177
+
source = "registry+https://github.com/rust-lang/crates.io-index"
7178
+
checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3"
7179
+
7180
+
[[package]]
7181
name = "yansi"
7182
version = "1.0.1"
7183
source = "registry+https://github.com/rust-lang/crates.io-index"
···
7297
7298
[[package]]
7299
name = "zune-jpeg"
7300
+
version = "0.5.8"
7301
source = "registry+https://github.com/rust-lang/crates.io-index"
7302
+
checksum = "e35aee689668bf9bd6f6f3a6c60bb29ba1244b3b43adfd50edd554a371da37d5"
7303
dependencies = [
7304
"zune-core",
7305
]
+14
-14
Cargo.toml
+14
-14
Cargo.toml
···
5
[dependencies]
6
anyhow = "1.0.100"
7
async-trait = "0.1.89"
8
-
aws-config = "1.8.11"
9
-
aws-sdk-s3 = "1.116.0"
10
-
axum = { version = "0.8.7", features = ["ws", "macros"] }
11
base32 = "0.5"
12
base64 = "0.22.1"
13
bcrypt = "0.17.1"
···
20
hkdf = "0.12"
21
hmac = "0.12"
22
aes-gcm = "0.10"
23
-
jacquard = { version = "0.9.3", default-features = false, features = ["api", "api_bluesky", "api_full", "derive", "dns"] }
24
-
jacquard-axum = "0.9.2"
25
-
jacquard-repo = "0.9.2"
26
jsonwebtoken = { version = "10.2.0", features = ["rust_crypto"] }
27
k256 = { version = "0.13.3", features = ["ecdsa", "pem", "pkcs8"] }
28
multibase = "0.9.1"
29
multihash = "0.19.3"
30
rand = "0.8.5"
31
-
reqwest = { version = "0.12.24", features = ["json"] }
32
serde = { version = "1.0.228", features = ["derive"] }
33
serde_bytes = "0.11.14"
34
serde_ipld_dagcbor = "0.6.4"
35
ipld-core = "0.4.2"
36
-
serde_json = "1.0.145"
37
serde_urlencoded = "0.7"
38
sha2 = "0.10.9"
39
subtle = "2.5"
···
49
urlencoding = "2.1"
50
uuid = { version = "1.19.0", features = ["v4", "v5", "fast-rng"] }
51
iroh-car = "0.5.1"
52
-
image = { version = "0.25", default-features = false, features = ["jpeg", "png", "gif", "webp"] }
53
-
redis = { version = "0.27", features = ["tokio-comp", "connection-manager"] }
54
-
tower-http = { version = "0.6", features = ["fs", "cors"] }
55
hickory-resolver = { version = "0.24", features = ["tokio-runtime"] }
56
-
metrics = "0.24"
57
metrics-exporter-prometheus = { version = "0.16", default-features = false, features = ["http-listener"] }
58
bs58 = "0.5.1"
59
totp-rs = { version = "5", features = ["qr"] }
60
-
webauthn-rs = { version = "0.5", features = ["danger-allow-state-serialisation", "danger-user-presence-only-security-keys"] }
61
webauthn-rs-proto = "0.5.4"
62
[features]
63
external-infra = []
64
[dev-dependencies]
65
ctor = "0.6.3"
66
-
testcontainers = "0.26.0"
67
testcontainers-modules = { version = "0.14.0", features = ["postgres"] }
68
wiremock = "0.6.5"
69
# urlencoding is also in dependencies, but tests use it directly
···
5
[dependencies]
6
anyhow = "1.0.100"
7
async-trait = "0.1.89"
8
+
aws-config = "1.8.12"
9
+
aws-sdk-s3 = "1.118.0"
10
+
axum = { version = "0.8.8", features = ["ws", "macros"] }
11
base32 = "0.5"
12
base64 = "0.22.1"
13
bcrypt = "0.17.1"
···
20
hkdf = "0.12"
21
hmac = "0.12"
22
aes-gcm = "0.10"
23
+
jacquard = { version = "0.9.5", default-features = false, features = ["api", "api_bluesky", "api_full", "derive", "dns"] }
24
+
jacquard-axum = "0.9.6"
25
+
jacquard-repo = "0.9.6"
26
jsonwebtoken = { version = "10.2.0", features = ["rust_crypto"] }
27
k256 = { version = "0.13.3", features = ["ecdsa", "pem", "pkcs8"] }
28
multibase = "0.9.1"
29
multihash = "0.19.3"
30
rand = "0.8.5"
31
+
reqwest = { version = "0.12.28", features = ["json"] }
32
serde = { version = "1.0.228", features = ["derive"] }
33
serde_bytes = "0.11.14"
34
serde_ipld_dagcbor = "0.6.4"
35
ipld-core = "0.4.2"
36
+
serde_json = "1.0.146"
37
serde_urlencoded = "0.7"
38
sha2 = "0.10.9"
39
subtle = "2.5"
···
49
urlencoding = "2.1"
50
uuid = { version = "1.19.0", features = ["v4", "v5", "fast-rng"] }
51
iroh-car = "0.5.1"
52
+
image = { version = "0.25.9", default-features = false, features = ["jpeg", "png", "gif", "webp"] }
53
+
redis = { version = "1.0.1", features = ["tokio-comp", "connection-manager"] }
54
+
tower-http = { version = "0.6.8", features = ["fs", "cors"] }
55
hickory-resolver = { version = "0.24", features = ["tokio-runtime"] }
56
+
metrics = "0.24.3"
57
metrics-exporter-prometheus = { version = "0.16", default-features = false, features = ["http-listener"] }
58
bs58 = "0.5.1"
59
totp-rs = { version = "5", features = ["qr"] }
60
+
webauthn-rs = { version = "0.5.4", features = ["danger-allow-state-serialisation", "danger-user-presence-only-security-keys"] }
61
webauthn-rs-proto = "0.5.4"
62
[features]
63
external-infra = []
64
[dev-dependencies]
65
ctor = "0.6.3"
66
+
testcontainers = "0.26.2"
67
testcontainers-modules = { version = "0.14.0", features = ["postgres"] }
68
wiremock = "0.6.5"
69
# urlencoding is also in dependencies, but tests use it directly
+6
-27
src/api/identity/account.rs
+6
-27
src/api/identity/account.rs
···
1
use super::did::verify_did_web;
2
use crate::auth::{ServiceTokenVerifier, extract_bearer_token_from_header, is_service_token};
3
use crate::plc::{PlcClient, create_genesis_operation, signing_key_to_did_key};
4
use crate::state::{AppState, RateLimitKind};
···
10
response::{IntoResponse, Response},
11
};
12
use bcrypt::{DEFAULT_COST, hash};
13
-
use jacquard::types::{did::Did, integer::LimitedU32, string::Tid};
14
-
use jacquard_repo::{commit::Commit, mst::Mst, storage::BlockStore};
15
use k256::{SecretKey, ecdsa::SigningKey};
16
use rand::rngs::OsRng;
17
use serde::{Deserialize, Serialize};
···
864
.into_response();
865
}
866
};
867
-
let did_obj = match Did::new(&did) {
868
-
Ok(d) => d,
869
-
Err(_) => {
870
-
return (
871
-
StatusCode::INTERNAL_SERVER_ERROR,
872
-
Json(json!({"error": "InternalError", "message": "Invalid DID"})),
873
-
)
874
-
.into_response();
875
-
}
876
-
};
877
let rev = Tid::now(LimitedU32::MIN);
878
-
let unsigned_commit = Commit::new_unsigned(did_obj, mst_root, rev, None);
879
-
let signed_commit = match unsigned_commit.sign(&signing_key) {
880
-
Ok(c) => c,
881
-
Err(e) => {
882
-
error!("Error signing genesis commit: {:?}", e);
883
-
return (
884
-
StatusCode::INTERNAL_SERVER_ERROR,
885
-
Json(json!({"error": "InternalError"})),
886
-
)
887
-
.into_response();
888
-
}
889
-
};
890
-
let commit_bytes = match signed_commit.to_cbor() {
891
-
Ok(b) => b,
892
Err(e) => {
893
-
error!("Error serializing genesis commit: {:?}", e);
894
return (
895
StatusCode::INTERNAL_SERVER_ERROR,
896
Json(json!({"error": "InternalError"})),
···
1
use super::did::verify_did_web;
2
+
use crate::api::repo::record::utils::create_signed_commit;
3
use crate::auth::{ServiceTokenVerifier, extract_bearer_token_from_header, is_service_token};
4
use crate::plc::{PlcClient, create_genesis_operation, signing_key_to_did_key};
5
use crate::state::{AppState, RateLimitKind};
···
11
response::{IntoResponse, Response},
12
};
13
use bcrypt::{DEFAULT_COST, hash};
14
+
use jacquard::types::{integer::LimitedU32, string::Tid};
15
+
use jacquard_repo::{mst::Mst, storage::BlockStore};
16
use k256::{SecretKey, ecdsa::SigningKey};
17
use rand::rngs::OsRng;
18
use serde::{Deserialize, Serialize};
···
865
.into_response();
866
}
867
};
868
let rev = Tid::now(LimitedU32::MIN);
869
+
let (commit_bytes, _sig) = match create_signed_commit(&did, mst_root, &rev.to_string(), None, &signing_key) {
870
+
Ok(result) => result,
871
Err(e) => {
872
+
error!("Error creating genesis commit: {:?}", e);
873
return (
874
StatusCode::INTERNAL_SERVER_ERROR,
875
Json(json!({"error": "InternalError"})),
+11
-11
src/api/repo/record/utils.rs
+11
-11
src/api/repo/record/utils.rs
···
3
use cid::Cid;
4
use jacquard::types::{integer::LimitedU32, string::Tid};
5
use jacquard_repo::storage::BlockStore;
6
-
use k256::ecdsa::{Signature, SigningKey, signature::Signer};
7
use serde::Serialize;
8
use serde_json::json;
9
use uuid::Uuid;
10
/*
11
-
* Why am I making custom commit objects instead of jacquard's Commit::sign(), you ask?
12
*
13
-
* At time of writing, jacquard has a bug in how it creates unsigned bytes for signing.
14
-
* Jacquard sets sig to empty bytes and serializes (6-field CBOR map)
15
-
* Indigo/ATProto creates a struct *without* the sig field (5-field CBOR map)
16
-
*
17
-
* These produce different CBOR bytes, so signatures created with jacquard
18
-
* don't verify with the relay's algorithm. The relay silently rejects commits
19
-
* with invalid signatures.
20
*
21
-
* If you have it downloaded, see: reference-relay-indigo/atproto/repo/commit.go UnsignedBytes()
22
*/
23
#[derive(Serialize)]
24
struct UnsignedCommit<'a> {
25
data: Cid,
···
29
version: i64,
30
}
31
32
-
fn create_signed_commit(
33
did: &str,
34
data: Cid,
35
rev: &str,
···
3
use cid::Cid;
4
use jacquard::types::{integer::LimitedU32, string::Tid};
5
use jacquard_repo::storage::BlockStore;
6
+
use k256::ecdsa::{signature::Signer, Signature, SigningKey};
7
use serde::Serialize;
8
use serde_json::json;
9
use uuid::Uuid;
10
+
11
/*
12
+
* Why custom commit signing instead of jacquard's Commit::sign()?
13
*
14
+
* Jacquard previously had a bug in how it created unsigned bytes for signing:
15
+
* it set sig to empty bytes and serialized (6-field CBOR map), while the
16
+
* ATProto spec creates a struct *without* the sig field (5-field CBOR map).
17
+
* These produce different CBOR bytes, so signatures didn't verify with relays.
18
*
19
+
* The bug has been fixed in jacquard, but the fix is untested here.
20
+
* TODO: Switch back to jacquard's Commit::sign() and verify it works.
21
*/
22
+
23
#[derive(Serialize)]
24
struct UnsignedCommit<'a> {
25
data: Cid,
···
29
version: i64,
30
}
31
32
+
pub fn create_signed_commit(
33
did: &str,
34
data: Cid,
35
rev: &str,
+36
-29
src/api/server/passkey_account.rs
+36
-29
src/api/server/passkey_account.rs
···
6
};
7
use bcrypt::{DEFAULT_COST, hash};
8
use chrono::{Duration, Utc};
9
-
use jacquard::types::{did::Did, integer::LimitedU32, string::Tid};
10
-
use jacquard_repo::{commit::Commit, mst::Mst, storage::BlockStore};
11
use rand::Rng;
12
use serde::{Deserialize, Serialize};
13
use serde_json::json;
···
15
use tracing::{error, info, warn};
16
use uuid::Uuid;
17
18
use crate::state::{AppState, RateLimitKind};
19
use crate::validation::validate_password;
20
···
391
}
392
};
393
394
let user_insert: Result<(Uuid,), _> = sqlx::query_as(
395
r#"INSERT INTO users (
396
handle, email, did, password_hash, password_required,
397
preferred_comms_channel,
398
discord_id, telegram_username, signal_number,
399
-
recovery_token, recovery_token_expires_at
400
-
) VALUES ($1, $2, $3, NULL, FALSE, $4::comms_channel, $5, $6, $7, $8, $9) RETURNING id"#,
401
)
402
.bind(&handle)
403
.bind(&email)
···
426
)
427
.bind(&setup_token_hash)
428
.bind(setup_expires_at)
429
.fetch_one(&mut *tx)
430
.await;
431
···
518
.into_response();
519
}
520
};
521
-
let did_obj = match Did::new(&did) {
522
-
Ok(d) => d,
523
-
Err(_) => {
524
-
return (
525
-
StatusCode::INTERNAL_SERVER_ERROR,
526
-
Json(json!({"error": "InternalError", "message": "Invalid DID"})),
527
-
)
528
-
.into_response();
529
-
}
530
-
};
531
let rev = Tid::now(LimitedU32::MIN);
532
-
let unsigned_commit = Commit::new_unsigned(did_obj, mst_root, rev, None);
533
-
let signed_commit = match unsigned_commit.sign(&secret_key) {
534
-
Ok(c) => c,
535
-
Err(e) => {
536
-
error!("Error signing genesis commit: {:?}", e);
537
-
return (
538
-
StatusCode::INTERNAL_SERVER_ERROR,
539
-
Json(json!({"error": "InternalError"})),
540
-
)
541
-
.into_response();
542
-
}
543
-
};
544
-
let commit_bytes = match signed_commit.to_cbor() {
545
-
Ok(b) => b,
546
Err(e) => {
547
-
error!("Error serializing genesis commit: {:?}", e);
548
return (
549
StatusCode::INTERNAL_SERVER_ERROR,
550
Json(json!({"error": "InternalError"})),
···
629
crate::api::repo::record::sequence_identity_event(&state, &did, Some(&handle)).await
630
{
631
warn!("Failed to sequence identity event for {}: {}", did, e);
632
}
633
634
if let Err(e) = crate::comms::enqueue_signup_verification(
···
6
};
7
use bcrypt::{DEFAULT_COST, hash};
8
use chrono::{Duration, Utc};
9
+
use jacquard::types::{integer::LimitedU32, string::Tid};
10
+
use jacquard_repo::{mst::Mst, storage::BlockStore};
11
use rand::Rng;
12
use serde::{Deserialize, Serialize};
13
use serde_json::json;
···
15
use tracing::{error, info, warn};
16
use uuid::Uuid;
17
18
+
use crate::api::repo::record::utils::create_signed_commit;
19
use crate::state::{AppState, RateLimitKind};
20
use crate::validation::validate_password;
21
···
392
}
393
};
394
395
+
let is_first_user = sqlx::query_scalar!("SELECT COUNT(*) as count FROM users")
396
+
.fetch_one(&mut *tx)
397
+
.await
398
+
.map(|c| c.unwrap_or(0) == 0)
399
+
.unwrap_or(false);
400
+
401
let user_insert: Result<(Uuid,), _> = sqlx::query_as(
402
r#"INSERT INTO users (
403
handle, email, did, password_hash, password_required,
404
preferred_comms_channel,
405
discord_id, telegram_username, signal_number,
406
+
recovery_token, recovery_token_expires_at,
407
+
is_admin
408
+
) VALUES ($1, $2, $3, NULL, FALSE, $4::comms_channel, $5, $6, $7, $8, $9, $10) RETURNING id"#,
409
)
410
.bind(&handle)
411
.bind(&email)
···
434
)
435
.bind(&setup_token_hash)
436
.bind(setup_expires_at)
437
+
.bind(is_first_user)
438
.fetch_one(&mut *tx)
439
.await;
440
···
527
.into_response();
528
}
529
};
530
let rev = Tid::now(LimitedU32::MIN);
531
+
let (commit_bytes, _sig) = match create_signed_commit(&did, mst_root, &rev.to_string(), None, &secret_key) {
532
+
Ok(result) => result,
533
Err(e) => {
534
+
error!("Error creating genesis commit: {:?}", e);
535
return (
536
StatusCode::INTERNAL_SERVER_ERROR,
537
Json(json!({"error": "InternalError"})),
···
616
crate::api::repo::record::sequence_identity_event(&state, &did, Some(&handle)).await
617
{
618
warn!("Failed to sequence identity event for {}: {}", did, e);
619
+
}
620
+
if let Err(e) =
621
+
crate::api::repo::record::sequence_account_event(&state, &did, true, None).await
622
+
{
623
+
warn!("Failed to sequence account event for {}: {}", did, e);
624
+
}
625
+
let profile_record = serde_json::json!({
626
+
"$type": "app.bsky.actor.profile",
627
+
"displayName": handle
628
+
});
629
+
if let Err(e) = crate::api::repo::record::create_record_internal(
630
+
&state,
631
+
&did,
632
+
"app.bsky.actor.profile",
633
+
"self",
634
+
&profile_record,
635
+
)
636
+
.await
637
+
{
638
+
warn!("Failed to create default profile for {}: {}", did, e);
639
}
640
641
if let Err(e) = crate::comms::enqueue_signup_verification(
+1
src/oauth/client.rs
+1
src/oauth/client.rs