Our Personal Data Server from scratch! tranquil.farm
pds rust database fun oauth atproto
238
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix genesis commit stuff, update deps

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