+1006
Cargo.lock
+1006
Cargo.lock
···
3
3
version = 4
4
4
5
5
[[package]]
6
+
name = "addr2line"
7
+
version = "0.24.2"
8
+
source = "registry+https://github.com/rust-lang/crates.io-index"
9
+
checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
10
+
dependencies = [
11
+
"gimli",
12
+
]
13
+
14
+
[[package]]
15
+
name = "adler2"
16
+
version = "2.0.1"
17
+
source = "registry+https://github.com/rust-lang/crates.io-index"
18
+
checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
19
+
20
+
[[package]]
21
+
name = "async-trait"
22
+
version = "0.1.89"
23
+
source = "registry+https://github.com/rust-lang/crates.io-index"
24
+
checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
25
+
dependencies = [
26
+
"proc-macro2",
27
+
"quote",
28
+
"syn 2.0.106",
29
+
]
30
+
31
+
[[package]]
32
+
name = "autocfg"
33
+
version = "1.5.0"
34
+
source = "registry+https://github.com/rust-lang/crates.io-index"
35
+
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
36
+
37
+
[[package]]
38
+
name = "backtrace"
39
+
version = "0.3.75"
40
+
source = "registry+https://github.com/rust-lang/crates.io-index"
41
+
checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002"
42
+
dependencies = [
43
+
"addr2line",
44
+
"cfg-if",
45
+
"libc",
46
+
"miniz_oxide",
47
+
"object",
48
+
"rustc-demangle",
49
+
"windows-targets",
50
+
]
51
+
52
+
[[package]]
53
+
name = "bitflags"
54
+
version = "1.3.2"
55
+
source = "registry+https://github.com/rust-lang/crates.io-index"
56
+
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
57
+
58
+
[[package]]
59
+
name = "bitflags"
60
+
version = "2.9.4"
61
+
source = "registry+https://github.com/rust-lang/crates.io-index"
62
+
checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
63
+
64
+
[[package]]
65
+
name = "cfg-if"
66
+
version = "1.0.3"
67
+
source = "registry+https://github.com/rust-lang/crates.io-index"
68
+
checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9"
69
+
70
+
[[package]]
71
+
name = "data-encoding"
72
+
version = "2.9.0"
73
+
source = "registry+https://github.com/rust-lang/crates.io-index"
74
+
checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476"
75
+
76
+
[[package]]
77
+
name = "displaydoc"
78
+
version = "0.2.5"
79
+
source = "registry+https://github.com/rust-lang/crates.io-index"
80
+
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
81
+
dependencies = [
82
+
"proc-macro2",
83
+
"quote",
84
+
"syn 2.0.106",
85
+
]
86
+
87
+
[[package]]
88
+
name = "enum-as-inner"
89
+
version = "0.3.4"
90
+
source = "registry+https://github.com/rust-lang/crates.io-index"
91
+
checksum = "570d109b813e904becc80d8d5da38376818a143348413f7149f1340fe04754d4"
92
+
dependencies = [
93
+
"heck",
94
+
"proc-macro2",
95
+
"quote",
96
+
"syn 1.0.109",
97
+
]
98
+
99
+
[[package]]
100
+
name = "form_urlencoded"
101
+
version = "1.2.2"
102
+
source = "registry+https://github.com/rust-lang/crates.io-index"
103
+
checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf"
104
+
dependencies = [
105
+
"percent-encoding",
106
+
]
107
+
108
+
[[package]]
109
+
name = "futures-channel"
110
+
version = "0.3.31"
111
+
source = "registry+https://github.com/rust-lang/crates.io-index"
112
+
checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
113
+
dependencies = [
114
+
"futures-core",
115
+
]
116
+
117
+
[[package]]
118
+
name = "futures-core"
119
+
version = "0.3.31"
120
+
source = "registry+https://github.com/rust-lang/crates.io-index"
121
+
checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
122
+
123
+
[[package]]
124
+
name = "futures-io"
125
+
version = "0.3.31"
126
+
source = "registry+https://github.com/rust-lang/crates.io-index"
127
+
checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
128
+
129
+
[[package]]
130
+
name = "futures-task"
131
+
version = "0.3.31"
132
+
source = "registry+https://github.com/rust-lang/crates.io-index"
133
+
checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
134
+
135
+
[[package]]
136
+
name = "futures-util"
137
+
version = "0.3.31"
138
+
source = "registry+https://github.com/rust-lang/crates.io-index"
139
+
checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
140
+
dependencies = [
141
+
"futures-core",
142
+
"futures-task",
143
+
"pin-project-lite",
144
+
"pin-utils",
145
+
"slab",
146
+
]
147
+
148
+
[[package]]
149
+
name = "getrandom"
150
+
version = "0.2.16"
151
+
source = "registry+https://github.com/rust-lang/crates.io-index"
152
+
checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
153
+
dependencies = [
154
+
"cfg-if",
155
+
"libc",
156
+
"wasi",
157
+
]
158
+
159
+
[[package]]
160
+
name = "gimli"
161
+
version = "0.31.1"
162
+
source = "registry+https://github.com/rust-lang/crates.io-index"
163
+
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
164
+
165
+
[[package]]
166
+
name = "heck"
167
+
version = "0.4.1"
168
+
source = "registry+https://github.com/rust-lang/crates.io-index"
169
+
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
170
+
171
+
[[package]]
172
+
name = "icu_collections"
173
+
version = "2.0.0"
174
+
source = "registry+https://github.com/rust-lang/crates.io-index"
175
+
checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"
176
+
dependencies = [
177
+
"displaydoc",
178
+
"potential_utf",
179
+
"yoke",
180
+
"zerofrom",
181
+
"zerovec",
182
+
]
183
+
184
+
[[package]]
185
+
name = "icu_locale_core"
186
+
version = "2.0.0"
187
+
source = "registry+https://github.com/rust-lang/crates.io-index"
188
+
checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a"
189
+
dependencies = [
190
+
"displaydoc",
191
+
"litemap",
192
+
"tinystr",
193
+
"writeable",
194
+
"zerovec",
195
+
]
196
+
197
+
[[package]]
198
+
name = "icu_normalizer"
199
+
version = "2.0.0"
200
+
source = "registry+https://github.com/rust-lang/crates.io-index"
201
+
checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979"
202
+
dependencies = [
203
+
"displaydoc",
204
+
"icu_collections",
205
+
"icu_normalizer_data",
206
+
"icu_properties",
207
+
"icu_provider",
208
+
"smallvec",
209
+
"zerovec",
210
+
]
211
+
212
+
[[package]]
213
+
name = "icu_normalizer_data"
214
+
version = "2.0.0"
215
+
source = "registry+https://github.com/rust-lang/crates.io-index"
216
+
checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"
217
+
218
+
[[package]]
219
+
name = "icu_properties"
220
+
version = "2.0.1"
221
+
source = "registry+https://github.com/rust-lang/crates.io-index"
222
+
checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b"
223
+
dependencies = [
224
+
"displaydoc",
225
+
"icu_collections",
226
+
"icu_locale_core",
227
+
"icu_properties_data",
228
+
"icu_provider",
229
+
"potential_utf",
230
+
"zerotrie",
231
+
"zerovec",
232
+
]
233
+
234
+
[[package]]
235
+
name = "icu_properties_data"
236
+
version = "2.0.1"
237
+
source = "registry+https://github.com/rust-lang/crates.io-index"
238
+
checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632"
239
+
240
+
[[package]]
241
+
name = "icu_provider"
242
+
version = "2.0.0"
243
+
source = "registry+https://github.com/rust-lang/crates.io-index"
244
+
checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af"
245
+
dependencies = [
246
+
"displaydoc",
247
+
"icu_locale_core",
248
+
"stable_deref_trait",
249
+
"tinystr",
250
+
"writeable",
251
+
"yoke",
252
+
"zerofrom",
253
+
"zerotrie",
254
+
"zerovec",
255
+
]
256
+
257
+
[[package]]
258
+
name = "idna"
259
+
version = "0.2.3"
260
+
source = "registry+https://github.com/rust-lang/crates.io-index"
261
+
checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
262
+
dependencies = [
263
+
"matches",
264
+
"unicode-bidi",
265
+
"unicode-normalization",
266
+
]
267
+
268
+
[[package]]
269
+
name = "idna"
270
+
version = "1.1.0"
271
+
source = "registry+https://github.com/rust-lang/crates.io-index"
272
+
checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de"
273
+
dependencies = [
274
+
"idna_adapter",
275
+
"smallvec",
276
+
"utf8_iter",
277
+
]
278
+
279
+
[[package]]
280
+
name = "idna_adapter"
281
+
version = "1.2.1"
282
+
source = "registry+https://github.com/rust-lang/crates.io-index"
283
+
checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344"
284
+
dependencies = [
285
+
"icu_normalizer",
286
+
"icu_properties",
287
+
]
288
+
289
+
[[package]]
290
+
name = "instant"
291
+
version = "0.1.13"
292
+
source = "registry+https://github.com/rust-lang/crates.io-index"
293
+
checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
294
+
dependencies = [
295
+
"cfg-if",
296
+
]
297
+
298
+
[[package]]
299
+
name = "io-uring"
300
+
version = "0.7.10"
301
+
source = "registry+https://github.com/rust-lang/crates.io-index"
302
+
checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b"
303
+
dependencies = [
304
+
"bitflags 2.9.4",
305
+
"cfg-if",
306
+
"libc",
307
+
]
308
+
309
+
[[package]]
310
+
name = "ipconfig"
311
+
version = "0.2.2"
312
+
source = "registry+https://github.com/rust-lang/crates.io-index"
313
+
checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7"
314
+
dependencies = [
315
+
"socket2 0.3.19",
316
+
"widestring",
317
+
"winapi",
318
+
"winreg",
319
+
]
320
+
321
+
[[package]]
322
+
name = "ipnet"
323
+
version = "2.11.0"
324
+
source = "registry+https://github.com/rust-lang/crates.io-index"
325
+
checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
326
+
327
+
[[package]]
6
328
name = "json"
7
329
version = "0.12.4"
8
330
source = "registry+https://github.com/rust-lang/crates.io-index"
9
331
checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd"
10
332
11
333
[[package]]
334
+
name = "lazy_static"
335
+
version = "1.5.0"
336
+
source = "registry+https://github.com/rust-lang/crates.io-index"
337
+
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
338
+
339
+
[[package]]
340
+
name = "libc"
341
+
version = "0.2.175"
342
+
source = "registry+https://github.com/rust-lang/crates.io-index"
343
+
checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
344
+
345
+
[[package]]
346
+
name = "linked-hash-map"
347
+
version = "0.5.6"
348
+
source = "registry+https://github.com/rust-lang/crates.io-index"
349
+
checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
350
+
351
+
[[package]]
352
+
name = "litemap"
353
+
version = "0.8.0"
354
+
source = "registry+https://github.com/rust-lang/crates.io-index"
355
+
checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
356
+
357
+
[[package]]
358
+
name = "lock_api"
359
+
version = "0.4.13"
360
+
source = "registry+https://github.com/rust-lang/crates.io-index"
361
+
checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765"
362
+
dependencies = [
363
+
"autocfg",
364
+
"scopeguard",
365
+
]
366
+
367
+
[[package]]
368
+
name = "log"
369
+
version = "0.4.28"
370
+
source = "registry+https://github.com/rust-lang/crates.io-index"
371
+
checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
372
+
373
+
[[package]]
374
+
name = "lru-cache"
375
+
version = "0.1.2"
376
+
source = "registry+https://github.com/rust-lang/crates.io-index"
377
+
checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"
378
+
dependencies = [
379
+
"linked-hash-map",
380
+
]
381
+
382
+
[[package]]
383
+
name = "matches"
384
+
version = "0.1.10"
385
+
source = "registry+https://github.com/rust-lang/crates.io-index"
386
+
checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
387
+
388
+
[[package]]
389
+
name = "memchr"
390
+
version = "2.7.5"
391
+
source = "registry+https://github.com/rust-lang/crates.io-index"
392
+
checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
393
+
394
+
[[package]]
395
+
name = "miniz_oxide"
396
+
version = "0.8.9"
397
+
source = "registry+https://github.com/rust-lang/crates.io-index"
398
+
checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
399
+
dependencies = [
400
+
"adler2",
401
+
]
402
+
403
+
[[package]]
404
+
name = "mio"
405
+
version = "1.0.4"
406
+
source = "registry+https://github.com/rust-lang/crates.io-index"
407
+
checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c"
408
+
dependencies = [
409
+
"libc",
410
+
"wasi",
411
+
"windows-sys",
412
+
]
413
+
414
+
[[package]]
415
+
name = "object"
416
+
version = "0.36.7"
417
+
source = "registry+https://github.com/rust-lang/crates.io-index"
418
+
checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
419
+
dependencies = [
420
+
"memchr",
421
+
]
422
+
423
+
[[package]]
424
+
name = "parking_lot"
425
+
version = "0.11.2"
426
+
source = "registry+https://github.com/rust-lang/crates.io-index"
427
+
checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
428
+
dependencies = [
429
+
"instant",
430
+
"lock_api",
431
+
"parking_lot_core",
432
+
]
433
+
434
+
[[package]]
435
+
name = "parking_lot_core"
436
+
version = "0.8.6"
437
+
source = "registry+https://github.com/rust-lang/crates.io-index"
438
+
checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
439
+
dependencies = [
440
+
"cfg-if",
441
+
"instant",
442
+
"libc",
443
+
"redox_syscall",
444
+
"smallvec",
445
+
"winapi",
446
+
]
447
+
448
+
[[package]]
449
+
name = "percent-encoding"
450
+
version = "2.3.2"
451
+
source = "registry+https://github.com/rust-lang/crates.io-index"
452
+
checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
453
+
454
+
[[package]]
455
+
name = "pin-project-lite"
456
+
version = "0.2.16"
457
+
source = "registry+https://github.com/rust-lang/crates.io-index"
458
+
checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
459
+
460
+
[[package]]
461
+
name = "pin-utils"
462
+
version = "0.1.0"
463
+
source = "registry+https://github.com/rust-lang/crates.io-index"
464
+
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
465
+
466
+
[[package]]
467
+
name = "potential_utf"
468
+
version = "0.1.3"
469
+
source = "registry+https://github.com/rust-lang/crates.io-index"
470
+
checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a"
471
+
dependencies = [
472
+
"zerovec",
473
+
]
474
+
475
+
[[package]]
476
+
name = "ppv-lite86"
477
+
version = "0.2.21"
478
+
source = "registry+https://github.com/rust-lang/crates.io-index"
479
+
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
480
+
dependencies = [
481
+
"zerocopy",
482
+
]
483
+
484
+
[[package]]
485
+
name = "proc-macro2"
486
+
version = "1.0.101"
487
+
source = "registry+https://github.com/rust-lang/crates.io-index"
488
+
checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
489
+
dependencies = [
490
+
"unicode-ident",
491
+
]
492
+
493
+
[[package]]
494
+
name = "quote"
495
+
version = "1.0.40"
496
+
source = "registry+https://github.com/rust-lang/crates.io-index"
497
+
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
498
+
dependencies = [
499
+
"proc-macro2",
500
+
]
501
+
502
+
[[package]]
503
+
name = "rand"
504
+
version = "0.8.5"
505
+
source = "registry+https://github.com/rust-lang/crates.io-index"
506
+
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
507
+
dependencies = [
508
+
"libc",
509
+
"rand_chacha",
510
+
"rand_core",
511
+
]
512
+
513
+
[[package]]
514
+
name = "rand_chacha"
515
+
version = "0.3.1"
516
+
source = "registry+https://github.com/rust-lang/crates.io-index"
517
+
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
518
+
dependencies = [
519
+
"ppv-lite86",
520
+
"rand_core",
521
+
]
522
+
523
+
[[package]]
524
+
name = "rand_core"
525
+
version = "0.6.4"
526
+
source = "registry+https://github.com/rust-lang/crates.io-index"
527
+
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
528
+
dependencies = [
529
+
"getrandom",
530
+
]
531
+
532
+
[[package]]
533
+
name = "redox_syscall"
534
+
version = "0.2.16"
535
+
source = "registry+https://github.com/rust-lang/crates.io-index"
536
+
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
537
+
dependencies = [
538
+
"bitflags 1.3.2",
539
+
]
540
+
541
+
[[package]]
542
+
name = "resolv-conf"
543
+
version = "0.7.4"
544
+
source = "registry+https://github.com/rust-lang/crates.io-index"
545
+
checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3"
546
+
547
+
[[package]]
548
+
name = "rustc-demangle"
549
+
version = "0.1.26"
550
+
source = "registry+https://github.com/rust-lang/crates.io-index"
551
+
checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace"
552
+
553
+
[[package]]
554
+
name = "scopeguard"
555
+
version = "1.2.0"
556
+
source = "registry+https://github.com/rust-lang/crates.io-index"
557
+
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
558
+
559
+
[[package]]
560
+
name = "serde"
561
+
version = "1.0.219"
562
+
source = "registry+https://github.com/rust-lang/crates.io-index"
563
+
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
564
+
dependencies = [
565
+
"serde_derive",
566
+
]
567
+
568
+
[[package]]
569
+
name = "serde_derive"
570
+
version = "1.0.219"
571
+
source = "registry+https://github.com/rust-lang/crates.io-index"
572
+
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
573
+
dependencies = [
574
+
"proc-macro2",
575
+
"quote",
576
+
"syn 2.0.106",
577
+
]
578
+
579
+
[[package]]
580
+
name = "slab"
581
+
version = "0.4.11"
582
+
source = "registry+https://github.com/rust-lang/crates.io-index"
583
+
checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589"
584
+
585
+
[[package]]
586
+
name = "smallvec"
587
+
version = "1.15.1"
588
+
source = "registry+https://github.com/rust-lang/crates.io-index"
589
+
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
590
+
591
+
[[package]]
592
+
name = "socket2"
593
+
version = "0.3.19"
594
+
source = "registry+https://github.com/rust-lang/crates.io-index"
595
+
checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
596
+
dependencies = [
597
+
"cfg-if",
598
+
"libc",
599
+
"winapi",
600
+
]
601
+
602
+
[[package]]
603
+
name = "socket2"
604
+
version = "0.6.0"
605
+
source = "registry+https://github.com/rust-lang/crates.io-index"
606
+
checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807"
607
+
dependencies = [
608
+
"libc",
609
+
"windows-sys",
610
+
]
611
+
612
+
[[package]]
613
+
name = "stable_deref_trait"
614
+
version = "1.2.0"
615
+
source = "registry+https://github.com/rust-lang/crates.io-index"
616
+
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
617
+
618
+
[[package]]
619
+
name = "syn"
620
+
version = "1.0.109"
621
+
source = "registry+https://github.com/rust-lang/crates.io-index"
622
+
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
623
+
dependencies = [
624
+
"proc-macro2",
625
+
"quote",
626
+
"unicode-ident",
627
+
]
628
+
629
+
[[package]]
630
+
name = "syn"
631
+
version = "2.0.106"
632
+
source = "registry+https://github.com/rust-lang/crates.io-index"
633
+
checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
634
+
dependencies = [
635
+
"proc-macro2",
636
+
"quote",
637
+
"unicode-ident",
638
+
]
639
+
640
+
[[package]]
641
+
name = "synstructure"
642
+
version = "0.13.2"
643
+
source = "registry+https://github.com/rust-lang/crates.io-index"
644
+
checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
645
+
dependencies = [
646
+
"proc-macro2",
647
+
"quote",
648
+
"syn 2.0.106",
649
+
]
650
+
651
+
[[package]]
12
652
name = "tangled-on-commit"
13
653
version = "0.1.0"
14
654
dependencies = [
15
655
"json",
656
+
"trust-dns-resolver",
657
+
]
658
+
659
+
[[package]]
660
+
name = "thiserror"
661
+
version = "1.0.69"
662
+
source = "registry+https://github.com/rust-lang/crates.io-index"
663
+
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
664
+
dependencies = [
665
+
"thiserror-impl",
666
+
]
667
+
668
+
[[package]]
669
+
name = "thiserror-impl"
670
+
version = "1.0.69"
671
+
source = "registry+https://github.com/rust-lang/crates.io-index"
672
+
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
673
+
dependencies = [
674
+
"proc-macro2",
675
+
"quote",
676
+
"syn 2.0.106",
677
+
]
678
+
679
+
[[package]]
680
+
name = "tinystr"
681
+
version = "0.8.1"
682
+
source = "registry+https://github.com/rust-lang/crates.io-index"
683
+
checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b"
684
+
dependencies = [
685
+
"displaydoc",
686
+
"zerovec",
687
+
]
688
+
689
+
[[package]]
690
+
name = "tinyvec"
691
+
version = "1.10.0"
692
+
source = "registry+https://github.com/rust-lang/crates.io-index"
693
+
checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa"
694
+
dependencies = [
695
+
"tinyvec_macros",
696
+
]
697
+
698
+
[[package]]
699
+
name = "tinyvec_macros"
700
+
version = "0.1.1"
701
+
source = "registry+https://github.com/rust-lang/crates.io-index"
702
+
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
703
+
704
+
[[package]]
705
+
name = "tokio"
706
+
version = "1.47.1"
707
+
source = "registry+https://github.com/rust-lang/crates.io-index"
708
+
checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038"
709
+
dependencies = [
710
+
"backtrace",
711
+
"io-uring",
712
+
"libc",
713
+
"mio",
714
+
"pin-project-lite",
715
+
"slab",
716
+
"socket2 0.6.0",
717
+
"windows-sys",
718
+
]
719
+
720
+
[[package]]
721
+
name = "trust-dns-proto"
722
+
version = "0.20.4"
723
+
source = "registry+https://github.com/rust-lang/crates.io-index"
724
+
checksum = "ca94d4e9feb6a181c690c4040d7a24ef34018d8313ac5044a61d21222ae24e31"
725
+
dependencies = [
726
+
"async-trait",
727
+
"cfg-if",
728
+
"data-encoding",
729
+
"enum-as-inner",
730
+
"futures-channel",
731
+
"futures-io",
732
+
"futures-util",
733
+
"idna 0.2.3",
734
+
"ipnet",
735
+
"lazy_static",
736
+
"log",
737
+
"rand",
738
+
"smallvec",
739
+
"thiserror",
740
+
"tinyvec",
741
+
"tokio",
742
+
"url",
743
+
]
744
+
745
+
[[package]]
746
+
name = "trust-dns-resolver"
747
+
version = "0.20.4"
748
+
source = "registry+https://github.com/rust-lang/crates.io-index"
749
+
checksum = "ecae383baad9995efaa34ce8e57d12c3f305e545887472a492b838f4b5cfb77a"
750
+
dependencies = [
751
+
"cfg-if",
752
+
"futures-util",
753
+
"ipconfig",
754
+
"lazy_static",
755
+
"log",
756
+
"lru-cache",
757
+
"parking_lot",
758
+
"resolv-conf",
759
+
"smallvec",
760
+
"thiserror",
761
+
"tokio",
762
+
"trust-dns-proto",
763
+
]
764
+
765
+
[[package]]
766
+
name = "unicode-bidi"
767
+
version = "0.3.18"
768
+
source = "registry+https://github.com/rust-lang/crates.io-index"
769
+
checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5"
770
+
771
+
[[package]]
772
+
name = "unicode-ident"
773
+
version = "1.0.18"
774
+
source = "registry+https://github.com/rust-lang/crates.io-index"
775
+
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
776
+
777
+
[[package]]
778
+
name = "unicode-normalization"
779
+
version = "0.1.24"
780
+
source = "registry+https://github.com/rust-lang/crates.io-index"
781
+
checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956"
782
+
dependencies = [
783
+
"tinyvec",
784
+
]
785
+
786
+
[[package]]
787
+
name = "url"
788
+
version = "2.5.7"
789
+
source = "registry+https://github.com/rust-lang/crates.io-index"
790
+
checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b"
791
+
dependencies = [
792
+
"form_urlencoded",
793
+
"idna 1.1.0",
794
+
"percent-encoding",
795
+
"serde",
796
+
]
797
+
798
+
[[package]]
799
+
name = "utf8_iter"
800
+
version = "1.0.4"
801
+
source = "registry+https://github.com/rust-lang/crates.io-index"
802
+
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
803
+
804
+
[[package]]
805
+
name = "wasi"
806
+
version = "0.11.1+wasi-snapshot-preview1"
807
+
source = "registry+https://github.com/rust-lang/crates.io-index"
808
+
checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
809
+
810
+
[[package]]
811
+
name = "widestring"
812
+
version = "0.4.3"
813
+
source = "registry+https://github.com/rust-lang/crates.io-index"
814
+
checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c"
815
+
816
+
[[package]]
817
+
name = "winapi"
818
+
version = "0.3.9"
819
+
source = "registry+https://github.com/rust-lang/crates.io-index"
820
+
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
821
+
dependencies = [
822
+
"winapi-i686-pc-windows-gnu",
823
+
"winapi-x86_64-pc-windows-gnu",
824
+
]
825
+
826
+
[[package]]
827
+
name = "winapi-i686-pc-windows-gnu"
828
+
version = "0.4.0"
829
+
source = "registry+https://github.com/rust-lang/crates.io-index"
830
+
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
831
+
832
+
[[package]]
833
+
name = "winapi-x86_64-pc-windows-gnu"
834
+
version = "0.4.0"
835
+
source = "registry+https://github.com/rust-lang/crates.io-index"
836
+
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
837
+
838
+
[[package]]
839
+
name = "windows-sys"
840
+
version = "0.59.0"
841
+
source = "registry+https://github.com/rust-lang/crates.io-index"
842
+
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
843
+
dependencies = [
844
+
"windows-targets",
845
+
]
846
+
847
+
[[package]]
848
+
name = "windows-targets"
849
+
version = "0.52.6"
850
+
source = "registry+https://github.com/rust-lang/crates.io-index"
851
+
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
852
+
dependencies = [
853
+
"windows_aarch64_gnullvm",
854
+
"windows_aarch64_msvc",
855
+
"windows_i686_gnu",
856
+
"windows_i686_gnullvm",
857
+
"windows_i686_msvc",
858
+
"windows_x86_64_gnu",
859
+
"windows_x86_64_gnullvm",
860
+
"windows_x86_64_msvc",
861
+
]
862
+
863
+
[[package]]
864
+
name = "windows_aarch64_gnullvm"
865
+
version = "0.52.6"
866
+
source = "registry+https://github.com/rust-lang/crates.io-index"
867
+
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
868
+
869
+
[[package]]
870
+
name = "windows_aarch64_msvc"
871
+
version = "0.52.6"
872
+
source = "registry+https://github.com/rust-lang/crates.io-index"
873
+
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
874
+
875
+
[[package]]
876
+
name = "windows_i686_gnu"
877
+
version = "0.52.6"
878
+
source = "registry+https://github.com/rust-lang/crates.io-index"
879
+
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
880
+
881
+
[[package]]
882
+
name = "windows_i686_gnullvm"
883
+
version = "0.52.6"
884
+
source = "registry+https://github.com/rust-lang/crates.io-index"
885
+
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
886
+
887
+
[[package]]
888
+
name = "windows_i686_msvc"
889
+
version = "0.52.6"
890
+
source = "registry+https://github.com/rust-lang/crates.io-index"
891
+
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
892
+
893
+
[[package]]
894
+
name = "windows_x86_64_gnu"
895
+
version = "0.52.6"
896
+
source = "registry+https://github.com/rust-lang/crates.io-index"
897
+
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
898
+
899
+
[[package]]
900
+
name = "windows_x86_64_gnullvm"
901
+
version = "0.52.6"
902
+
source = "registry+https://github.com/rust-lang/crates.io-index"
903
+
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
904
+
905
+
[[package]]
906
+
name = "windows_x86_64_msvc"
907
+
version = "0.52.6"
908
+
source = "registry+https://github.com/rust-lang/crates.io-index"
909
+
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
910
+
911
+
[[package]]
912
+
name = "winreg"
913
+
version = "0.6.2"
914
+
source = "registry+https://github.com/rust-lang/crates.io-index"
915
+
checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9"
916
+
dependencies = [
917
+
"winapi",
918
+
]
919
+
920
+
[[package]]
921
+
name = "writeable"
922
+
version = "0.6.1"
923
+
source = "registry+https://github.com/rust-lang/crates.io-index"
924
+
checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
925
+
926
+
[[package]]
927
+
name = "yoke"
928
+
version = "0.8.0"
929
+
source = "registry+https://github.com/rust-lang/crates.io-index"
930
+
checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
931
+
dependencies = [
932
+
"serde",
933
+
"stable_deref_trait",
934
+
"yoke-derive",
935
+
"zerofrom",
936
+
]
937
+
938
+
[[package]]
939
+
name = "yoke-derive"
940
+
version = "0.8.0"
941
+
source = "registry+https://github.com/rust-lang/crates.io-index"
942
+
checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
943
+
dependencies = [
944
+
"proc-macro2",
945
+
"quote",
946
+
"syn 2.0.106",
947
+
"synstructure",
948
+
]
949
+
950
+
[[package]]
951
+
name = "zerocopy"
952
+
version = "0.8.26"
953
+
source = "registry+https://github.com/rust-lang/crates.io-index"
954
+
checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f"
955
+
dependencies = [
956
+
"zerocopy-derive",
957
+
]
958
+
959
+
[[package]]
960
+
name = "zerocopy-derive"
961
+
version = "0.8.26"
962
+
source = "registry+https://github.com/rust-lang/crates.io-index"
963
+
checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181"
964
+
dependencies = [
965
+
"proc-macro2",
966
+
"quote",
967
+
"syn 2.0.106",
968
+
]
969
+
970
+
[[package]]
971
+
name = "zerofrom"
972
+
version = "0.1.6"
973
+
source = "registry+https://github.com/rust-lang/crates.io-index"
974
+
checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
975
+
dependencies = [
976
+
"zerofrom-derive",
977
+
]
978
+
979
+
[[package]]
980
+
name = "zerofrom-derive"
981
+
version = "0.1.6"
982
+
source = "registry+https://github.com/rust-lang/crates.io-index"
983
+
checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
984
+
dependencies = [
985
+
"proc-macro2",
986
+
"quote",
987
+
"syn 2.0.106",
988
+
"synstructure",
989
+
]
990
+
991
+
[[package]]
992
+
name = "zerotrie"
993
+
version = "0.2.2"
994
+
source = "registry+https://github.com/rust-lang/crates.io-index"
995
+
checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
996
+
dependencies = [
997
+
"displaydoc",
998
+
"yoke",
999
+
"zerofrom",
1000
+
]
1001
+
1002
+
[[package]]
1003
+
name = "zerovec"
1004
+
version = "0.11.4"
1005
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1006
+
checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b"
1007
+
dependencies = [
1008
+
"yoke",
1009
+
"zerofrom",
1010
+
"zerovec-derive",
1011
+
]
1012
+
1013
+
[[package]]
1014
+
name = "zerovec-derive"
1015
+
version = "0.11.1"
1016
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1017
+
checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"
1018
+
dependencies = [
1019
+
"proc-macro2",
1020
+
"quote",
1021
+
"syn 2.0.106",
16
1022
]
+47
src/main.rs
+47
src/main.rs
···
1
+
use trust_dns_resolver::Resolver;
2
+
use trust_dns_resolver::config::{ResolverConfig, ResolverOpts};
3
+
1
4
fn help() {
2
5
println!(
3
6
"Help: tangled-on-commit
···
213
216
return Err(());
214
217
}
215
218
219
+
#[derive(Debug)]
220
+
struct DidDoc {
221
+
did: String,
222
+
}
223
+
224
+
fn get_did(handle: String) -> Result<DidDoc, ()> {
225
+
// create a txt resolver
226
+
let resolver = match Resolver::new(ResolverConfig::default(), ResolverOpts::default()) {
227
+
Ok(val) => val,
228
+
Err(_) => return Err(()),
229
+
};
230
+
231
+
// resolve _atproto.handle to a TXT record
232
+
let txt_res = match resolver.txt_lookup("_atproto.".to_owned() + &handle) {
233
+
Ok(val) => val,
234
+
Err(_) => return Err(()), // collect all entries and convert to strings
235
+
}
236
+
.into_iter()
237
+
.map(|x| x.to_string())
238
+
.collect::<Vec<_>>();
239
+
240
+
// filter entries which do not start with `did=`
241
+
let did_res = txt_res
242
+
.clone()
243
+
.extract_if(.., |x| x.starts_with("did="))
244
+
.collect::<Vec<_>>();
245
+
// only 1 did= can exist
246
+
// https://atproto.com/specs/handle#:~:text=If%20multiple%20valid%20records%20with%20different%20DIDs%20are%20present,%20resolution%20should%20fail.
247
+
if did_res.len() != 1 {
248
+
return Err(());
249
+
}
250
+
let did = did_res[0].clone();
251
+
252
+
return Ok(DidDoc { did: did.clone() });
253
+
}
254
+
216
255
fn main() -> Result<(), ()> {
217
256
// load configuration
218
257
let config = match load_config() {
···
225
264
println!("{:#?}", config);
226
265
227
266
// resolve handle to did
267
+
let did_doc = match get_did(config.handle) {
268
+
Ok(res) => res,
269
+
Err(_) => {
270
+
// q
271
+
return Err(());
272
+
}
273
+
};
274
+
println!("{:#?}", did_doc);
228
275
// resolve did+repoName to knotserver
229
276
230
277
// connect to /events on knotserver