├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── airdrop_data.json ├── clippy.toml ├── rustfmt.toml ├── src ├── main.rs ├── provider.rs ├── transactions │ ├── claim.rs │ ├── common.rs │ ├── constants.rs │ ├── mod.rs │ ├── transaction_request.rs │ └── transfer.rs └── wallet.rs └── wallets.json /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.22.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 | 20 | [[package]] 21 | name = "ahash" 22 | version = "0.8.11" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" 25 | dependencies = [ 26 | "cfg-if", 27 | "once_cell", 28 | "version_check", 29 | "zerocopy", 30 | ] 31 | 32 | [[package]] 33 | name = "aho-corasick" 34 | version = "1.1.3" 35 | source = "registry+https://github.com/rust-lang/crates.io-index" 36 | checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 37 | dependencies = [ 38 | "memchr", 39 | ] 40 | 41 | [[package]] 42 | name = "allocator-api2" 43 | version = "0.2.18" 44 | source = "registry+https://github.com/rust-lang/crates.io-index" 45 | checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" 46 | 47 | [[package]] 48 | name = "alloy-chains" 49 | version = "0.1.22" 50 | source = "registry+https://github.com/rust-lang/crates.io-index" 51 | checksum = "04e9a1892803b02f53e25bea3e414ddd0501f12d97456c9d5ade4edf88f9516f" 52 | dependencies = [ 53 | "num_enum 0.7.2", 54 | "strum 0.26.2", 55 | ] 56 | 57 | [[package]] 58 | name = "alloy-consensus" 59 | version = "0.1.0" 60 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 61 | dependencies = [ 62 | "alloy-eips", 63 | "alloy-primitives", 64 | "alloy-rlp", 65 | "alloy-serde", 66 | "c-kzg", 67 | "serde", 68 | ] 69 | 70 | [[package]] 71 | name = "alloy-eips" 72 | version = "0.1.0" 73 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 74 | dependencies = [ 75 | "alloy-primitives", 76 | "alloy-rlp", 77 | "alloy-serde", 78 | "c-kzg", 79 | "once_cell", 80 | "serde", 81 | "sha2 0.10.8", 82 | ] 83 | 84 | [[package]] 85 | name = "alloy-genesis" 86 | version = "0.1.0" 87 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 88 | dependencies = [ 89 | "alloy-primitives", 90 | "alloy-serde", 91 | "serde", 92 | "serde_json", 93 | ] 94 | 95 | [[package]] 96 | name = "alloy-json-abi" 97 | version = "0.7.6" 98 | source = "registry+https://github.com/rust-lang/crates.io-index" 99 | checksum = "aaeaccd50238126e3a0ff9387c7c568837726ad4f4e399b528ca88104d6c25ef" 100 | dependencies = [ 101 | "alloy-primitives", 102 | "alloy-sol-type-parser", 103 | "serde", 104 | ] 105 | 106 | [[package]] 107 | name = "alloy-json-rpc" 108 | version = "0.1.0" 109 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 110 | dependencies = [ 111 | "alloy-primitives", 112 | "serde", 113 | "serde_json", 114 | "thiserror", 115 | "tracing", 116 | ] 117 | 118 | [[package]] 119 | name = "alloy-network" 120 | version = "0.1.0" 121 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 122 | dependencies = [ 123 | "alloy-consensus", 124 | "alloy-eips", 125 | "alloy-json-rpc", 126 | "alloy-primitives", 127 | "alloy-rpc-types", 128 | "alloy-signer", 129 | "alloy-sol-types", 130 | "async-trait", 131 | "auto_impl", 132 | "futures-utils-wasm", 133 | "thiserror", 134 | ] 135 | 136 | [[package]] 137 | name = "alloy-primitives" 138 | version = "0.7.6" 139 | source = "registry+https://github.com/rust-lang/crates.io-index" 140 | checksum = "f783611babedbbe90db3478c120fb5f5daacceffc210b39adc0af4fe0da70bad" 141 | dependencies = [ 142 | "alloy-rlp", 143 | "bytes", 144 | "cfg-if", 145 | "const-hex", 146 | "derive_more 0.99.18", 147 | "getrandom", 148 | "hex-literal", 149 | "itoa", 150 | "k256 0.13.3", 151 | "keccak-asm", 152 | "proptest", 153 | "rand", 154 | "ruint", 155 | "serde", 156 | "tiny-keccak", 157 | ] 158 | 159 | [[package]] 160 | name = "alloy-provider" 161 | version = "0.1.0" 162 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 163 | dependencies = [ 164 | "alloy-chains", 165 | "alloy-eips", 166 | "alloy-json-rpc", 167 | "alloy-network", 168 | "alloy-primitives", 169 | "alloy-rpc-client", 170 | "alloy-rpc-types", 171 | "alloy-rpc-types-trace", 172 | "alloy-transport", 173 | "alloy-transport-http", 174 | "async-stream", 175 | "async-trait", 176 | "auto_impl", 177 | "dashmap", 178 | "futures", 179 | "futures-utils-wasm", 180 | "lru", 181 | "pin-project", 182 | "reqwest 0.12.5", 183 | "serde", 184 | "serde_json", 185 | "tokio", 186 | "tracing", 187 | "url", 188 | ] 189 | 190 | [[package]] 191 | name = "alloy-rlp" 192 | version = "0.3.5" 193 | source = "registry+https://github.com/rust-lang/crates.io-index" 194 | checksum = "b155716bab55763c95ba212806cf43d05bcc70e5f35b02bad20cf5ec7fe11fed" 195 | dependencies = [ 196 | "alloy-rlp-derive", 197 | "arrayvec", 198 | "bytes", 199 | ] 200 | 201 | [[package]] 202 | name = "alloy-rlp-derive" 203 | version = "0.3.5" 204 | source = "registry+https://github.com/rust-lang/crates.io-index" 205 | checksum = "8037e03c7f462a063f28daec9fda285a9a89da003c552f8637a80b9c8fd96241" 206 | dependencies = [ 207 | "proc-macro2", 208 | "quote", 209 | "syn 2.0.67", 210 | ] 211 | 212 | [[package]] 213 | name = "alloy-rpc-client" 214 | version = "0.1.0" 215 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 216 | dependencies = [ 217 | "alloy-json-rpc", 218 | "alloy-transport", 219 | "alloy-transport-http", 220 | "futures", 221 | "pin-project", 222 | "reqwest 0.12.5", 223 | "serde", 224 | "serde_json", 225 | "tokio", 226 | "tokio-stream", 227 | "tower", 228 | "tracing", 229 | "url", 230 | ] 231 | 232 | [[package]] 233 | name = "alloy-rpc-types" 234 | version = "0.1.0" 235 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 236 | dependencies = [ 237 | "alloy-consensus", 238 | "alloy-eips", 239 | "alloy-genesis", 240 | "alloy-primitives", 241 | "alloy-rlp", 242 | "alloy-serde", 243 | "alloy-sol-types", 244 | "itertools 0.12.1", 245 | "serde", 246 | "serde_json", 247 | "thiserror", 248 | ] 249 | 250 | [[package]] 251 | name = "alloy-rpc-types-trace" 252 | version = "0.1.0" 253 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 254 | dependencies = [ 255 | "alloy-primitives", 256 | "alloy-rpc-types", 257 | "alloy-serde", 258 | "serde", 259 | "serde_json", 260 | ] 261 | 262 | [[package]] 263 | name = "alloy-serde" 264 | version = "0.1.0" 265 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 266 | dependencies = [ 267 | "alloy-primitives", 268 | "serde", 269 | "serde_json", 270 | ] 271 | 272 | [[package]] 273 | name = "alloy-signer" 274 | version = "0.1.0" 275 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 276 | dependencies = [ 277 | "alloy-primitives", 278 | "async-trait", 279 | "auto_impl", 280 | "elliptic-curve 0.13.8", 281 | "k256 0.13.3", 282 | "thiserror", 283 | ] 284 | 285 | [[package]] 286 | name = "alloy-signer-wallet" 287 | version = "0.1.0" 288 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 289 | dependencies = [ 290 | "alloy-consensus", 291 | "alloy-network", 292 | "alloy-primitives", 293 | "alloy-signer", 294 | "async-trait", 295 | "k256 0.13.3", 296 | "rand", 297 | "thiserror", 298 | ] 299 | 300 | [[package]] 301 | name = "alloy-sol-macro" 302 | version = "0.7.6" 303 | source = "registry+https://github.com/rust-lang/crates.io-index" 304 | checksum = "4bad41a7c19498e3f6079f7744656328699f8ea3e783bdd10d85788cd439f572" 305 | dependencies = [ 306 | "alloy-sol-macro-expander", 307 | "alloy-sol-macro-input", 308 | "proc-macro-error", 309 | "proc-macro2", 310 | "quote", 311 | "syn 2.0.67", 312 | ] 313 | 314 | [[package]] 315 | name = "alloy-sol-macro-expander" 316 | version = "0.7.6" 317 | source = "registry+https://github.com/rust-lang/crates.io-index" 318 | checksum = "fd9899da7d011b4fe4c406a524ed3e3f963797dbc93b45479d60341d3a27b252" 319 | dependencies = [ 320 | "alloy-json-abi", 321 | "alloy-sol-macro-input", 322 | "const-hex", 323 | "heck 0.5.0", 324 | "indexmap 2.2.6", 325 | "proc-macro-error", 326 | "proc-macro2", 327 | "quote", 328 | "syn 2.0.67", 329 | "syn-solidity", 330 | "tiny-keccak", 331 | ] 332 | 333 | [[package]] 334 | name = "alloy-sol-macro-input" 335 | version = "0.7.6" 336 | source = "registry+https://github.com/rust-lang/crates.io-index" 337 | checksum = "d32d595768fdc61331a132b6f65db41afae41b9b97d36c21eb1b955c422a7e60" 338 | dependencies = [ 339 | "alloy-json-abi", 340 | "const-hex", 341 | "dunce", 342 | "heck 0.5.0", 343 | "proc-macro2", 344 | "quote", 345 | "serde_json", 346 | "syn 2.0.67", 347 | "syn-solidity", 348 | ] 349 | 350 | [[package]] 351 | name = "alloy-sol-type-parser" 352 | version = "0.7.6" 353 | source = "registry+https://github.com/rust-lang/crates.io-index" 354 | checksum = "baa2fbd22d353d8685bd9fee11ba2d8b5c3b1d11e56adb3265fcf1f32bfdf404" 355 | dependencies = [ 356 | "winnow 0.6.13", 357 | ] 358 | 359 | [[package]] 360 | name = "alloy-sol-types" 361 | version = "0.7.6" 362 | source = "registry+https://github.com/rust-lang/crates.io-index" 363 | checksum = "a49042c6d3b66a9fe6b2b5a8bf0d39fc2ae1ee0310a2a26ffedd79fb097878dd" 364 | dependencies = [ 365 | "alloy-json-abi", 366 | "alloy-primitives", 367 | "alloy-sol-macro", 368 | "const-hex", 369 | "serde", 370 | ] 371 | 372 | [[package]] 373 | name = "alloy-transport" 374 | version = "0.1.0" 375 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 376 | dependencies = [ 377 | "alloy-json-rpc", 378 | "base64 0.22.1", 379 | "futures-util", 380 | "futures-utils-wasm", 381 | "serde", 382 | "serde_json", 383 | "thiserror", 384 | "tokio", 385 | "tower", 386 | "url", 387 | "wasm-bindgen-futures", 388 | ] 389 | 390 | [[package]] 391 | name = "alloy-transport-http" 392 | version = "0.1.0" 393 | source = "git+https://github.com/alloy-rs/alloy?rev=5940871#5940871a103ed9332956959a9f2efcc2caa73bf0" 394 | dependencies = [ 395 | "alloy-json-rpc", 396 | "alloy-transport", 397 | "reqwest 0.12.5", 398 | "serde_json", 399 | "tower", 400 | "tracing", 401 | "url", 402 | ] 403 | 404 | [[package]] 405 | name = "android-tzdata" 406 | version = "0.1.1" 407 | source = "registry+https://github.com/rust-lang/crates.io-index" 408 | checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" 409 | 410 | [[package]] 411 | name = "android_system_properties" 412 | version = "0.1.5" 413 | source = "registry+https://github.com/rust-lang/crates.io-index" 414 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 415 | dependencies = [ 416 | "libc", 417 | ] 418 | 419 | [[package]] 420 | name = "anyhow" 421 | version = "1.0.86" 422 | source = "registry+https://github.com/rust-lang/crates.io-index" 423 | checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" 424 | 425 | [[package]] 426 | name = "ark-ff" 427 | version = "0.3.0" 428 | source = "registry+https://github.com/rust-lang/crates.io-index" 429 | checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" 430 | dependencies = [ 431 | "ark-ff-asm 0.3.0", 432 | "ark-ff-macros 0.3.0", 433 | "ark-serialize 0.3.0", 434 | "ark-std 0.3.0", 435 | "derivative", 436 | "num-bigint", 437 | "num-traits", 438 | "paste", 439 | "rustc_version 0.3.3", 440 | "zeroize", 441 | ] 442 | 443 | [[package]] 444 | name = "ark-ff" 445 | version = "0.4.2" 446 | source = "registry+https://github.com/rust-lang/crates.io-index" 447 | checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" 448 | dependencies = [ 449 | "ark-ff-asm 0.4.2", 450 | "ark-ff-macros 0.4.2", 451 | "ark-serialize 0.4.2", 452 | "ark-std 0.4.0", 453 | "derivative", 454 | "digest 0.10.7", 455 | "itertools 0.10.5", 456 | "num-bigint", 457 | "num-traits", 458 | "paste", 459 | "rustc_version 0.4.0", 460 | "zeroize", 461 | ] 462 | 463 | [[package]] 464 | name = "ark-ff-asm" 465 | version = "0.3.0" 466 | source = "registry+https://github.com/rust-lang/crates.io-index" 467 | checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" 468 | dependencies = [ 469 | "quote", 470 | "syn 1.0.109", 471 | ] 472 | 473 | [[package]] 474 | name = "ark-ff-asm" 475 | version = "0.4.2" 476 | source = "registry+https://github.com/rust-lang/crates.io-index" 477 | checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" 478 | dependencies = [ 479 | "quote", 480 | "syn 1.0.109", 481 | ] 482 | 483 | [[package]] 484 | name = "ark-ff-macros" 485 | version = "0.3.0" 486 | source = "registry+https://github.com/rust-lang/crates.io-index" 487 | checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" 488 | dependencies = [ 489 | "num-bigint", 490 | "num-traits", 491 | "quote", 492 | "syn 1.0.109", 493 | ] 494 | 495 | [[package]] 496 | name = "ark-ff-macros" 497 | version = "0.4.2" 498 | source = "registry+https://github.com/rust-lang/crates.io-index" 499 | checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" 500 | dependencies = [ 501 | "num-bigint", 502 | "num-traits", 503 | "proc-macro2", 504 | "quote", 505 | "syn 1.0.109", 506 | ] 507 | 508 | [[package]] 509 | name = "ark-serialize" 510 | version = "0.3.0" 511 | source = "registry+https://github.com/rust-lang/crates.io-index" 512 | checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" 513 | dependencies = [ 514 | "ark-std 0.3.0", 515 | "digest 0.9.0", 516 | ] 517 | 518 | [[package]] 519 | name = "ark-serialize" 520 | version = "0.4.2" 521 | source = "registry+https://github.com/rust-lang/crates.io-index" 522 | checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" 523 | dependencies = [ 524 | "ark-std 0.4.0", 525 | "digest 0.10.7", 526 | "num-bigint", 527 | ] 528 | 529 | [[package]] 530 | name = "ark-std" 531 | version = "0.3.0" 532 | source = "registry+https://github.com/rust-lang/crates.io-index" 533 | checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" 534 | dependencies = [ 535 | "num-traits", 536 | "rand", 537 | ] 538 | 539 | [[package]] 540 | name = "ark-std" 541 | version = "0.4.0" 542 | source = "registry+https://github.com/rust-lang/crates.io-index" 543 | checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" 544 | dependencies = [ 545 | "num-traits", 546 | "rand", 547 | ] 548 | 549 | [[package]] 550 | name = "arrayvec" 551 | version = "0.7.4" 552 | source = "registry+https://github.com/rust-lang/crates.io-index" 553 | checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" 554 | 555 | [[package]] 556 | name = "async-stream" 557 | version = "0.3.5" 558 | source = "registry+https://github.com/rust-lang/crates.io-index" 559 | checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" 560 | dependencies = [ 561 | "async-stream-impl", 562 | "futures-core", 563 | "pin-project-lite", 564 | ] 565 | 566 | [[package]] 567 | name = "async-stream-impl" 568 | version = "0.3.5" 569 | source = "registry+https://github.com/rust-lang/crates.io-index" 570 | checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" 571 | dependencies = [ 572 | "proc-macro2", 573 | "quote", 574 | "syn 2.0.67", 575 | ] 576 | 577 | [[package]] 578 | name = "async-trait" 579 | version = "0.1.80" 580 | source = "registry+https://github.com/rust-lang/crates.io-index" 581 | checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" 582 | dependencies = [ 583 | "proc-macro2", 584 | "quote", 585 | "syn 2.0.67", 586 | ] 587 | 588 | [[package]] 589 | name = "atomic-waker" 590 | version = "1.1.2" 591 | source = "registry+https://github.com/rust-lang/crates.io-index" 592 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 593 | 594 | [[package]] 595 | name = "auto_impl" 596 | version = "1.2.0" 597 | source = "registry+https://github.com/rust-lang/crates.io-index" 598 | checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" 599 | dependencies = [ 600 | "proc-macro2", 601 | "quote", 602 | "syn 2.0.67", 603 | ] 604 | 605 | [[package]] 606 | name = "autocfg" 607 | version = "1.3.0" 608 | source = "registry+https://github.com/rust-lang/crates.io-index" 609 | checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" 610 | 611 | [[package]] 612 | name = "axum" 613 | version = "0.6.20" 614 | source = "registry+https://github.com/rust-lang/crates.io-index" 615 | checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" 616 | dependencies = [ 617 | "async-trait", 618 | "axum-core", 619 | "bitflags 1.3.2", 620 | "bytes", 621 | "futures-util", 622 | "http 0.2.12", 623 | "http-body 0.4.6", 624 | "hyper 0.14.29", 625 | "itoa", 626 | "matchit", 627 | "memchr", 628 | "mime", 629 | "percent-encoding", 630 | "pin-project-lite", 631 | "rustversion", 632 | "serde", 633 | "sync_wrapper 0.1.2", 634 | "tower", 635 | "tower-layer", 636 | "tower-service", 637 | ] 638 | 639 | [[package]] 640 | name = "axum-core" 641 | version = "0.3.4" 642 | source = "registry+https://github.com/rust-lang/crates.io-index" 643 | checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" 644 | dependencies = [ 645 | "async-trait", 646 | "bytes", 647 | "futures-util", 648 | "http 0.2.12", 649 | "http-body 0.4.6", 650 | "mime", 651 | "rustversion", 652 | "tower-layer", 653 | "tower-service", 654 | ] 655 | 656 | [[package]] 657 | name = "backtrace" 658 | version = "0.3.73" 659 | source = "registry+https://github.com/rust-lang/crates.io-index" 660 | checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" 661 | dependencies = [ 662 | "addr2line", 663 | "cc", 664 | "cfg-if", 665 | "libc", 666 | "miniz_oxide", 667 | "object", 668 | "rustc-demangle", 669 | ] 670 | 671 | [[package]] 672 | name = "base16ct" 673 | version = "0.1.1" 674 | source = "registry+https://github.com/rust-lang/crates.io-index" 675 | checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" 676 | 677 | [[package]] 678 | name = "base16ct" 679 | version = "0.2.0" 680 | source = "registry+https://github.com/rust-lang/crates.io-index" 681 | checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" 682 | 683 | [[package]] 684 | name = "base64" 685 | version = "0.21.7" 686 | source = "registry+https://github.com/rust-lang/crates.io-index" 687 | checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 688 | 689 | [[package]] 690 | name = "base64" 691 | version = "0.22.1" 692 | source = "registry+https://github.com/rust-lang/crates.io-index" 693 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 694 | 695 | [[package]] 696 | name = "base64ct" 697 | version = "1.6.0" 698 | source = "registry+https://github.com/rust-lang/crates.io-index" 699 | checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" 700 | 701 | [[package]] 702 | name = "beef" 703 | version = "0.5.2" 704 | source = "registry+https://github.com/rust-lang/crates.io-index" 705 | checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" 706 | 707 | [[package]] 708 | name = "bigdecimal" 709 | version = "0.3.1" 710 | source = "registry+https://github.com/rust-lang/crates.io-index" 711 | checksum = "a6773ddc0eafc0e509fb60e48dff7f450f8e674a0686ae8605e8d9901bd5eefa" 712 | dependencies = [ 713 | "num-bigint", 714 | "num-integer", 715 | "num-traits", 716 | ] 717 | 718 | [[package]] 719 | name = "bit-set" 720 | version = "0.5.3" 721 | source = "registry+https://github.com/rust-lang/crates.io-index" 722 | checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" 723 | dependencies = [ 724 | "bit-vec", 725 | ] 726 | 727 | [[package]] 728 | name = "bit-vec" 729 | version = "0.6.3" 730 | source = "registry+https://github.com/rust-lang/crates.io-index" 731 | checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" 732 | 733 | [[package]] 734 | name = "bitflags" 735 | version = "1.3.2" 736 | source = "registry+https://github.com/rust-lang/crates.io-index" 737 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 738 | 739 | [[package]] 740 | name = "bitflags" 741 | version = "2.5.0" 742 | source = "registry+https://github.com/rust-lang/crates.io-index" 743 | checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" 744 | 745 | [[package]] 746 | name = "bitvec" 747 | version = "1.0.1" 748 | source = "registry+https://github.com/rust-lang/crates.io-index" 749 | checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" 750 | dependencies = [ 751 | "funty", 752 | "radium", 753 | "tap", 754 | "wyz", 755 | ] 756 | 757 | [[package]] 758 | name = "blake2" 759 | version = "0.10.6" 760 | source = "registry+https://github.com/rust-lang/crates.io-index" 761 | checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" 762 | dependencies = [ 763 | "digest 0.10.7", 764 | ] 765 | 766 | [[package]] 767 | name = "blake2" 768 | version = "0.10.6" 769 | source = "git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e#1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e" 770 | dependencies = [ 771 | "digest 0.10.7", 772 | ] 773 | 774 | [[package]] 775 | name = "block-buffer" 776 | version = "0.10.4" 777 | source = "registry+https://github.com/rust-lang/crates.io-index" 778 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 779 | dependencies = [ 780 | "generic-array", 781 | ] 782 | 783 | [[package]] 784 | name = "blst" 785 | version = "0.3.12" 786 | source = "registry+https://github.com/rust-lang/crates.io-index" 787 | checksum = "62dc83a094a71d43eeadd254b1ec2d24cb6a0bb6cadce00df51f0db594711a32" 788 | dependencies = [ 789 | "cc", 790 | "glob", 791 | "threadpool", 792 | "zeroize", 793 | ] 794 | 795 | [[package]] 796 | name = "bumpalo" 797 | version = "3.16.0" 798 | source = "registry+https://github.com/rust-lang/crates.io-index" 799 | checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" 800 | 801 | [[package]] 802 | name = "byte-slice-cast" 803 | version = "1.2.2" 804 | source = "registry+https://github.com/rust-lang/crates.io-index" 805 | checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" 806 | 807 | [[package]] 808 | name = "byteorder" 809 | version = "1.5.0" 810 | source = "registry+https://github.com/rust-lang/crates.io-index" 811 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 812 | 813 | [[package]] 814 | name = "bytes" 815 | version = "1.6.0" 816 | source = "registry+https://github.com/rust-lang/crates.io-index" 817 | checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" 818 | dependencies = [ 819 | "serde", 820 | ] 821 | 822 | [[package]] 823 | name = "c-kzg" 824 | version = "1.0.2" 825 | source = "registry+https://github.com/rust-lang/crates.io-index" 826 | checksum = "cdf100c4cea8f207e883ff91ca886d621d8a166cb04971dfaa9bb8fd99ed95df" 827 | dependencies = [ 828 | "blst", 829 | "cc", 830 | "glob", 831 | "hex", 832 | "libc", 833 | "serde", 834 | ] 835 | 836 | [[package]] 837 | name = "cc" 838 | version = "1.0.99" 839 | source = "registry+https://github.com/rust-lang/crates.io-index" 840 | checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" 841 | 842 | [[package]] 843 | name = "cfg-if" 844 | version = "1.0.0" 845 | source = "registry+https://github.com/rust-lang/crates.io-index" 846 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 847 | 848 | [[package]] 849 | name = "chrono" 850 | version = "0.4.38" 851 | source = "registry+https://github.com/rust-lang/crates.io-index" 852 | checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" 853 | dependencies = [ 854 | "android-tzdata", 855 | "iana-time-zone", 856 | "js-sys", 857 | "num-traits", 858 | "serde", 859 | "wasm-bindgen", 860 | "windows-targets 0.52.5", 861 | ] 862 | 863 | [[package]] 864 | name = "compile-fmt" 865 | version = "0.1.0" 866 | source = "registry+https://github.com/rust-lang/crates.io-index" 867 | checksum = "bed69047ed42e52c7e38d6421eeb8ceefb4f2a2b52eed59137f7bad7908f6800" 868 | 869 | [[package]] 870 | name = "const-hex" 871 | version = "1.12.0" 872 | source = "registry+https://github.com/rust-lang/crates.io-index" 873 | checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" 874 | dependencies = [ 875 | "cfg-if", 876 | "cpufeatures", 877 | "hex", 878 | "proptest", 879 | "serde", 880 | ] 881 | 882 | [[package]] 883 | name = "const-oid" 884 | version = "0.9.6" 885 | source = "registry+https://github.com/rust-lang/crates.io-index" 886 | checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" 887 | 888 | [[package]] 889 | name = "convert_case" 890 | version = "0.4.0" 891 | source = "registry+https://github.com/rust-lang/crates.io-index" 892 | checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" 893 | 894 | [[package]] 895 | name = "core-foundation" 896 | version = "0.9.4" 897 | source = "registry+https://github.com/rust-lang/crates.io-index" 898 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 899 | dependencies = [ 900 | "core-foundation-sys", 901 | "libc", 902 | ] 903 | 904 | [[package]] 905 | name = "core-foundation-sys" 906 | version = "0.8.6" 907 | source = "registry+https://github.com/rust-lang/crates.io-index" 908 | checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 909 | 910 | [[package]] 911 | name = "cpufeatures" 912 | version = "0.2.12" 913 | source = "registry+https://github.com/rust-lang/crates.io-index" 914 | checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" 915 | dependencies = [ 916 | "libc", 917 | ] 918 | 919 | [[package]] 920 | name = "crossbeam-channel" 921 | version = "0.5.13" 922 | source = "registry+https://github.com/rust-lang/crates.io-index" 923 | checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" 924 | dependencies = [ 925 | "crossbeam-utils", 926 | ] 927 | 928 | [[package]] 929 | name = "crossbeam-utils" 930 | version = "0.8.20" 931 | source = "registry+https://github.com/rust-lang/crates.io-index" 932 | checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" 933 | 934 | [[package]] 935 | name = "crunchy" 936 | version = "0.2.2" 937 | source = "registry+https://github.com/rust-lang/crates.io-index" 938 | checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" 939 | 940 | [[package]] 941 | name = "crypto-bigint" 942 | version = "0.4.9" 943 | source = "registry+https://github.com/rust-lang/crates.io-index" 944 | checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" 945 | dependencies = [ 946 | "generic-array", 947 | "rand_core", 948 | "subtle", 949 | "zeroize", 950 | ] 951 | 952 | [[package]] 953 | name = "crypto-bigint" 954 | version = "0.5.5" 955 | source = "registry+https://github.com/rust-lang/crates.io-index" 956 | checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" 957 | dependencies = [ 958 | "generic-array", 959 | "rand_core", 960 | "subtle", 961 | "zeroize", 962 | ] 963 | 964 | [[package]] 965 | name = "crypto-common" 966 | version = "0.1.6" 967 | source = "registry+https://github.com/rust-lang/crates.io-index" 968 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 969 | dependencies = [ 970 | "generic-array", 971 | "typenum", 972 | ] 973 | 974 | [[package]] 975 | name = "darling" 976 | version = "0.13.4" 977 | source = "registry+https://github.com/rust-lang/crates.io-index" 978 | checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" 979 | dependencies = [ 980 | "darling_core", 981 | "darling_macro", 982 | ] 983 | 984 | [[package]] 985 | name = "darling_core" 986 | version = "0.13.4" 987 | source = "registry+https://github.com/rust-lang/crates.io-index" 988 | checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" 989 | dependencies = [ 990 | "fnv", 991 | "ident_case", 992 | "proc-macro2", 993 | "quote", 994 | "strsim", 995 | "syn 1.0.109", 996 | ] 997 | 998 | [[package]] 999 | name = "darling_macro" 1000 | version = "0.13.4" 1001 | source = "registry+https://github.com/rust-lang/crates.io-index" 1002 | checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" 1003 | dependencies = [ 1004 | "darling_core", 1005 | "quote", 1006 | "syn 1.0.109", 1007 | ] 1008 | 1009 | [[package]] 1010 | name = "dashmap" 1011 | version = "5.5.3" 1012 | source = "registry+https://github.com/rust-lang/crates.io-index" 1013 | checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" 1014 | dependencies = [ 1015 | "cfg-if", 1016 | "hashbrown 0.14.5", 1017 | "lock_api", 1018 | "once_cell", 1019 | "parking_lot_core", 1020 | ] 1021 | 1022 | [[package]] 1023 | name = "debugid" 1024 | version = "0.8.0" 1025 | source = "registry+https://github.com/rust-lang/crates.io-index" 1026 | checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" 1027 | dependencies = [ 1028 | "serde", 1029 | "uuid", 1030 | ] 1031 | 1032 | [[package]] 1033 | name = "der" 1034 | version = "0.6.1" 1035 | source = "registry+https://github.com/rust-lang/crates.io-index" 1036 | checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" 1037 | dependencies = [ 1038 | "const-oid", 1039 | "zeroize", 1040 | ] 1041 | 1042 | [[package]] 1043 | name = "der" 1044 | version = "0.7.9" 1045 | source = "registry+https://github.com/rust-lang/crates.io-index" 1046 | checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" 1047 | dependencies = [ 1048 | "const-oid", 1049 | "zeroize", 1050 | ] 1051 | 1052 | [[package]] 1053 | name = "deranged" 1054 | version = "0.3.11" 1055 | source = "registry+https://github.com/rust-lang/crates.io-index" 1056 | checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" 1057 | dependencies = [ 1058 | "powerfmt", 1059 | ] 1060 | 1061 | [[package]] 1062 | name = "derivative" 1063 | version = "2.2.0" 1064 | source = "registry+https://github.com/rust-lang/crates.io-index" 1065 | checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" 1066 | dependencies = [ 1067 | "proc-macro2", 1068 | "quote", 1069 | "syn 1.0.109", 1070 | ] 1071 | 1072 | [[package]] 1073 | name = "derive_more" 1074 | version = "0.99.18" 1075 | source = "registry+https://github.com/rust-lang/crates.io-index" 1076 | checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" 1077 | dependencies = [ 1078 | "convert_case", 1079 | "proc-macro2", 1080 | "quote", 1081 | "rustc_version 0.4.0", 1082 | "syn 2.0.67", 1083 | ] 1084 | 1085 | [[package]] 1086 | name = "derive_more" 1087 | version = "1.0.0-beta.6" 1088 | source = "registry+https://github.com/rust-lang/crates.io-index" 1089 | checksum = "f7abbfc297053be59290e3152f8cbcd52c8642e0728b69ee187d991d4c1af08d" 1090 | dependencies = [ 1091 | "derive_more-impl", 1092 | ] 1093 | 1094 | [[package]] 1095 | name = "derive_more-impl" 1096 | version = "1.0.0-beta.6" 1097 | source = "registry+https://github.com/rust-lang/crates.io-index" 1098 | checksum = "2bba3e9872d7c58ce7ef0fcf1844fcc3e23ef2a58377b50df35dd98e42a5726e" 1099 | dependencies = [ 1100 | "proc-macro2", 1101 | "quote", 1102 | "syn 2.0.67", 1103 | "unicode-xid", 1104 | ] 1105 | 1106 | [[package]] 1107 | name = "digest" 1108 | version = "0.9.0" 1109 | source = "registry+https://github.com/rust-lang/crates.io-index" 1110 | checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" 1111 | dependencies = [ 1112 | "generic-array", 1113 | ] 1114 | 1115 | [[package]] 1116 | name = "digest" 1117 | version = "0.10.7" 1118 | source = "registry+https://github.com/rust-lang/crates.io-index" 1119 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 1120 | dependencies = [ 1121 | "block-buffer", 1122 | "const-oid", 1123 | "crypto-common", 1124 | "subtle", 1125 | ] 1126 | 1127 | [[package]] 1128 | name = "dotenv" 1129 | version = "0.15.0" 1130 | source = "registry+https://github.com/rust-lang/crates.io-index" 1131 | checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" 1132 | 1133 | [[package]] 1134 | name = "dtoa" 1135 | version = "1.0.9" 1136 | source = "registry+https://github.com/rust-lang/crates.io-index" 1137 | checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" 1138 | 1139 | [[package]] 1140 | name = "dunce" 1141 | version = "1.0.4" 1142 | source = "registry+https://github.com/rust-lang/crates.io-index" 1143 | checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" 1144 | 1145 | [[package]] 1146 | name = "ecdsa" 1147 | version = "0.14.8" 1148 | source = "registry+https://github.com/rust-lang/crates.io-index" 1149 | checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" 1150 | dependencies = [ 1151 | "der 0.6.1", 1152 | "elliptic-curve 0.12.3", 1153 | "rfc6979 0.3.1", 1154 | "signature 1.6.4", 1155 | ] 1156 | 1157 | [[package]] 1158 | name = "ecdsa" 1159 | version = "0.16.9" 1160 | source = "registry+https://github.com/rust-lang/crates.io-index" 1161 | checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" 1162 | dependencies = [ 1163 | "der 0.7.9", 1164 | "digest 0.10.7", 1165 | "elliptic-curve 0.13.8", 1166 | "rfc6979 0.4.0", 1167 | "signature 2.2.0", 1168 | "spki 0.7.3", 1169 | ] 1170 | 1171 | [[package]] 1172 | name = "either" 1173 | version = "1.12.0" 1174 | source = "registry+https://github.com/rust-lang/crates.io-index" 1175 | checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" 1176 | 1177 | [[package]] 1178 | name = "elliptic-curve" 1179 | version = "0.12.3" 1180 | source = "registry+https://github.com/rust-lang/crates.io-index" 1181 | checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" 1182 | dependencies = [ 1183 | "base16ct 0.1.1", 1184 | "crypto-bigint 0.4.9", 1185 | "der 0.6.1", 1186 | "digest 0.10.7", 1187 | "ff 0.12.1", 1188 | "generic-array", 1189 | "group 0.12.1", 1190 | "pkcs8 0.9.0", 1191 | "rand_core", 1192 | "sec1 0.3.0", 1193 | "subtle", 1194 | "zeroize", 1195 | ] 1196 | 1197 | [[package]] 1198 | name = "elliptic-curve" 1199 | version = "0.13.8" 1200 | source = "registry+https://github.com/rust-lang/crates.io-index" 1201 | checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" 1202 | dependencies = [ 1203 | "base16ct 0.2.0", 1204 | "crypto-bigint 0.5.5", 1205 | "digest 0.10.7", 1206 | "ff 0.13.0", 1207 | "generic-array", 1208 | "group 0.13.0", 1209 | "pkcs8 0.10.2", 1210 | "rand_core", 1211 | "sec1 0.7.3", 1212 | "subtle", 1213 | "zeroize", 1214 | ] 1215 | 1216 | [[package]] 1217 | name = "elsa" 1218 | version = "1.10.0" 1219 | source = "registry+https://github.com/rust-lang/crates.io-index" 1220 | checksum = "d98e71ae4df57d214182a2e5cb90230c0192c6ddfcaa05c36453d46a54713e10" 1221 | dependencies = [ 1222 | "stable_deref_trait", 1223 | ] 1224 | 1225 | [[package]] 1226 | name = "encoding_rs" 1227 | version = "0.8.34" 1228 | source = "registry+https://github.com/rust-lang/crates.io-index" 1229 | checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" 1230 | dependencies = [ 1231 | "cfg-if", 1232 | ] 1233 | 1234 | [[package]] 1235 | name = "envy" 1236 | version = "0.4.2" 1237 | source = "registry+https://github.com/rust-lang/crates.io-index" 1238 | checksum = "3f47e0157f2cb54f5ae1bd371b30a2ae4311e1c028f575cd4e81de7353215965" 1239 | dependencies = [ 1240 | "serde", 1241 | ] 1242 | 1243 | [[package]] 1244 | name = "equivalent" 1245 | version = "1.0.1" 1246 | source = "registry+https://github.com/rust-lang/crates.io-index" 1247 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 1248 | 1249 | [[package]] 1250 | name = "errno" 1251 | version = "0.3.9" 1252 | source = "registry+https://github.com/rust-lang/crates.io-index" 1253 | checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" 1254 | dependencies = [ 1255 | "libc", 1256 | "windows-sys 0.52.0", 1257 | ] 1258 | 1259 | [[package]] 1260 | name = "ethabi" 1261 | version = "18.0.0" 1262 | source = "registry+https://github.com/rust-lang/crates.io-index" 1263 | checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" 1264 | dependencies = [ 1265 | "ethereum-types", 1266 | "hex", 1267 | "once_cell", 1268 | "regex", 1269 | "serde", 1270 | "serde_json", 1271 | "sha3 0.10.8", 1272 | "thiserror", 1273 | "uint", 1274 | ] 1275 | 1276 | [[package]] 1277 | name = "ethbloom" 1278 | version = "0.13.0" 1279 | source = "registry+https://github.com/rust-lang/crates.io-index" 1280 | checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" 1281 | dependencies = [ 1282 | "crunchy", 1283 | "fixed-hash", 1284 | "impl-rlp", 1285 | "impl-serde", 1286 | "tiny-keccak", 1287 | ] 1288 | 1289 | [[package]] 1290 | name = "ethereum-types" 1291 | version = "0.14.1" 1292 | source = "registry+https://github.com/rust-lang/crates.io-index" 1293 | checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" 1294 | dependencies = [ 1295 | "ethbloom", 1296 | "fixed-hash", 1297 | "impl-rlp", 1298 | "impl-serde", 1299 | "primitive-types", 1300 | "uint", 1301 | ] 1302 | 1303 | [[package]] 1304 | name = "eyre" 1305 | version = "0.6.12" 1306 | source = "registry+https://github.com/rust-lang/crates.io-index" 1307 | checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" 1308 | dependencies = [ 1309 | "indenter", 1310 | "once_cell", 1311 | ] 1312 | 1313 | [[package]] 1314 | name = "fastrand" 1315 | version = "2.1.0" 1316 | source = "registry+https://github.com/rust-lang/crates.io-index" 1317 | checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" 1318 | 1319 | [[package]] 1320 | name = "fastrlp" 1321 | version = "0.3.1" 1322 | source = "registry+https://github.com/rust-lang/crates.io-index" 1323 | checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" 1324 | dependencies = [ 1325 | "arrayvec", 1326 | "auto_impl", 1327 | "bytes", 1328 | ] 1329 | 1330 | [[package]] 1331 | name = "ff" 1332 | version = "0.12.1" 1333 | source = "registry+https://github.com/rust-lang/crates.io-index" 1334 | checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" 1335 | dependencies = [ 1336 | "rand_core", 1337 | "subtle", 1338 | ] 1339 | 1340 | [[package]] 1341 | name = "ff" 1342 | version = "0.13.0" 1343 | source = "registry+https://github.com/rust-lang/crates.io-index" 1344 | checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" 1345 | dependencies = [ 1346 | "rand_core", 1347 | "subtle", 1348 | ] 1349 | 1350 | [[package]] 1351 | name = "findshlibs" 1352 | version = "0.10.2" 1353 | source = "registry+https://github.com/rust-lang/crates.io-index" 1354 | checksum = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64" 1355 | dependencies = [ 1356 | "cc", 1357 | "lazy_static", 1358 | "libc", 1359 | "winapi", 1360 | ] 1361 | 1362 | [[package]] 1363 | name = "fixed-hash" 1364 | version = "0.8.0" 1365 | source = "registry+https://github.com/rust-lang/crates.io-index" 1366 | checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" 1367 | dependencies = [ 1368 | "byteorder", 1369 | "rand", 1370 | "rustc-hex", 1371 | "static_assertions", 1372 | ] 1373 | 1374 | [[package]] 1375 | name = "fixedbitset" 1376 | version = "0.4.2" 1377 | source = "registry+https://github.com/rust-lang/crates.io-index" 1378 | checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" 1379 | 1380 | [[package]] 1381 | name = "fnv" 1382 | version = "1.0.7" 1383 | source = "registry+https://github.com/rust-lang/crates.io-index" 1384 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 1385 | 1386 | [[package]] 1387 | name = "foreign-types" 1388 | version = "0.3.2" 1389 | source = "registry+https://github.com/rust-lang/crates.io-index" 1390 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 1391 | dependencies = [ 1392 | "foreign-types-shared", 1393 | ] 1394 | 1395 | [[package]] 1396 | name = "foreign-types-shared" 1397 | version = "0.1.1" 1398 | source = "registry+https://github.com/rust-lang/crates.io-index" 1399 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 1400 | 1401 | [[package]] 1402 | name = "form_urlencoded" 1403 | version = "1.2.1" 1404 | source = "registry+https://github.com/rust-lang/crates.io-index" 1405 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 1406 | dependencies = [ 1407 | "percent-encoding", 1408 | ] 1409 | 1410 | [[package]] 1411 | name = "funty" 1412 | version = "2.0.0" 1413 | source = "registry+https://github.com/rust-lang/crates.io-index" 1414 | checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" 1415 | 1416 | [[package]] 1417 | name = "futures" 1418 | version = "0.3.30" 1419 | source = "registry+https://github.com/rust-lang/crates.io-index" 1420 | checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" 1421 | dependencies = [ 1422 | "futures-channel", 1423 | "futures-core", 1424 | "futures-executor", 1425 | "futures-io", 1426 | "futures-sink", 1427 | "futures-task", 1428 | "futures-util", 1429 | ] 1430 | 1431 | [[package]] 1432 | name = "futures-channel" 1433 | version = "0.3.30" 1434 | source = "registry+https://github.com/rust-lang/crates.io-index" 1435 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" 1436 | dependencies = [ 1437 | "futures-core", 1438 | "futures-sink", 1439 | ] 1440 | 1441 | [[package]] 1442 | name = "futures-core" 1443 | version = "0.3.30" 1444 | source = "registry+https://github.com/rust-lang/crates.io-index" 1445 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 1446 | 1447 | [[package]] 1448 | name = "futures-executor" 1449 | version = "0.3.30" 1450 | source = "registry+https://github.com/rust-lang/crates.io-index" 1451 | checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" 1452 | dependencies = [ 1453 | "futures-core", 1454 | "futures-task", 1455 | "futures-util", 1456 | ] 1457 | 1458 | [[package]] 1459 | name = "futures-io" 1460 | version = "0.3.30" 1461 | source = "registry+https://github.com/rust-lang/crates.io-index" 1462 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" 1463 | 1464 | [[package]] 1465 | name = "futures-macro" 1466 | version = "0.3.30" 1467 | source = "registry+https://github.com/rust-lang/crates.io-index" 1468 | checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" 1469 | dependencies = [ 1470 | "proc-macro2", 1471 | "quote", 1472 | "syn 2.0.67", 1473 | ] 1474 | 1475 | [[package]] 1476 | name = "futures-sink" 1477 | version = "0.3.30" 1478 | source = "registry+https://github.com/rust-lang/crates.io-index" 1479 | checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" 1480 | 1481 | [[package]] 1482 | name = "futures-task" 1483 | version = "0.3.30" 1484 | source = "registry+https://github.com/rust-lang/crates.io-index" 1485 | checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" 1486 | 1487 | [[package]] 1488 | name = "futures-util" 1489 | version = "0.3.30" 1490 | source = "registry+https://github.com/rust-lang/crates.io-index" 1491 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" 1492 | dependencies = [ 1493 | "futures-channel", 1494 | "futures-core", 1495 | "futures-io", 1496 | "futures-macro", 1497 | "futures-sink", 1498 | "futures-task", 1499 | "memchr", 1500 | "pin-project-lite", 1501 | "pin-utils", 1502 | "slab", 1503 | ] 1504 | 1505 | [[package]] 1506 | name = "futures-utils-wasm" 1507 | version = "0.1.0" 1508 | source = "registry+https://github.com/rust-lang/crates.io-index" 1509 | checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" 1510 | 1511 | [[package]] 1512 | name = "generic-array" 1513 | version = "0.14.7" 1514 | source = "registry+https://github.com/rust-lang/crates.io-index" 1515 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 1516 | dependencies = [ 1517 | "typenum", 1518 | "version_check", 1519 | "zeroize", 1520 | ] 1521 | 1522 | [[package]] 1523 | name = "getrandom" 1524 | version = "0.2.15" 1525 | source = "registry+https://github.com/rust-lang/crates.io-index" 1526 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" 1527 | dependencies = [ 1528 | "cfg-if", 1529 | "libc", 1530 | "wasi", 1531 | ] 1532 | 1533 | [[package]] 1534 | name = "gimli" 1535 | version = "0.29.0" 1536 | source = "registry+https://github.com/rust-lang/crates.io-index" 1537 | checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" 1538 | 1539 | [[package]] 1540 | name = "glob" 1541 | version = "0.3.1" 1542 | source = "registry+https://github.com/rust-lang/crates.io-index" 1543 | checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" 1544 | 1545 | [[package]] 1546 | name = "group" 1547 | version = "0.12.1" 1548 | source = "registry+https://github.com/rust-lang/crates.io-index" 1549 | checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" 1550 | dependencies = [ 1551 | "ff 0.12.1", 1552 | "rand_core", 1553 | "subtle", 1554 | ] 1555 | 1556 | [[package]] 1557 | name = "group" 1558 | version = "0.13.0" 1559 | source = "registry+https://github.com/rust-lang/crates.io-index" 1560 | checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" 1561 | dependencies = [ 1562 | "ff 0.13.0", 1563 | "rand_core", 1564 | "subtle", 1565 | ] 1566 | 1567 | [[package]] 1568 | name = "h2" 1569 | version = "0.3.26" 1570 | source = "registry+https://github.com/rust-lang/crates.io-index" 1571 | checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" 1572 | dependencies = [ 1573 | "bytes", 1574 | "fnv", 1575 | "futures-core", 1576 | "futures-sink", 1577 | "futures-util", 1578 | "http 0.2.12", 1579 | "indexmap 2.2.6", 1580 | "slab", 1581 | "tokio", 1582 | "tokio-util", 1583 | "tracing", 1584 | ] 1585 | 1586 | [[package]] 1587 | name = "h2" 1588 | version = "0.4.5" 1589 | source = "registry+https://github.com/rust-lang/crates.io-index" 1590 | checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" 1591 | dependencies = [ 1592 | "atomic-waker", 1593 | "bytes", 1594 | "fnv", 1595 | "futures-core", 1596 | "futures-sink", 1597 | "http 1.1.0", 1598 | "indexmap 2.2.6", 1599 | "slab", 1600 | "tokio", 1601 | "tokio-util", 1602 | "tracing", 1603 | ] 1604 | 1605 | [[package]] 1606 | name = "hashbrown" 1607 | version = "0.12.3" 1608 | source = "registry+https://github.com/rust-lang/crates.io-index" 1609 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 1610 | 1611 | [[package]] 1612 | name = "hashbrown" 1613 | version = "0.14.5" 1614 | source = "registry+https://github.com/rust-lang/crates.io-index" 1615 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 1616 | dependencies = [ 1617 | "ahash", 1618 | "allocator-api2", 1619 | ] 1620 | 1621 | [[package]] 1622 | name = "heck" 1623 | version = "0.4.1" 1624 | source = "registry+https://github.com/rust-lang/crates.io-index" 1625 | checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 1626 | 1627 | [[package]] 1628 | name = "heck" 1629 | version = "0.5.0" 1630 | source = "registry+https://github.com/rust-lang/crates.io-index" 1631 | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 1632 | 1633 | [[package]] 1634 | name = "hermit-abi" 1635 | version = "0.3.9" 1636 | source = "registry+https://github.com/rust-lang/crates.io-index" 1637 | checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" 1638 | 1639 | [[package]] 1640 | name = "hex" 1641 | version = "0.4.3" 1642 | source = "registry+https://github.com/rust-lang/crates.io-index" 1643 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 1644 | dependencies = [ 1645 | "serde", 1646 | ] 1647 | 1648 | [[package]] 1649 | name = "hex-literal" 1650 | version = "0.4.1" 1651 | source = "registry+https://github.com/rust-lang/crates.io-index" 1652 | checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" 1653 | 1654 | [[package]] 1655 | name = "hmac" 1656 | version = "0.12.1" 1657 | source = "registry+https://github.com/rust-lang/crates.io-index" 1658 | checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" 1659 | dependencies = [ 1660 | "digest 0.10.7", 1661 | ] 1662 | 1663 | [[package]] 1664 | name = "hostname" 1665 | version = "0.3.1" 1666 | source = "registry+https://github.com/rust-lang/crates.io-index" 1667 | checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" 1668 | dependencies = [ 1669 | "libc", 1670 | "match_cfg", 1671 | "winapi", 1672 | ] 1673 | 1674 | [[package]] 1675 | name = "http" 1676 | version = "0.2.12" 1677 | source = "registry+https://github.com/rust-lang/crates.io-index" 1678 | checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" 1679 | dependencies = [ 1680 | "bytes", 1681 | "fnv", 1682 | "itoa", 1683 | ] 1684 | 1685 | [[package]] 1686 | name = "http" 1687 | version = "1.1.0" 1688 | source = "registry+https://github.com/rust-lang/crates.io-index" 1689 | checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" 1690 | dependencies = [ 1691 | "bytes", 1692 | "fnv", 1693 | "itoa", 1694 | ] 1695 | 1696 | [[package]] 1697 | name = "http-body" 1698 | version = "0.4.6" 1699 | source = "registry+https://github.com/rust-lang/crates.io-index" 1700 | checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" 1701 | dependencies = [ 1702 | "bytes", 1703 | "http 0.2.12", 1704 | "pin-project-lite", 1705 | ] 1706 | 1707 | [[package]] 1708 | name = "http-body" 1709 | version = "1.0.0" 1710 | source = "registry+https://github.com/rust-lang/crates.io-index" 1711 | checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" 1712 | dependencies = [ 1713 | "bytes", 1714 | "http 1.1.0", 1715 | ] 1716 | 1717 | [[package]] 1718 | name = "http-body-util" 1719 | version = "0.1.2" 1720 | source = "registry+https://github.com/rust-lang/crates.io-index" 1721 | checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" 1722 | dependencies = [ 1723 | "bytes", 1724 | "futures-util", 1725 | "http 1.1.0", 1726 | "http-body 1.0.0", 1727 | "pin-project-lite", 1728 | ] 1729 | 1730 | [[package]] 1731 | name = "httparse" 1732 | version = "1.9.4" 1733 | source = "registry+https://github.com/rust-lang/crates.io-index" 1734 | checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" 1735 | 1736 | [[package]] 1737 | name = "httpdate" 1738 | version = "1.0.3" 1739 | source = "registry+https://github.com/rust-lang/crates.io-index" 1740 | checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 1741 | 1742 | [[package]] 1743 | name = "hyper" 1744 | version = "0.14.29" 1745 | source = "registry+https://github.com/rust-lang/crates.io-index" 1746 | checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" 1747 | dependencies = [ 1748 | "bytes", 1749 | "futures-channel", 1750 | "futures-core", 1751 | "futures-util", 1752 | "h2 0.3.26", 1753 | "http 0.2.12", 1754 | "http-body 0.4.6", 1755 | "httparse", 1756 | "httpdate", 1757 | "itoa", 1758 | "pin-project-lite", 1759 | "socket2", 1760 | "tokio", 1761 | "tower-service", 1762 | "tracing", 1763 | "want", 1764 | ] 1765 | 1766 | [[package]] 1767 | name = "hyper" 1768 | version = "1.3.1" 1769 | source = "registry+https://github.com/rust-lang/crates.io-index" 1770 | checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" 1771 | dependencies = [ 1772 | "bytes", 1773 | "futures-channel", 1774 | "futures-util", 1775 | "h2 0.4.5", 1776 | "http 1.1.0", 1777 | "http-body 1.0.0", 1778 | "httparse", 1779 | "itoa", 1780 | "pin-project-lite", 1781 | "smallvec", 1782 | "tokio", 1783 | "want", 1784 | ] 1785 | 1786 | [[package]] 1787 | name = "hyper-rustls" 1788 | version = "0.27.2" 1789 | source = "registry+https://github.com/rust-lang/crates.io-index" 1790 | checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" 1791 | dependencies = [ 1792 | "futures-util", 1793 | "http 1.1.0", 1794 | "hyper 1.3.1", 1795 | "hyper-util", 1796 | "rustls", 1797 | "rustls-pki-types", 1798 | "tokio", 1799 | "tokio-rustls", 1800 | "tower-service", 1801 | ] 1802 | 1803 | [[package]] 1804 | name = "hyper-timeout" 1805 | version = "0.4.1" 1806 | source = "registry+https://github.com/rust-lang/crates.io-index" 1807 | checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" 1808 | dependencies = [ 1809 | "hyper 0.14.29", 1810 | "pin-project-lite", 1811 | "tokio", 1812 | "tokio-io-timeout", 1813 | ] 1814 | 1815 | [[package]] 1816 | name = "hyper-tls" 1817 | version = "0.5.0" 1818 | source = "registry+https://github.com/rust-lang/crates.io-index" 1819 | checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" 1820 | dependencies = [ 1821 | "bytes", 1822 | "hyper 0.14.29", 1823 | "native-tls", 1824 | "tokio", 1825 | "tokio-native-tls", 1826 | ] 1827 | 1828 | [[package]] 1829 | name = "hyper-tls" 1830 | version = "0.6.0" 1831 | source = "registry+https://github.com/rust-lang/crates.io-index" 1832 | checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" 1833 | dependencies = [ 1834 | "bytes", 1835 | "http-body-util", 1836 | "hyper 1.3.1", 1837 | "hyper-util", 1838 | "native-tls", 1839 | "tokio", 1840 | "tokio-native-tls", 1841 | "tower-service", 1842 | ] 1843 | 1844 | [[package]] 1845 | name = "hyper-util" 1846 | version = "0.1.5" 1847 | source = "registry+https://github.com/rust-lang/crates.io-index" 1848 | checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" 1849 | dependencies = [ 1850 | "bytes", 1851 | "futures-channel", 1852 | "futures-util", 1853 | "http 1.1.0", 1854 | "http-body 1.0.0", 1855 | "hyper 1.3.1", 1856 | "pin-project-lite", 1857 | "socket2", 1858 | "tokio", 1859 | "tower", 1860 | "tower-service", 1861 | "tracing", 1862 | ] 1863 | 1864 | [[package]] 1865 | name = "iana-time-zone" 1866 | version = "0.1.60" 1867 | source = "registry+https://github.com/rust-lang/crates.io-index" 1868 | checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" 1869 | dependencies = [ 1870 | "android_system_properties", 1871 | "core-foundation-sys", 1872 | "iana-time-zone-haiku", 1873 | "js-sys", 1874 | "wasm-bindgen", 1875 | "windows-core", 1876 | ] 1877 | 1878 | [[package]] 1879 | name = "iana-time-zone-haiku" 1880 | version = "0.1.2" 1881 | source = "registry+https://github.com/rust-lang/crates.io-index" 1882 | checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 1883 | dependencies = [ 1884 | "cc", 1885 | ] 1886 | 1887 | [[package]] 1888 | name = "ident_case" 1889 | version = "1.0.1" 1890 | source = "registry+https://github.com/rust-lang/crates.io-index" 1891 | checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 1892 | 1893 | [[package]] 1894 | name = "idna" 1895 | version = "0.5.0" 1896 | source = "registry+https://github.com/rust-lang/crates.io-index" 1897 | checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" 1898 | dependencies = [ 1899 | "unicode-bidi", 1900 | "unicode-normalization", 1901 | ] 1902 | 1903 | [[package]] 1904 | name = "impl-codec" 1905 | version = "0.6.0" 1906 | source = "registry+https://github.com/rust-lang/crates.io-index" 1907 | checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" 1908 | dependencies = [ 1909 | "parity-scale-codec", 1910 | ] 1911 | 1912 | [[package]] 1913 | name = "impl-rlp" 1914 | version = "0.3.0" 1915 | source = "registry+https://github.com/rust-lang/crates.io-index" 1916 | checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" 1917 | dependencies = [ 1918 | "rlp", 1919 | ] 1920 | 1921 | [[package]] 1922 | name = "impl-serde" 1923 | version = "0.4.0" 1924 | source = "registry+https://github.com/rust-lang/crates.io-index" 1925 | checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" 1926 | dependencies = [ 1927 | "serde", 1928 | ] 1929 | 1930 | [[package]] 1931 | name = "impl-trait-for-tuples" 1932 | version = "0.2.2" 1933 | source = "registry+https://github.com/rust-lang/crates.io-index" 1934 | checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" 1935 | dependencies = [ 1936 | "proc-macro2", 1937 | "quote", 1938 | "syn 1.0.109", 1939 | ] 1940 | 1941 | [[package]] 1942 | name = "indenter" 1943 | version = "0.3.3" 1944 | source = "registry+https://github.com/rust-lang/crates.io-index" 1945 | checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" 1946 | 1947 | [[package]] 1948 | name = "indexmap" 1949 | version = "1.9.3" 1950 | source = "registry+https://github.com/rust-lang/crates.io-index" 1951 | checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 1952 | dependencies = [ 1953 | "autocfg", 1954 | "hashbrown 0.12.3", 1955 | ] 1956 | 1957 | [[package]] 1958 | name = "indexmap" 1959 | version = "2.2.6" 1960 | source = "registry+https://github.com/rust-lang/crates.io-index" 1961 | checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" 1962 | dependencies = [ 1963 | "equivalent", 1964 | "hashbrown 0.14.5", 1965 | ] 1966 | 1967 | [[package]] 1968 | name = "ipnet" 1969 | version = "2.9.0" 1970 | source = "registry+https://github.com/rust-lang/crates.io-index" 1971 | checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" 1972 | 1973 | [[package]] 1974 | name = "itertools" 1975 | version = "0.10.5" 1976 | source = "registry+https://github.com/rust-lang/crates.io-index" 1977 | checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" 1978 | dependencies = [ 1979 | "either", 1980 | ] 1981 | 1982 | [[package]] 1983 | name = "itertools" 1984 | version = "0.12.1" 1985 | source = "registry+https://github.com/rust-lang/crates.io-index" 1986 | checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" 1987 | dependencies = [ 1988 | "either", 1989 | ] 1990 | 1991 | [[package]] 1992 | name = "itoa" 1993 | version = "1.0.11" 1994 | source = "registry+https://github.com/rust-lang/crates.io-index" 1995 | checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 1996 | 1997 | [[package]] 1998 | name = "js-sys" 1999 | version = "0.3.69" 2000 | source = "registry+https://github.com/rust-lang/crates.io-index" 2001 | checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" 2002 | dependencies = [ 2003 | "wasm-bindgen", 2004 | ] 2005 | 2006 | [[package]] 2007 | name = "k256" 2008 | version = "0.11.6" 2009 | source = "registry+https://github.com/rust-lang/crates.io-index" 2010 | checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" 2011 | dependencies = [ 2012 | "cfg-if", 2013 | "ecdsa 0.14.8", 2014 | "elliptic-curve 0.12.3", 2015 | "sha2 0.10.8", 2016 | ] 2017 | 2018 | [[package]] 2019 | name = "k256" 2020 | version = "0.13.3" 2021 | source = "registry+https://github.com/rust-lang/crates.io-index" 2022 | checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" 2023 | dependencies = [ 2024 | "cfg-if", 2025 | "ecdsa 0.16.9", 2026 | "elliptic-curve 0.13.8", 2027 | "once_cell", 2028 | "sha2 0.10.8", 2029 | ] 2030 | 2031 | [[package]] 2032 | name = "keccak" 2033 | version = "0.1.5" 2034 | source = "registry+https://github.com/rust-lang/crates.io-index" 2035 | checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" 2036 | dependencies = [ 2037 | "cpufeatures", 2038 | ] 2039 | 2040 | [[package]] 2041 | name = "keccak-asm" 2042 | version = "0.1.1" 2043 | source = "registry+https://github.com/rust-lang/crates.io-index" 2044 | checksum = "47a3633291834c4fbebf8673acbc1b04ec9d151418ff9b8e26dcd79129928758" 2045 | dependencies = [ 2046 | "digest 0.10.7", 2047 | "sha3-asm", 2048 | ] 2049 | 2050 | [[package]] 2051 | name = "lazy_static" 2052 | version = "1.5.0" 2053 | source = "registry+https://github.com/rust-lang/crates.io-index" 2054 | checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 2055 | 2056 | [[package]] 2057 | name = "libc" 2058 | version = "0.2.155" 2059 | source = "registry+https://github.com/rust-lang/crates.io-index" 2060 | checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" 2061 | 2062 | [[package]] 2063 | name = "libm" 2064 | version = "0.2.8" 2065 | source = "registry+https://github.com/rust-lang/crates.io-index" 2066 | checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" 2067 | 2068 | [[package]] 2069 | name = "linkme" 2070 | version = "0.3.27" 2071 | source = "registry+https://github.com/rust-lang/crates.io-index" 2072 | checksum = "ccb76662d78edc9f9bf56360d6919bdacc8b7761227727e5082f128eeb90bbf5" 2073 | dependencies = [ 2074 | "linkme-impl", 2075 | ] 2076 | 2077 | [[package]] 2078 | name = "linkme-impl" 2079 | version = "0.3.27" 2080 | source = "registry+https://github.com/rust-lang/crates.io-index" 2081 | checksum = "f8dccda732e04fa3baf2e17cf835bfe2601c7c2edafd64417c627dabae3a8cda" 2082 | dependencies = [ 2083 | "proc-macro2", 2084 | "quote", 2085 | "syn 2.0.67", 2086 | ] 2087 | 2088 | [[package]] 2089 | name = "linux-raw-sys" 2090 | version = "0.4.14" 2091 | source = "registry+https://github.com/rust-lang/crates.io-index" 2092 | checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" 2093 | 2094 | [[package]] 2095 | name = "lock_api" 2096 | version = "0.4.12" 2097 | source = "registry+https://github.com/rust-lang/crates.io-index" 2098 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 2099 | dependencies = [ 2100 | "autocfg", 2101 | "scopeguard", 2102 | ] 2103 | 2104 | [[package]] 2105 | name = "log" 2106 | version = "0.4.21" 2107 | source = "registry+https://github.com/rust-lang/crates.io-index" 2108 | checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" 2109 | 2110 | [[package]] 2111 | name = "logos" 2112 | version = "0.13.0" 2113 | source = "registry+https://github.com/rust-lang/crates.io-index" 2114 | checksum = "c000ca4d908ff18ac99b93a062cb8958d331c3220719c52e77cb19cc6ac5d2c1" 2115 | dependencies = [ 2116 | "logos-derive", 2117 | ] 2118 | 2119 | [[package]] 2120 | name = "logos-codegen" 2121 | version = "0.13.0" 2122 | source = "registry+https://github.com/rust-lang/crates.io-index" 2123 | checksum = "dc487311295e0002e452025d6b580b77bb17286de87b57138f3b5db711cded68" 2124 | dependencies = [ 2125 | "beef", 2126 | "fnv", 2127 | "proc-macro2", 2128 | "quote", 2129 | "regex-syntax 0.6.29", 2130 | "syn 2.0.67", 2131 | ] 2132 | 2133 | [[package]] 2134 | name = "logos-derive" 2135 | version = "0.13.0" 2136 | source = "registry+https://github.com/rust-lang/crates.io-index" 2137 | checksum = "dbfc0d229f1f42d790440136d941afd806bc9e949e2bcb8faa813b0f00d1267e" 2138 | dependencies = [ 2139 | "logos-codegen", 2140 | ] 2141 | 2142 | [[package]] 2143 | name = "lru" 2144 | version = "0.12.3" 2145 | source = "registry+https://github.com/rust-lang/crates.io-index" 2146 | checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" 2147 | dependencies = [ 2148 | "hashbrown 0.14.5", 2149 | ] 2150 | 2151 | [[package]] 2152 | name = "match_cfg" 2153 | version = "0.1.0" 2154 | source = "registry+https://github.com/rust-lang/crates.io-index" 2155 | checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" 2156 | 2157 | [[package]] 2158 | name = "matchers" 2159 | version = "0.1.0" 2160 | source = "registry+https://github.com/rust-lang/crates.io-index" 2161 | checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" 2162 | dependencies = [ 2163 | "regex-automata 0.1.10", 2164 | ] 2165 | 2166 | [[package]] 2167 | name = "matchit" 2168 | version = "0.7.3" 2169 | source = "registry+https://github.com/rust-lang/crates.io-index" 2170 | checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" 2171 | 2172 | [[package]] 2173 | name = "memchr" 2174 | version = "2.7.4" 2175 | source = "registry+https://github.com/rust-lang/crates.io-index" 2176 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 2177 | 2178 | [[package]] 2179 | name = "miette" 2180 | version = "5.10.0" 2181 | source = "registry+https://github.com/rust-lang/crates.io-index" 2182 | checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" 2183 | dependencies = [ 2184 | "miette-derive", 2185 | "once_cell", 2186 | "thiserror", 2187 | "unicode-width", 2188 | ] 2189 | 2190 | [[package]] 2191 | name = "miette-derive" 2192 | version = "5.10.0" 2193 | source = "registry+https://github.com/rust-lang/crates.io-index" 2194 | checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" 2195 | dependencies = [ 2196 | "proc-macro2", 2197 | "quote", 2198 | "syn 2.0.67", 2199 | ] 2200 | 2201 | [[package]] 2202 | name = "mime" 2203 | version = "0.3.17" 2204 | source = "registry+https://github.com/rust-lang/crates.io-index" 2205 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 2206 | 2207 | [[package]] 2208 | name = "miniz_oxide" 2209 | version = "0.7.4" 2210 | source = "registry+https://github.com/rust-lang/crates.io-index" 2211 | checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" 2212 | dependencies = [ 2213 | "adler", 2214 | ] 2215 | 2216 | [[package]] 2217 | name = "mio" 2218 | version = "0.8.11" 2219 | source = "registry+https://github.com/rust-lang/crates.io-index" 2220 | checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" 2221 | dependencies = [ 2222 | "libc", 2223 | "wasi", 2224 | "windows-sys 0.48.0", 2225 | ] 2226 | 2227 | [[package]] 2228 | name = "multimap" 2229 | version = "0.10.0" 2230 | source = "registry+https://github.com/rust-lang/crates.io-index" 2231 | checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" 2232 | 2233 | [[package]] 2234 | name = "native-tls" 2235 | version = "0.2.12" 2236 | source = "registry+https://github.com/rust-lang/crates.io-index" 2237 | checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" 2238 | dependencies = [ 2239 | "libc", 2240 | "log", 2241 | "openssl", 2242 | "openssl-probe", 2243 | "openssl-sys", 2244 | "schannel", 2245 | "security-framework", 2246 | "security-framework-sys", 2247 | "tempfile", 2248 | ] 2249 | 2250 | [[package]] 2251 | name = "nu-ansi-term" 2252 | version = "0.46.0" 2253 | source = "registry+https://github.com/rust-lang/crates.io-index" 2254 | checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" 2255 | dependencies = [ 2256 | "overload", 2257 | "winapi", 2258 | ] 2259 | 2260 | [[package]] 2261 | name = "num" 2262 | version = "0.4.3" 2263 | source = "registry+https://github.com/rust-lang/crates.io-index" 2264 | checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" 2265 | dependencies = [ 2266 | "num-bigint", 2267 | "num-complex", 2268 | "num-integer", 2269 | "num-iter", 2270 | "num-rational", 2271 | "num-traits", 2272 | ] 2273 | 2274 | [[package]] 2275 | name = "num-bigint" 2276 | version = "0.4.5" 2277 | source = "registry+https://github.com/rust-lang/crates.io-index" 2278 | checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" 2279 | dependencies = [ 2280 | "num-integer", 2281 | "num-traits", 2282 | "serde", 2283 | ] 2284 | 2285 | [[package]] 2286 | name = "num-complex" 2287 | version = "0.4.6" 2288 | source = "registry+https://github.com/rust-lang/crates.io-index" 2289 | checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" 2290 | dependencies = [ 2291 | "num-traits", 2292 | "serde", 2293 | ] 2294 | 2295 | [[package]] 2296 | name = "num-conv" 2297 | version = "0.1.0" 2298 | source = "registry+https://github.com/rust-lang/crates.io-index" 2299 | checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" 2300 | 2301 | [[package]] 2302 | name = "num-integer" 2303 | version = "0.1.46" 2304 | source = "registry+https://github.com/rust-lang/crates.io-index" 2305 | checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" 2306 | dependencies = [ 2307 | "num-traits", 2308 | ] 2309 | 2310 | [[package]] 2311 | name = "num-iter" 2312 | version = "0.1.45" 2313 | source = "registry+https://github.com/rust-lang/crates.io-index" 2314 | checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" 2315 | dependencies = [ 2316 | "autocfg", 2317 | "num-integer", 2318 | "num-traits", 2319 | ] 2320 | 2321 | [[package]] 2322 | name = "num-rational" 2323 | version = "0.4.2" 2324 | source = "registry+https://github.com/rust-lang/crates.io-index" 2325 | checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" 2326 | dependencies = [ 2327 | "num-bigint", 2328 | "num-integer", 2329 | "num-traits", 2330 | "serde", 2331 | ] 2332 | 2333 | [[package]] 2334 | name = "num-traits" 2335 | version = "0.2.19" 2336 | source = "registry+https://github.com/rust-lang/crates.io-index" 2337 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 2338 | dependencies = [ 2339 | "autocfg", 2340 | "libm", 2341 | ] 2342 | 2343 | [[package]] 2344 | name = "num_cpus" 2345 | version = "1.16.0" 2346 | source = "registry+https://github.com/rust-lang/crates.io-index" 2347 | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 2348 | dependencies = [ 2349 | "hermit-abi", 2350 | "libc", 2351 | ] 2352 | 2353 | [[package]] 2354 | name = "num_enum" 2355 | version = "0.6.1" 2356 | source = "registry+https://github.com/rust-lang/crates.io-index" 2357 | checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" 2358 | dependencies = [ 2359 | "num_enum_derive 0.6.1", 2360 | ] 2361 | 2362 | [[package]] 2363 | name = "num_enum" 2364 | version = "0.7.2" 2365 | source = "registry+https://github.com/rust-lang/crates.io-index" 2366 | checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" 2367 | dependencies = [ 2368 | "num_enum_derive 0.7.2", 2369 | ] 2370 | 2371 | [[package]] 2372 | name = "num_enum_derive" 2373 | version = "0.6.1" 2374 | source = "registry+https://github.com/rust-lang/crates.io-index" 2375 | checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" 2376 | dependencies = [ 2377 | "proc-macro-crate 1.3.1", 2378 | "proc-macro2", 2379 | "quote", 2380 | "syn 2.0.67", 2381 | ] 2382 | 2383 | [[package]] 2384 | name = "num_enum_derive" 2385 | version = "0.7.2" 2386 | source = "registry+https://github.com/rust-lang/crates.io-index" 2387 | checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" 2388 | dependencies = [ 2389 | "proc-macro-crate 3.1.0", 2390 | "proc-macro2", 2391 | "quote", 2392 | "syn 2.0.67", 2393 | ] 2394 | 2395 | [[package]] 2396 | name = "object" 2397 | version = "0.36.0" 2398 | source = "registry+https://github.com/rust-lang/crates.io-index" 2399 | checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" 2400 | dependencies = [ 2401 | "memchr", 2402 | ] 2403 | 2404 | [[package]] 2405 | name = "once_cell" 2406 | version = "1.19.0" 2407 | source = "registry+https://github.com/rust-lang/crates.io-index" 2408 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 2409 | 2410 | [[package]] 2411 | name = "openssl" 2412 | version = "0.10.64" 2413 | source = "registry+https://github.com/rust-lang/crates.io-index" 2414 | checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" 2415 | dependencies = [ 2416 | "bitflags 2.5.0", 2417 | "cfg-if", 2418 | "foreign-types", 2419 | "libc", 2420 | "once_cell", 2421 | "openssl-macros", 2422 | "openssl-sys", 2423 | ] 2424 | 2425 | [[package]] 2426 | name = "openssl-macros" 2427 | version = "0.1.1" 2428 | source = "registry+https://github.com/rust-lang/crates.io-index" 2429 | checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 2430 | dependencies = [ 2431 | "proc-macro2", 2432 | "quote", 2433 | "syn 2.0.67", 2434 | ] 2435 | 2436 | [[package]] 2437 | name = "openssl-probe" 2438 | version = "0.1.5" 2439 | source = "registry+https://github.com/rust-lang/crates.io-index" 2440 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 2441 | 2442 | [[package]] 2443 | name = "openssl-sys" 2444 | version = "0.9.102" 2445 | source = "registry+https://github.com/rust-lang/crates.io-index" 2446 | checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" 2447 | dependencies = [ 2448 | "cc", 2449 | "libc", 2450 | "pkg-config", 2451 | "vcpkg", 2452 | ] 2453 | 2454 | [[package]] 2455 | name = "opentelemetry" 2456 | version = "0.20.0" 2457 | source = "registry+https://github.com/rust-lang/crates.io-index" 2458 | checksum = "9591d937bc0e6d2feb6f71a559540ab300ea49955229c347a517a28d27784c54" 2459 | dependencies = [ 2460 | "opentelemetry_api", 2461 | "opentelemetry_sdk", 2462 | ] 2463 | 2464 | [[package]] 2465 | name = "opentelemetry-http" 2466 | version = "0.9.0" 2467 | source = "registry+https://github.com/rust-lang/crates.io-index" 2468 | checksum = "c7594ec0e11d8e33faf03530a4c49af7064ebba81c1480e01be67d90b356508b" 2469 | dependencies = [ 2470 | "async-trait", 2471 | "bytes", 2472 | "http 0.2.12", 2473 | "opentelemetry_api", 2474 | "reqwest 0.11.27", 2475 | ] 2476 | 2477 | [[package]] 2478 | name = "opentelemetry-otlp" 2479 | version = "0.13.0" 2480 | source = "registry+https://github.com/rust-lang/crates.io-index" 2481 | checksum = "7e5e5a5c4135864099f3faafbe939eb4d7f9b80ebf68a8448da961b32a7c1275" 2482 | dependencies = [ 2483 | "async-trait", 2484 | "futures-core", 2485 | "http 0.2.12", 2486 | "opentelemetry-http", 2487 | "opentelemetry-proto", 2488 | "opentelemetry-semantic-conventions", 2489 | "opentelemetry_api", 2490 | "opentelemetry_sdk", 2491 | "prost 0.11.9", 2492 | "reqwest 0.11.27", 2493 | "thiserror", 2494 | "tokio", 2495 | "tonic", 2496 | ] 2497 | 2498 | [[package]] 2499 | name = "opentelemetry-proto" 2500 | version = "0.3.0" 2501 | source = "registry+https://github.com/rust-lang/crates.io-index" 2502 | checksum = "b1e3f814aa9f8c905d0ee4bde026afd3b2577a97c10e1699912e3e44f0c4cbeb" 2503 | dependencies = [ 2504 | "opentelemetry_api", 2505 | "opentelemetry_sdk", 2506 | "prost 0.11.9", 2507 | "tonic", 2508 | ] 2509 | 2510 | [[package]] 2511 | name = "opentelemetry-semantic-conventions" 2512 | version = "0.12.0" 2513 | source = "registry+https://github.com/rust-lang/crates.io-index" 2514 | checksum = "73c9f9340ad135068800e7f1b24e9e09ed9e7143f5bf8518ded3d3ec69789269" 2515 | dependencies = [ 2516 | "opentelemetry", 2517 | ] 2518 | 2519 | [[package]] 2520 | name = "opentelemetry_api" 2521 | version = "0.20.0" 2522 | source = "registry+https://github.com/rust-lang/crates.io-index" 2523 | checksum = "8a81f725323db1b1206ca3da8bb19874bbd3f57c3bcd59471bfb04525b265b9b" 2524 | dependencies = [ 2525 | "futures-channel", 2526 | "futures-util", 2527 | "indexmap 1.9.3", 2528 | "js-sys", 2529 | "once_cell", 2530 | "pin-project-lite", 2531 | "thiserror", 2532 | "urlencoding", 2533 | ] 2534 | 2535 | [[package]] 2536 | name = "opentelemetry_sdk" 2537 | version = "0.20.0" 2538 | source = "registry+https://github.com/rust-lang/crates.io-index" 2539 | checksum = "fa8e705a0612d48139799fcbaba0d4a90f06277153e43dd2bdc16c6f0edd8026" 2540 | dependencies = [ 2541 | "async-trait", 2542 | "crossbeam-channel", 2543 | "futures-channel", 2544 | "futures-executor", 2545 | "futures-util", 2546 | "once_cell", 2547 | "opentelemetry_api", 2548 | "ordered-float 3.9.2", 2549 | "percent-encoding", 2550 | "rand", 2551 | "regex", 2552 | "serde_json", 2553 | "thiserror", 2554 | "tokio", 2555 | "tokio-stream", 2556 | ] 2557 | 2558 | [[package]] 2559 | name = "ordered-float" 2560 | version = "2.10.1" 2561 | source = "registry+https://github.com/rust-lang/crates.io-index" 2562 | checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" 2563 | dependencies = [ 2564 | "num-traits", 2565 | ] 2566 | 2567 | [[package]] 2568 | name = "ordered-float" 2569 | version = "3.9.2" 2570 | source = "registry+https://github.com/rust-lang/crates.io-index" 2571 | checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc" 2572 | dependencies = [ 2573 | "num-traits", 2574 | ] 2575 | 2576 | [[package]] 2577 | name = "os_info" 2578 | version = "3.8.2" 2579 | source = "registry+https://github.com/rust-lang/crates.io-index" 2580 | checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" 2581 | dependencies = [ 2582 | "log", 2583 | "serde", 2584 | "windows-sys 0.52.0", 2585 | ] 2586 | 2587 | [[package]] 2588 | name = "overload" 2589 | version = "0.1.1" 2590 | source = "registry+https://github.com/rust-lang/crates.io-index" 2591 | checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" 2592 | 2593 | [[package]] 2594 | name = "parity-scale-codec" 2595 | version = "3.6.12" 2596 | source = "registry+https://github.com/rust-lang/crates.io-index" 2597 | checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" 2598 | dependencies = [ 2599 | "arrayvec", 2600 | "bitvec", 2601 | "byte-slice-cast", 2602 | "impl-trait-for-tuples", 2603 | "parity-scale-codec-derive", 2604 | "serde", 2605 | ] 2606 | 2607 | [[package]] 2608 | name = "parity-scale-codec-derive" 2609 | version = "3.6.12" 2610 | source = "registry+https://github.com/rust-lang/crates.io-index" 2611 | checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" 2612 | dependencies = [ 2613 | "proc-macro-crate 3.1.0", 2614 | "proc-macro2", 2615 | "quote", 2616 | "syn 1.0.109", 2617 | ] 2618 | 2619 | [[package]] 2620 | name = "parking_lot" 2621 | version = "0.12.3" 2622 | source = "registry+https://github.com/rust-lang/crates.io-index" 2623 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 2624 | dependencies = [ 2625 | "lock_api", 2626 | "parking_lot_core", 2627 | ] 2628 | 2629 | [[package]] 2630 | name = "parking_lot_core" 2631 | version = "0.9.10" 2632 | source = "registry+https://github.com/rust-lang/crates.io-index" 2633 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 2634 | dependencies = [ 2635 | "cfg-if", 2636 | "libc", 2637 | "redox_syscall", 2638 | "smallvec", 2639 | "windows-targets 0.52.5", 2640 | ] 2641 | 2642 | [[package]] 2643 | name = "paste" 2644 | version = "1.0.15" 2645 | source = "registry+https://github.com/rust-lang/crates.io-index" 2646 | checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" 2647 | 2648 | [[package]] 2649 | name = "percent-encoding" 2650 | version = "2.3.1" 2651 | source = "registry+https://github.com/rust-lang/crates.io-index" 2652 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 2653 | 2654 | [[package]] 2655 | name = "pest" 2656 | version = "2.7.10" 2657 | source = "registry+https://github.com/rust-lang/crates.io-index" 2658 | checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" 2659 | dependencies = [ 2660 | "memchr", 2661 | "thiserror", 2662 | "ucd-trie", 2663 | ] 2664 | 2665 | [[package]] 2666 | name = "petgraph" 2667 | version = "0.6.5" 2668 | source = "registry+https://github.com/rust-lang/crates.io-index" 2669 | checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" 2670 | dependencies = [ 2671 | "fixedbitset", 2672 | "indexmap 2.2.6", 2673 | ] 2674 | 2675 | [[package]] 2676 | name = "pin-project" 2677 | version = "1.1.5" 2678 | source = "registry+https://github.com/rust-lang/crates.io-index" 2679 | checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" 2680 | dependencies = [ 2681 | "pin-project-internal", 2682 | ] 2683 | 2684 | [[package]] 2685 | name = "pin-project-internal" 2686 | version = "1.1.5" 2687 | source = "registry+https://github.com/rust-lang/crates.io-index" 2688 | checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" 2689 | dependencies = [ 2690 | "proc-macro2", 2691 | "quote", 2692 | "syn 2.0.67", 2693 | ] 2694 | 2695 | [[package]] 2696 | name = "pin-project-lite" 2697 | version = "0.2.14" 2698 | source = "registry+https://github.com/rust-lang/crates.io-index" 2699 | checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" 2700 | 2701 | [[package]] 2702 | name = "pin-utils" 2703 | version = "0.1.0" 2704 | source = "registry+https://github.com/rust-lang/crates.io-index" 2705 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 2706 | 2707 | [[package]] 2708 | name = "pkcs8" 2709 | version = "0.9.0" 2710 | source = "registry+https://github.com/rust-lang/crates.io-index" 2711 | checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" 2712 | dependencies = [ 2713 | "der 0.6.1", 2714 | "spki 0.6.0", 2715 | ] 2716 | 2717 | [[package]] 2718 | name = "pkcs8" 2719 | version = "0.10.2" 2720 | source = "registry+https://github.com/rust-lang/crates.io-index" 2721 | checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" 2722 | dependencies = [ 2723 | "der 0.7.9", 2724 | "spki 0.7.3", 2725 | ] 2726 | 2727 | [[package]] 2728 | name = "pkg-config" 2729 | version = "0.3.30" 2730 | source = "registry+https://github.com/rust-lang/crates.io-index" 2731 | checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" 2732 | 2733 | [[package]] 2734 | name = "powerfmt" 2735 | version = "0.2.0" 2736 | source = "registry+https://github.com/rust-lang/crates.io-index" 2737 | checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 2738 | 2739 | [[package]] 2740 | name = "ppv-lite86" 2741 | version = "0.2.17" 2742 | source = "registry+https://github.com/rust-lang/crates.io-index" 2743 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 2744 | 2745 | [[package]] 2746 | name = "prettyplease" 2747 | version = "0.2.20" 2748 | source = "registry+https://github.com/rust-lang/crates.io-index" 2749 | checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" 2750 | dependencies = [ 2751 | "proc-macro2", 2752 | "syn 2.0.67", 2753 | ] 2754 | 2755 | [[package]] 2756 | name = "primitive-types" 2757 | version = "0.12.2" 2758 | source = "registry+https://github.com/rust-lang/crates.io-index" 2759 | checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" 2760 | dependencies = [ 2761 | "fixed-hash", 2762 | "impl-codec", 2763 | "impl-rlp", 2764 | "impl-serde", 2765 | "uint", 2766 | ] 2767 | 2768 | [[package]] 2769 | name = "proc-macro-crate" 2770 | version = "1.3.1" 2771 | source = "registry+https://github.com/rust-lang/crates.io-index" 2772 | checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" 2773 | dependencies = [ 2774 | "once_cell", 2775 | "toml_edit 0.19.15", 2776 | ] 2777 | 2778 | [[package]] 2779 | name = "proc-macro-crate" 2780 | version = "3.1.0" 2781 | source = "registry+https://github.com/rust-lang/crates.io-index" 2782 | checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" 2783 | dependencies = [ 2784 | "toml_edit 0.21.1", 2785 | ] 2786 | 2787 | [[package]] 2788 | name = "proc-macro-error" 2789 | version = "1.0.4" 2790 | source = "registry+https://github.com/rust-lang/crates.io-index" 2791 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 2792 | dependencies = [ 2793 | "proc-macro-error-attr", 2794 | "proc-macro2", 2795 | "quote", 2796 | "syn 1.0.109", 2797 | "version_check", 2798 | ] 2799 | 2800 | [[package]] 2801 | name = "proc-macro-error-attr" 2802 | version = "1.0.4" 2803 | source = "registry+https://github.com/rust-lang/crates.io-index" 2804 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 2805 | dependencies = [ 2806 | "proc-macro2", 2807 | "quote", 2808 | "version_check", 2809 | ] 2810 | 2811 | [[package]] 2812 | name = "proc-macro2" 2813 | version = "1.0.86" 2814 | source = "registry+https://github.com/rust-lang/crates.io-index" 2815 | checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" 2816 | dependencies = [ 2817 | "unicode-ident", 2818 | ] 2819 | 2820 | [[package]] 2821 | name = "prometheus-client" 2822 | version = "0.22.2" 2823 | source = "registry+https://github.com/rust-lang/crates.io-index" 2824 | checksum = "c1ca959da22a332509f2a73ae9e5f23f9dcfc31fd3a54d71f159495bd5909baa" 2825 | dependencies = [ 2826 | "dtoa", 2827 | "itoa", 2828 | "parking_lot", 2829 | "prometheus-client-derive-encode", 2830 | ] 2831 | 2832 | [[package]] 2833 | name = "prometheus-client-derive-encode" 2834 | version = "0.4.2" 2835 | source = "registry+https://github.com/rust-lang/crates.io-index" 2836 | checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" 2837 | dependencies = [ 2838 | "proc-macro2", 2839 | "quote", 2840 | "syn 2.0.67", 2841 | ] 2842 | 2843 | [[package]] 2844 | name = "proptest" 2845 | version = "1.5.0" 2846 | source = "registry+https://github.com/rust-lang/crates.io-index" 2847 | checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" 2848 | dependencies = [ 2849 | "bit-set", 2850 | "bit-vec", 2851 | "bitflags 2.5.0", 2852 | "lazy_static", 2853 | "num-traits", 2854 | "rand", 2855 | "rand_chacha", 2856 | "rand_xorshift", 2857 | "regex-syntax 0.8.4", 2858 | "rusty-fork", 2859 | "tempfile", 2860 | "unarray", 2861 | ] 2862 | 2863 | [[package]] 2864 | name = "prost" 2865 | version = "0.11.9" 2866 | source = "registry+https://github.com/rust-lang/crates.io-index" 2867 | checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" 2868 | dependencies = [ 2869 | "bytes", 2870 | "prost-derive 0.11.9", 2871 | ] 2872 | 2873 | [[package]] 2874 | name = "prost" 2875 | version = "0.12.6" 2876 | source = "registry+https://github.com/rust-lang/crates.io-index" 2877 | checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" 2878 | dependencies = [ 2879 | "bytes", 2880 | "prost-derive 0.12.6", 2881 | ] 2882 | 2883 | [[package]] 2884 | name = "prost-build" 2885 | version = "0.12.6" 2886 | source = "registry+https://github.com/rust-lang/crates.io-index" 2887 | checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" 2888 | dependencies = [ 2889 | "bytes", 2890 | "heck 0.5.0", 2891 | "itertools 0.10.5", 2892 | "log", 2893 | "multimap", 2894 | "once_cell", 2895 | "petgraph", 2896 | "prettyplease", 2897 | "prost 0.12.6", 2898 | "prost-types", 2899 | "regex", 2900 | "syn 2.0.67", 2901 | "tempfile", 2902 | ] 2903 | 2904 | [[package]] 2905 | name = "prost-derive" 2906 | version = "0.11.9" 2907 | source = "registry+https://github.com/rust-lang/crates.io-index" 2908 | checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" 2909 | dependencies = [ 2910 | "anyhow", 2911 | "itertools 0.10.5", 2912 | "proc-macro2", 2913 | "quote", 2914 | "syn 1.0.109", 2915 | ] 2916 | 2917 | [[package]] 2918 | name = "prost-derive" 2919 | version = "0.12.6" 2920 | source = "registry+https://github.com/rust-lang/crates.io-index" 2921 | checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" 2922 | dependencies = [ 2923 | "anyhow", 2924 | "itertools 0.10.5", 2925 | "proc-macro2", 2926 | "quote", 2927 | "syn 2.0.67", 2928 | ] 2929 | 2930 | [[package]] 2931 | name = "prost-reflect" 2932 | version = "0.12.0" 2933 | source = "registry+https://github.com/rust-lang/crates.io-index" 2934 | checksum = "057237efdb71cf4b3f9396302a3d6599a92fa94063ba537b66130980ea9909f3" 2935 | dependencies = [ 2936 | "base64 0.21.7", 2937 | "logos", 2938 | "miette", 2939 | "once_cell", 2940 | "prost 0.12.6", 2941 | "prost-types", 2942 | "serde", 2943 | "serde-value", 2944 | ] 2945 | 2946 | [[package]] 2947 | name = "prost-types" 2948 | version = "0.12.6" 2949 | source = "registry+https://github.com/rust-lang/crates.io-index" 2950 | checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" 2951 | dependencies = [ 2952 | "prost 0.12.6", 2953 | ] 2954 | 2955 | [[package]] 2956 | name = "protox" 2957 | version = "0.5.1" 2958 | source = "registry+https://github.com/rust-lang/crates.io-index" 2959 | checksum = "00bb76c5f6221de491fe2c8f39b106330bbd9762c6511119c07940e10eb9ff11" 2960 | dependencies = [ 2961 | "bytes", 2962 | "miette", 2963 | "prost 0.12.6", 2964 | "prost-reflect", 2965 | "prost-types", 2966 | "protox-parse", 2967 | "thiserror", 2968 | ] 2969 | 2970 | [[package]] 2971 | name = "protox-parse" 2972 | version = "0.5.0" 2973 | source = "registry+https://github.com/rust-lang/crates.io-index" 2974 | checksum = "7b4581f441c58863525a3e6bec7b8de98188cf75239a56c725a3e7288450a33f" 2975 | dependencies = [ 2976 | "logos", 2977 | "miette", 2978 | "prost-types", 2979 | "thiserror", 2980 | ] 2981 | 2982 | [[package]] 2983 | name = "quick-error" 2984 | version = "1.2.3" 2985 | source = "registry+https://github.com/rust-lang/crates.io-index" 2986 | checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" 2987 | 2988 | [[package]] 2989 | name = "quick-protobuf" 2990 | version = "0.8.1" 2991 | source = "registry+https://github.com/rust-lang/crates.io-index" 2992 | checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" 2993 | dependencies = [ 2994 | "byteorder", 2995 | ] 2996 | 2997 | [[package]] 2998 | name = "quote" 2999 | version = "1.0.36" 3000 | source = "registry+https://github.com/rust-lang/crates.io-index" 3001 | checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" 3002 | dependencies = [ 3003 | "proc-macro2", 3004 | ] 3005 | 3006 | [[package]] 3007 | name = "radium" 3008 | version = "0.7.0" 3009 | source = "registry+https://github.com/rust-lang/crates.io-index" 3010 | checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" 3011 | 3012 | [[package]] 3013 | name = "rand" 3014 | version = "0.8.5" 3015 | source = "registry+https://github.com/rust-lang/crates.io-index" 3016 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 3017 | dependencies = [ 3018 | "libc", 3019 | "rand_chacha", 3020 | "rand_core", 3021 | ] 3022 | 3023 | [[package]] 3024 | name = "rand_chacha" 3025 | version = "0.3.1" 3026 | source = "registry+https://github.com/rust-lang/crates.io-index" 3027 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 3028 | dependencies = [ 3029 | "ppv-lite86", 3030 | "rand_core", 3031 | ] 3032 | 3033 | [[package]] 3034 | name = "rand_core" 3035 | version = "0.6.4" 3036 | source = "registry+https://github.com/rust-lang/crates.io-index" 3037 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 3038 | dependencies = [ 3039 | "getrandom", 3040 | ] 3041 | 3042 | [[package]] 3043 | name = "rand_xorshift" 3044 | version = "0.3.0" 3045 | source = "registry+https://github.com/rust-lang/crates.io-index" 3046 | checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" 3047 | dependencies = [ 3048 | "rand_core", 3049 | ] 3050 | 3051 | [[package]] 3052 | name = "redox_syscall" 3053 | version = "0.5.2" 3054 | source = "registry+https://github.com/rust-lang/crates.io-index" 3055 | checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" 3056 | dependencies = [ 3057 | "bitflags 2.5.0", 3058 | ] 3059 | 3060 | [[package]] 3061 | name = "regex" 3062 | version = "1.10.5" 3063 | source = "registry+https://github.com/rust-lang/crates.io-index" 3064 | checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" 3065 | dependencies = [ 3066 | "aho-corasick", 3067 | "memchr", 3068 | "regex-automata 0.4.7", 3069 | "regex-syntax 0.8.4", 3070 | ] 3071 | 3072 | [[package]] 3073 | name = "regex-automata" 3074 | version = "0.1.10" 3075 | source = "registry+https://github.com/rust-lang/crates.io-index" 3076 | checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" 3077 | dependencies = [ 3078 | "regex-syntax 0.6.29", 3079 | ] 3080 | 3081 | [[package]] 3082 | name = "regex-automata" 3083 | version = "0.4.7" 3084 | source = "registry+https://github.com/rust-lang/crates.io-index" 3085 | checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" 3086 | dependencies = [ 3087 | "aho-corasick", 3088 | "memchr", 3089 | "regex-syntax 0.8.4", 3090 | ] 3091 | 3092 | [[package]] 3093 | name = "regex-syntax" 3094 | version = "0.6.29" 3095 | source = "registry+https://github.com/rust-lang/crates.io-index" 3096 | checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" 3097 | 3098 | [[package]] 3099 | name = "regex-syntax" 3100 | version = "0.8.4" 3101 | source = "registry+https://github.com/rust-lang/crates.io-index" 3102 | checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" 3103 | 3104 | [[package]] 3105 | name = "reqwest" 3106 | version = "0.11.27" 3107 | source = "registry+https://github.com/rust-lang/crates.io-index" 3108 | checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" 3109 | dependencies = [ 3110 | "base64 0.21.7", 3111 | "bytes", 3112 | "encoding_rs", 3113 | "futures-core", 3114 | "futures-util", 3115 | "h2 0.3.26", 3116 | "http 0.2.12", 3117 | "http-body 0.4.6", 3118 | "hyper 0.14.29", 3119 | "hyper-tls 0.5.0", 3120 | "ipnet", 3121 | "js-sys", 3122 | "log", 3123 | "mime", 3124 | "native-tls", 3125 | "once_cell", 3126 | "percent-encoding", 3127 | "pin-project-lite", 3128 | "rustls-pemfile 1.0.4", 3129 | "serde", 3130 | "serde_json", 3131 | "serde_urlencoded", 3132 | "sync_wrapper 0.1.2", 3133 | "system-configuration", 3134 | "tokio", 3135 | "tokio-native-tls", 3136 | "tower-service", 3137 | "url", 3138 | "wasm-bindgen", 3139 | "wasm-bindgen-futures", 3140 | "web-sys", 3141 | "winreg 0.50.0", 3142 | ] 3143 | 3144 | [[package]] 3145 | name = "reqwest" 3146 | version = "0.12.5" 3147 | source = "registry+https://github.com/rust-lang/crates.io-index" 3148 | checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" 3149 | dependencies = [ 3150 | "base64 0.22.1", 3151 | "bytes", 3152 | "encoding_rs", 3153 | "futures-core", 3154 | "futures-util", 3155 | "h2 0.4.5", 3156 | "http 1.1.0", 3157 | "http-body 1.0.0", 3158 | "http-body-util", 3159 | "hyper 1.3.1", 3160 | "hyper-rustls", 3161 | "hyper-tls 0.6.0", 3162 | "hyper-util", 3163 | "ipnet", 3164 | "js-sys", 3165 | "log", 3166 | "mime", 3167 | "native-tls", 3168 | "once_cell", 3169 | "percent-encoding", 3170 | "pin-project-lite", 3171 | "rustls-pemfile 2.1.2", 3172 | "serde", 3173 | "serde_json", 3174 | "serde_urlencoded", 3175 | "sync_wrapper 1.0.1", 3176 | "system-configuration", 3177 | "tokio", 3178 | "tokio-native-tls", 3179 | "tower-service", 3180 | "url", 3181 | "wasm-bindgen", 3182 | "wasm-bindgen-futures", 3183 | "web-sys", 3184 | "winreg 0.52.0", 3185 | ] 3186 | 3187 | [[package]] 3188 | name = "rfc6979" 3189 | version = "0.3.1" 3190 | source = "registry+https://github.com/rust-lang/crates.io-index" 3191 | checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" 3192 | dependencies = [ 3193 | "crypto-bigint 0.4.9", 3194 | "hmac", 3195 | "zeroize", 3196 | ] 3197 | 3198 | [[package]] 3199 | name = "rfc6979" 3200 | version = "0.4.0" 3201 | source = "registry+https://github.com/rust-lang/crates.io-index" 3202 | checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" 3203 | dependencies = [ 3204 | "hmac", 3205 | "subtle", 3206 | ] 3207 | 3208 | [[package]] 3209 | name = "ring" 3210 | version = "0.17.8" 3211 | source = "registry+https://github.com/rust-lang/crates.io-index" 3212 | checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" 3213 | dependencies = [ 3214 | "cc", 3215 | "cfg-if", 3216 | "getrandom", 3217 | "libc", 3218 | "spin", 3219 | "untrusted", 3220 | "windows-sys 0.52.0", 3221 | ] 3222 | 3223 | [[package]] 3224 | name = "rlp" 3225 | version = "0.5.2" 3226 | source = "registry+https://github.com/rust-lang/crates.io-index" 3227 | checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" 3228 | dependencies = [ 3229 | "bytes", 3230 | "rustc-hex", 3231 | ] 3232 | 3233 | [[package]] 3234 | name = "ruint" 3235 | version = "1.12.3" 3236 | source = "registry+https://github.com/rust-lang/crates.io-index" 3237 | checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" 3238 | dependencies = [ 3239 | "alloy-rlp", 3240 | "ark-ff 0.3.0", 3241 | "ark-ff 0.4.2", 3242 | "bytes", 3243 | "fastrlp", 3244 | "num-bigint", 3245 | "num-traits", 3246 | "parity-scale-codec", 3247 | "primitive-types", 3248 | "proptest", 3249 | "rand", 3250 | "rlp", 3251 | "ruint-macro", 3252 | "serde", 3253 | "valuable", 3254 | "zeroize", 3255 | ] 3256 | 3257 | [[package]] 3258 | name = "ruint-macro" 3259 | version = "1.2.1" 3260 | source = "registry+https://github.com/rust-lang/crates.io-index" 3261 | checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" 3262 | 3263 | [[package]] 3264 | name = "rustc-demangle" 3265 | version = "0.1.24" 3266 | source = "registry+https://github.com/rust-lang/crates.io-index" 3267 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 3268 | 3269 | [[package]] 3270 | name = "rustc-hex" 3271 | version = "2.1.0" 3272 | source = "registry+https://github.com/rust-lang/crates.io-index" 3273 | checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" 3274 | 3275 | [[package]] 3276 | name = "rustc_version" 3277 | version = "0.3.3" 3278 | source = "registry+https://github.com/rust-lang/crates.io-index" 3279 | checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" 3280 | dependencies = [ 3281 | "semver 0.11.0", 3282 | ] 3283 | 3284 | [[package]] 3285 | name = "rustc_version" 3286 | version = "0.4.0" 3287 | source = "registry+https://github.com/rust-lang/crates.io-index" 3288 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 3289 | dependencies = [ 3290 | "semver 1.0.23", 3291 | ] 3292 | 3293 | [[package]] 3294 | name = "rustix" 3295 | version = "0.38.34" 3296 | source = "registry+https://github.com/rust-lang/crates.io-index" 3297 | checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" 3298 | dependencies = [ 3299 | "bitflags 2.5.0", 3300 | "errno", 3301 | "libc", 3302 | "linux-raw-sys", 3303 | "windows-sys 0.52.0", 3304 | ] 3305 | 3306 | [[package]] 3307 | name = "rustls" 3308 | version = "0.23.10" 3309 | source = "registry+https://github.com/rust-lang/crates.io-index" 3310 | checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402" 3311 | dependencies = [ 3312 | "once_cell", 3313 | "rustls-pki-types", 3314 | "rustls-webpki", 3315 | "subtle", 3316 | "zeroize", 3317 | ] 3318 | 3319 | [[package]] 3320 | name = "rustls-pemfile" 3321 | version = "1.0.4" 3322 | source = "registry+https://github.com/rust-lang/crates.io-index" 3323 | checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" 3324 | dependencies = [ 3325 | "base64 0.21.7", 3326 | ] 3327 | 3328 | [[package]] 3329 | name = "rustls-pemfile" 3330 | version = "2.1.2" 3331 | source = "registry+https://github.com/rust-lang/crates.io-index" 3332 | checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" 3333 | dependencies = [ 3334 | "base64 0.22.1", 3335 | "rustls-pki-types", 3336 | ] 3337 | 3338 | [[package]] 3339 | name = "rustls-pki-types" 3340 | version = "1.7.0" 3341 | source = "registry+https://github.com/rust-lang/crates.io-index" 3342 | checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" 3343 | 3344 | [[package]] 3345 | name = "rustls-webpki" 3346 | version = "0.102.4" 3347 | source = "registry+https://github.com/rust-lang/crates.io-index" 3348 | checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" 3349 | dependencies = [ 3350 | "ring", 3351 | "rustls-pki-types", 3352 | "untrusted", 3353 | ] 3354 | 3355 | [[package]] 3356 | name = "rustversion" 3357 | version = "1.0.17" 3358 | source = "registry+https://github.com/rust-lang/crates.io-index" 3359 | checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" 3360 | 3361 | [[package]] 3362 | name = "rusty-fork" 3363 | version = "0.3.0" 3364 | source = "registry+https://github.com/rust-lang/crates.io-index" 3365 | checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" 3366 | dependencies = [ 3367 | "fnv", 3368 | "quick-error", 3369 | "tempfile", 3370 | "wait-timeout", 3371 | ] 3372 | 3373 | [[package]] 3374 | name = "ryu" 3375 | version = "1.0.18" 3376 | source = "registry+https://github.com/rust-lang/crates.io-index" 3377 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" 3378 | 3379 | [[package]] 3380 | name = "schannel" 3381 | version = "0.1.23" 3382 | source = "registry+https://github.com/rust-lang/crates.io-index" 3383 | checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" 3384 | dependencies = [ 3385 | "windows-sys 0.52.0", 3386 | ] 3387 | 3388 | [[package]] 3389 | name = "scopeguard" 3390 | version = "1.2.0" 3391 | source = "registry+https://github.com/rust-lang/crates.io-index" 3392 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 3393 | 3394 | [[package]] 3395 | name = "sec1" 3396 | version = "0.3.0" 3397 | source = "registry+https://github.com/rust-lang/crates.io-index" 3398 | checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" 3399 | dependencies = [ 3400 | "base16ct 0.1.1", 3401 | "der 0.6.1", 3402 | "generic-array", 3403 | "pkcs8 0.9.0", 3404 | "subtle", 3405 | "zeroize", 3406 | ] 3407 | 3408 | [[package]] 3409 | name = "sec1" 3410 | version = "0.7.3" 3411 | source = "registry+https://github.com/rust-lang/crates.io-index" 3412 | checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" 3413 | dependencies = [ 3414 | "base16ct 0.2.0", 3415 | "der 0.7.9", 3416 | "generic-array", 3417 | "pkcs8 0.10.2", 3418 | "subtle", 3419 | "zeroize", 3420 | ] 3421 | 3422 | [[package]] 3423 | name = "secp256k1" 3424 | version = "0.27.0" 3425 | source = "registry+https://github.com/rust-lang/crates.io-index" 3426 | checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" 3427 | dependencies = [ 3428 | "secp256k1-sys", 3429 | ] 3430 | 3431 | [[package]] 3432 | name = "secp256k1-sys" 3433 | version = "0.8.1" 3434 | source = "registry+https://github.com/rust-lang/crates.io-index" 3435 | checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" 3436 | dependencies = [ 3437 | "cc", 3438 | ] 3439 | 3440 | [[package]] 3441 | name = "secrecy" 3442 | version = "0.8.0" 3443 | source = "registry+https://github.com/rust-lang/crates.io-index" 3444 | checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" 3445 | dependencies = [ 3446 | "zeroize", 3447 | ] 3448 | 3449 | [[package]] 3450 | name = "security-framework" 3451 | version = "2.11.0" 3452 | source = "registry+https://github.com/rust-lang/crates.io-index" 3453 | checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" 3454 | dependencies = [ 3455 | "bitflags 2.5.0", 3456 | "core-foundation", 3457 | "core-foundation-sys", 3458 | "libc", 3459 | "security-framework-sys", 3460 | ] 3461 | 3462 | [[package]] 3463 | name = "security-framework-sys" 3464 | version = "2.11.0" 3465 | source = "registry+https://github.com/rust-lang/crates.io-index" 3466 | checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" 3467 | dependencies = [ 3468 | "core-foundation-sys", 3469 | "libc", 3470 | ] 3471 | 3472 | [[package]] 3473 | name = "semver" 3474 | version = "0.11.0" 3475 | source = "registry+https://github.com/rust-lang/crates.io-index" 3476 | checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" 3477 | dependencies = [ 3478 | "semver-parser", 3479 | ] 3480 | 3481 | [[package]] 3482 | name = "semver" 3483 | version = "1.0.23" 3484 | source = "registry+https://github.com/rust-lang/crates.io-index" 3485 | checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" 3486 | 3487 | [[package]] 3488 | name = "semver-parser" 3489 | version = "0.10.2" 3490 | source = "registry+https://github.com/rust-lang/crates.io-index" 3491 | checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" 3492 | dependencies = [ 3493 | "pest", 3494 | ] 3495 | 3496 | [[package]] 3497 | name = "sentry" 3498 | version = "0.31.8" 3499 | source = "registry+https://github.com/rust-lang/crates.io-index" 3500 | checksum = "6ce4b57f1b521f674df7a1d200be8ff5d74e3712020ee25b553146657b5377d5" 3501 | dependencies = [ 3502 | "httpdate", 3503 | "native-tls", 3504 | "reqwest 0.11.27", 3505 | "sentry-backtrace", 3506 | "sentry-contexts", 3507 | "sentry-core", 3508 | "sentry-debug-images", 3509 | "sentry-panic", 3510 | "sentry-tracing", 3511 | "tokio", 3512 | "ureq", 3513 | ] 3514 | 3515 | [[package]] 3516 | name = "sentry-backtrace" 3517 | version = "0.31.8" 3518 | source = "registry+https://github.com/rust-lang/crates.io-index" 3519 | checksum = "58cc8d4e04a73de8f718dc703943666d03f25d3e9e4d0fb271ca0b8c76dfa00e" 3520 | dependencies = [ 3521 | "backtrace", 3522 | "once_cell", 3523 | "regex", 3524 | "sentry-core", 3525 | ] 3526 | 3527 | [[package]] 3528 | name = "sentry-contexts" 3529 | version = "0.31.8" 3530 | source = "registry+https://github.com/rust-lang/crates.io-index" 3531 | checksum = "6436c1bad22cdeb02179ea8ef116ffc217797c028927def303bc593d9320c0d1" 3532 | dependencies = [ 3533 | "hostname", 3534 | "libc", 3535 | "os_info", 3536 | "rustc_version 0.4.0", 3537 | "sentry-core", 3538 | "uname", 3539 | ] 3540 | 3541 | [[package]] 3542 | name = "sentry-core" 3543 | version = "0.31.8" 3544 | source = "registry+https://github.com/rust-lang/crates.io-index" 3545 | checksum = "901f761681f97db3db836ef9e094acdd8756c40215326c194201941947164ef1" 3546 | dependencies = [ 3547 | "once_cell", 3548 | "rand", 3549 | "sentry-types", 3550 | "serde", 3551 | "serde_json", 3552 | ] 3553 | 3554 | [[package]] 3555 | name = "sentry-debug-images" 3556 | version = "0.31.8" 3557 | source = "registry+https://github.com/rust-lang/crates.io-index" 3558 | checksum = "afdb263e73d22f39946f6022ed455b7561b22ff5553aca9be3c6a047fa39c328" 3559 | dependencies = [ 3560 | "findshlibs", 3561 | "once_cell", 3562 | "sentry-core", 3563 | ] 3564 | 3565 | [[package]] 3566 | name = "sentry-panic" 3567 | version = "0.31.8" 3568 | source = "registry+https://github.com/rust-lang/crates.io-index" 3569 | checksum = "74fbf1c163f8b6a9d05912e1b272afa27c652e8b47ea60cb9a57ad5e481eea99" 3570 | dependencies = [ 3571 | "sentry-backtrace", 3572 | "sentry-core", 3573 | ] 3574 | 3575 | [[package]] 3576 | name = "sentry-tracing" 3577 | version = "0.31.8" 3578 | source = "registry+https://github.com/rust-lang/crates.io-index" 3579 | checksum = "82eabcab0a047040befd44599a1da73d3adb228ff53b5ed9795ae04535577704" 3580 | dependencies = [ 3581 | "sentry-backtrace", 3582 | "sentry-core", 3583 | "tracing-core", 3584 | "tracing-subscriber", 3585 | ] 3586 | 3587 | [[package]] 3588 | name = "sentry-types" 3589 | version = "0.31.8" 3590 | source = "registry+https://github.com/rust-lang/crates.io-index" 3591 | checksum = "da956cca56e0101998c8688bc65ce1a96f00673a0e58e663664023d4c7911e82" 3592 | dependencies = [ 3593 | "debugid", 3594 | "hex", 3595 | "rand", 3596 | "serde", 3597 | "serde_json", 3598 | "thiserror", 3599 | "time", 3600 | "url", 3601 | "uuid", 3602 | ] 3603 | 3604 | [[package]] 3605 | name = "serde" 3606 | version = "1.0.203" 3607 | source = "registry+https://github.com/rust-lang/crates.io-index" 3608 | checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" 3609 | dependencies = [ 3610 | "serde_derive", 3611 | ] 3612 | 3613 | [[package]] 3614 | name = "serde-value" 3615 | version = "0.7.0" 3616 | source = "registry+https://github.com/rust-lang/crates.io-index" 3617 | checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" 3618 | dependencies = [ 3619 | "ordered-float 2.10.1", 3620 | "serde", 3621 | ] 3622 | 3623 | [[package]] 3624 | name = "serde_derive" 3625 | version = "1.0.203" 3626 | source = "registry+https://github.com/rust-lang/crates.io-index" 3627 | checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" 3628 | dependencies = [ 3629 | "proc-macro2", 3630 | "quote", 3631 | "syn 2.0.67", 3632 | ] 3633 | 3634 | [[package]] 3635 | name = "serde_json" 3636 | version = "1.0.117" 3637 | source = "registry+https://github.com/rust-lang/crates.io-index" 3638 | checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" 3639 | dependencies = [ 3640 | "itoa", 3641 | "ryu", 3642 | "serde", 3643 | ] 3644 | 3645 | [[package]] 3646 | name = "serde_urlencoded" 3647 | version = "0.7.1" 3648 | source = "registry+https://github.com/rust-lang/crates.io-index" 3649 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 3650 | dependencies = [ 3651 | "form_urlencoded", 3652 | "itoa", 3653 | "ryu", 3654 | "serde", 3655 | ] 3656 | 3657 | [[package]] 3658 | name = "serde_with" 3659 | version = "1.14.0" 3660 | source = "registry+https://github.com/rust-lang/crates.io-index" 3661 | checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" 3662 | dependencies = [ 3663 | "serde", 3664 | "serde_with_macros", 3665 | ] 3666 | 3667 | [[package]] 3668 | name = "serde_with_macros" 3669 | version = "1.5.2" 3670 | source = "registry+https://github.com/rust-lang/crates.io-index" 3671 | checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" 3672 | dependencies = [ 3673 | "darling", 3674 | "proc-macro2", 3675 | "quote", 3676 | "syn 1.0.109", 3677 | ] 3678 | 3679 | [[package]] 3680 | name = "serde_yaml" 3681 | version = "0.9.34+deprecated" 3682 | source = "registry+https://github.com/rust-lang/crates.io-index" 3683 | checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" 3684 | dependencies = [ 3685 | "indexmap 2.2.6", 3686 | "itoa", 3687 | "ryu", 3688 | "serde", 3689 | "unsafe-libyaml", 3690 | ] 3691 | 3692 | [[package]] 3693 | name = "sha2" 3694 | version = "0.10.6" 3695 | source = "git+https://github.com/RustCrypto/hashes.git?rev=1731ced4a116d61ba9dc6ee6d0f38fb8102e357a#1731ced4a116d61ba9dc6ee6d0f38fb8102e357a" 3696 | dependencies = [ 3697 | "cfg-if", 3698 | "cpufeatures", 3699 | "digest 0.10.7", 3700 | ] 3701 | 3702 | [[package]] 3703 | name = "sha2" 3704 | version = "0.10.8" 3705 | source = "registry+https://github.com/rust-lang/crates.io-index" 3706 | checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 3707 | dependencies = [ 3708 | "cfg-if", 3709 | "cpufeatures", 3710 | "digest 0.10.7", 3711 | ] 3712 | 3713 | [[package]] 3714 | name = "sha3" 3715 | version = "0.10.6" 3716 | source = "git+https://github.com/RustCrypto/hashes.git?rev=7a187e934c1f6c68e4b4e5cf37541b7a0d64d303#7a187e934c1f6c68e4b4e5cf37541b7a0d64d303" 3717 | dependencies = [ 3718 | "digest 0.10.7", 3719 | "keccak", 3720 | ] 3721 | 3722 | [[package]] 3723 | name = "sha3" 3724 | version = "0.10.8" 3725 | source = "registry+https://github.com/rust-lang/crates.io-index" 3726 | checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" 3727 | dependencies = [ 3728 | "digest 0.10.7", 3729 | "keccak", 3730 | ] 3731 | 3732 | [[package]] 3733 | name = "sha3-asm" 3734 | version = "0.1.1" 3735 | source = "registry+https://github.com/rust-lang/crates.io-index" 3736 | checksum = "a9b57fd861253bff08bb1919e995f90ba8f4889de2726091c8876f3a4e823b40" 3737 | dependencies = [ 3738 | "cc", 3739 | "cfg-if", 3740 | ] 3741 | 3742 | [[package]] 3743 | name = "sharded-slab" 3744 | version = "0.1.7" 3745 | source = "registry+https://github.com/rust-lang/crates.io-index" 3746 | checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 3747 | dependencies = [ 3748 | "lazy_static", 3749 | ] 3750 | 3751 | [[package]] 3752 | name = "signal-hook-registry" 3753 | version = "1.4.2" 3754 | source = "registry+https://github.com/rust-lang/crates.io-index" 3755 | checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" 3756 | dependencies = [ 3757 | "libc", 3758 | ] 3759 | 3760 | [[package]] 3761 | name = "signature" 3762 | version = "1.6.4" 3763 | source = "registry+https://github.com/rust-lang/crates.io-index" 3764 | checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" 3765 | dependencies = [ 3766 | "digest 0.10.7", 3767 | "rand_core", 3768 | ] 3769 | 3770 | [[package]] 3771 | name = "signature" 3772 | version = "2.2.0" 3773 | source = "registry+https://github.com/rust-lang/crates.io-index" 3774 | checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" 3775 | dependencies = [ 3776 | "digest 0.10.7", 3777 | "rand_core", 3778 | ] 3779 | 3780 | [[package]] 3781 | name = "slab" 3782 | version = "0.4.9" 3783 | source = "registry+https://github.com/rust-lang/crates.io-index" 3784 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 3785 | dependencies = [ 3786 | "autocfg", 3787 | ] 3788 | 3789 | [[package]] 3790 | name = "smallvec" 3791 | version = "1.13.2" 3792 | source = "registry+https://github.com/rust-lang/crates.io-index" 3793 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 3794 | 3795 | [[package]] 3796 | name = "socket2" 3797 | version = "0.5.7" 3798 | source = "registry+https://github.com/rust-lang/crates.io-index" 3799 | checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" 3800 | dependencies = [ 3801 | "libc", 3802 | "windows-sys 0.52.0", 3803 | ] 3804 | 3805 | [[package]] 3806 | name = "spin" 3807 | version = "0.9.8" 3808 | source = "registry+https://github.com/rust-lang/crates.io-index" 3809 | checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 3810 | 3811 | [[package]] 3812 | name = "spki" 3813 | version = "0.6.0" 3814 | source = "registry+https://github.com/rust-lang/crates.io-index" 3815 | checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" 3816 | dependencies = [ 3817 | "base64ct", 3818 | "der 0.6.1", 3819 | ] 3820 | 3821 | [[package]] 3822 | name = "spki" 3823 | version = "0.7.3" 3824 | source = "registry+https://github.com/rust-lang/crates.io-index" 3825 | checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" 3826 | dependencies = [ 3827 | "base64ct", 3828 | "der 0.7.9", 3829 | ] 3830 | 3831 | [[package]] 3832 | name = "stable_deref_trait" 3833 | version = "1.2.0" 3834 | source = "registry+https://github.com/rust-lang/crates.io-index" 3835 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 3836 | 3837 | [[package]] 3838 | name = "static_assertions" 3839 | version = "1.1.0" 3840 | source = "registry+https://github.com/rust-lang/crates.io-index" 3841 | checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 3842 | 3843 | [[package]] 3844 | name = "strsim" 3845 | version = "0.10.0" 3846 | source = "registry+https://github.com/rust-lang/crates.io-index" 3847 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 3848 | 3849 | [[package]] 3850 | name = "strum" 3851 | version = "0.24.1" 3852 | source = "registry+https://github.com/rust-lang/crates.io-index" 3853 | checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" 3854 | dependencies = [ 3855 | "strum_macros 0.24.3", 3856 | ] 3857 | 3858 | [[package]] 3859 | name = "strum" 3860 | version = "0.26.2" 3861 | source = "registry+https://github.com/rust-lang/crates.io-index" 3862 | checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" 3863 | dependencies = [ 3864 | "strum_macros 0.26.4", 3865 | ] 3866 | 3867 | [[package]] 3868 | name = "strum_macros" 3869 | version = "0.24.3" 3870 | source = "registry+https://github.com/rust-lang/crates.io-index" 3871 | checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" 3872 | dependencies = [ 3873 | "heck 0.4.1", 3874 | "proc-macro2", 3875 | "quote", 3876 | "rustversion", 3877 | "syn 1.0.109", 3878 | ] 3879 | 3880 | [[package]] 3881 | name = "strum_macros" 3882 | version = "0.26.4" 3883 | source = "registry+https://github.com/rust-lang/crates.io-index" 3884 | checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" 3885 | dependencies = [ 3886 | "heck 0.5.0", 3887 | "proc-macro2", 3888 | "quote", 3889 | "rustversion", 3890 | "syn 2.0.67", 3891 | ] 3892 | 3893 | [[package]] 3894 | name = "subtle" 3895 | version = "2.6.0" 3896 | source = "registry+https://github.com/rust-lang/crates.io-index" 3897 | checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5" 3898 | 3899 | [[package]] 3900 | name = "syn" 3901 | version = "1.0.109" 3902 | source = "registry+https://github.com/rust-lang/crates.io-index" 3903 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 3904 | dependencies = [ 3905 | "proc-macro2", 3906 | "quote", 3907 | "unicode-ident", 3908 | ] 3909 | 3910 | [[package]] 3911 | name = "syn" 3912 | version = "2.0.67" 3913 | source = "registry+https://github.com/rust-lang/crates.io-index" 3914 | checksum = "ff8655ed1d86f3af4ee3fd3263786bc14245ad17c4c7e85ba7187fb3ae028c90" 3915 | dependencies = [ 3916 | "proc-macro2", 3917 | "quote", 3918 | "unicode-ident", 3919 | ] 3920 | 3921 | [[package]] 3922 | name = "syn-solidity" 3923 | version = "0.7.6" 3924 | source = "registry+https://github.com/rust-lang/crates.io-index" 3925 | checksum = "8d71e19bca02c807c9faa67b5a47673ff231b6e7449b251695188522f1dc44b2" 3926 | dependencies = [ 3927 | "paste", 3928 | "proc-macro2", 3929 | "quote", 3930 | "syn 2.0.67", 3931 | ] 3932 | 3933 | [[package]] 3934 | name = "sync_wrapper" 3935 | version = "0.1.2" 3936 | source = "registry+https://github.com/rust-lang/crates.io-index" 3937 | checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" 3938 | 3939 | [[package]] 3940 | name = "sync_wrapper" 3941 | version = "1.0.1" 3942 | source = "registry+https://github.com/rust-lang/crates.io-index" 3943 | checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" 3944 | 3945 | [[package]] 3946 | name = "system-configuration" 3947 | version = "0.5.1" 3948 | source = "registry+https://github.com/rust-lang/crates.io-index" 3949 | checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" 3950 | dependencies = [ 3951 | "bitflags 1.3.2", 3952 | "core-foundation", 3953 | "system-configuration-sys", 3954 | ] 3955 | 3956 | [[package]] 3957 | name = "system-configuration-sys" 3958 | version = "0.5.0" 3959 | source = "registry+https://github.com/rust-lang/crates.io-index" 3960 | checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" 3961 | dependencies = [ 3962 | "core-foundation-sys", 3963 | "libc", 3964 | ] 3965 | 3966 | [[package]] 3967 | name = "tap" 3968 | version = "1.0.1" 3969 | source = "registry+https://github.com/rust-lang/crates.io-index" 3970 | checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" 3971 | 3972 | [[package]] 3973 | name = "tempfile" 3974 | version = "3.10.1" 3975 | source = "registry+https://github.com/rust-lang/crates.io-index" 3976 | checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" 3977 | dependencies = [ 3978 | "cfg-if", 3979 | "fastrand", 3980 | "rustix", 3981 | "windows-sys 0.52.0", 3982 | ] 3983 | 3984 | [[package]] 3985 | name = "thiserror" 3986 | version = "1.0.61" 3987 | source = "registry+https://github.com/rust-lang/crates.io-index" 3988 | checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" 3989 | dependencies = [ 3990 | "thiserror-impl", 3991 | ] 3992 | 3993 | [[package]] 3994 | name = "thiserror-impl" 3995 | version = "1.0.61" 3996 | source = "registry+https://github.com/rust-lang/crates.io-index" 3997 | checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" 3998 | dependencies = [ 3999 | "proc-macro2", 4000 | "quote", 4001 | "syn 2.0.67", 4002 | ] 4003 | 4004 | [[package]] 4005 | name = "thread_local" 4006 | version = "1.1.8" 4007 | source = "registry+https://github.com/rust-lang/crates.io-index" 4008 | checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" 4009 | dependencies = [ 4010 | "cfg-if", 4011 | "once_cell", 4012 | ] 4013 | 4014 | [[package]] 4015 | name = "threadpool" 4016 | version = "1.8.1" 4017 | source = "registry+https://github.com/rust-lang/crates.io-index" 4018 | checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" 4019 | dependencies = [ 4020 | "num_cpus", 4021 | ] 4022 | 4023 | [[package]] 4024 | name = "time" 4025 | version = "0.3.36" 4026 | source = "registry+https://github.com/rust-lang/crates.io-index" 4027 | checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" 4028 | dependencies = [ 4029 | "deranged", 4030 | "itoa", 4031 | "num-conv", 4032 | "powerfmt", 4033 | "serde", 4034 | "time-core", 4035 | "time-macros", 4036 | ] 4037 | 4038 | [[package]] 4039 | name = "time-core" 4040 | version = "0.1.2" 4041 | source = "registry+https://github.com/rust-lang/crates.io-index" 4042 | checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 4043 | 4044 | [[package]] 4045 | name = "time-macros" 4046 | version = "0.2.18" 4047 | source = "registry+https://github.com/rust-lang/crates.io-index" 4048 | checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" 4049 | dependencies = [ 4050 | "num-conv", 4051 | "time-core", 4052 | ] 4053 | 4054 | [[package]] 4055 | name = "tiny-keccak" 4056 | version = "2.0.2" 4057 | source = "registry+https://github.com/rust-lang/crates.io-index" 4058 | checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" 4059 | dependencies = [ 4060 | "crunchy", 4061 | ] 4062 | 4063 | [[package]] 4064 | name = "tinyvec" 4065 | version = "1.6.0" 4066 | source = "registry+https://github.com/rust-lang/crates.io-index" 4067 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 4068 | dependencies = [ 4069 | "tinyvec_macros", 4070 | ] 4071 | 4072 | [[package]] 4073 | name = "tinyvec_macros" 4074 | version = "0.1.1" 4075 | source = "registry+https://github.com/rust-lang/crates.io-index" 4076 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 4077 | 4078 | [[package]] 4079 | name = "tokio" 4080 | version = "1.38.0" 4081 | source = "registry+https://github.com/rust-lang/crates.io-index" 4082 | checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" 4083 | dependencies = [ 4084 | "backtrace", 4085 | "bytes", 4086 | "libc", 4087 | "mio", 4088 | "num_cpus", 4089 | "parking_lot", 4090 | "pin-project-lite", 4091 | "signal-hook-registry", 4092 | "socket2", 4093 | "tokio-macros", 4094 | "windows-sys 0.48.0", 4095 | ] 4096 | 4097 | [[package]] 4098 | name = "tokio-io-timeout" 4099 | version = "1.2.0" 4100 | source = "registry+https://github.com/rust-lang/crates.io-index" 4101 | checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" 4102 | dependencies = [ 4103 | "pin-project-lite", 4104 | "tokio", 4105 | ] 4106 | 4107 | [[package]] 4108 | name = "tokio-macros" 4109 | version = "2.3.0" 4110 | source = "registry+https://github.com/rust-lang/crates.io-index" 4111 | checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" 4112 | dependencies = [ 4113 | "proc-macro2", 4114 | "quote", 4115 | "syn 2.0.67", 4116 | ] 4117 | 4118 | [[package]] 4119 | name = "tokio-native-tls" 4120 | version = "0.3.1" 4121 | source = "registry+https://github.com/rust-lang/crates.io-index" 4122 | checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" 4123 | dependencies = [ 4124 | "native-tls", 4125 | "tokio", 4126 | ] 4127 | 4128 | [[package]] 4129 | name = "tokio-rustls" 4130 | version = "0.26.0" 4131 | source = "registry+https://github.com/rust-lang/crates.io-index" 4132 | checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" 4133 | dependencies = [ 4134 | "rustls", 4135 | "rustls-pki-types", 4136 | "tokio", 4137 | ] 4138 | 4139 | [[package]] 4140 | name = "tokio-stream" 4141 | version = "0.1.15" 4142 | source = "registry+https://github.com/rust-lang/crates.io-index" 4143 | checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" 4144 | dependencies = [ 4145 | "futures-core", 4146 | "pin-project-lite", 4147 | "tokio", 4148 | "tokio-util", 4149 | ] 4150 | 4151 | [[package]] 4152 | name = "tokio-util" 4153 | version = "0.7.11" 4154 | source = "registry+https://github.com/rust-lang/crates.io-index" 4155 | checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" 4156 | dependencies = [ 4157 | "bytes", 4158 | "futures-core", 4159 | "futures-sink", 4160 | "pin-project-lite", 4161 | "tokio", 4162 | ] 4163 | 4164 | [[package]] 4165 | name = "toml_datetime" 4166 | version = "0.6.6" 4167 | source = "registry+https://github.com/rust-lang/crates.io-index" 4168 | checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" 4169 | 4170 | [[package]] 4171 | name = "toml_edit" 4172 | version = "0.19.15" 4173 | source = "registry+https://github.com/rust-lang/crates.io-index" 4174 | checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" 4175 | dependencies = [ 4176 | "indexmap 2.2.6", 4177 | "toml_datetime", 4178 | "winnow 0.5.40", 4179 | ] 4180 | 4181 | [[package]] 4182 | name = "toml_edit" 4183 | version = "0.21.1" 4184 | source = "registry+https://github.com/rust-lang/crates.io-index" 4185 | checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" 4186 | dependencies = [ 4187 | "indexmap 2.2.6", 4188 | "toml_datetime", 4189 | "winnow 0.5.40", 4190 | ] 4191 | 4192 | [[package]] 4193 | name = "tonic" 4194 | version = "0.9.2" 4195 | source = "registry+https://github.com/rust-lang/crates.io-index" 4196 | checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" 4197 | dependencies = [ 4198 | "async-trait", 4199 | "axum", 4200 | "base64 0.21.7", 4201 | "bytes", 4202 | "futures-core", 4203 | "futures-util", 4204 | "h2 0.3.26", 4205 | "http 0.2.12", 4206 | "http-body 0.4.6", 4207 | "hyper 0.14.29", 4208 | "hyper-timeout", 4209 | "percent-encoding", 4210 | "pin-project", 4211 | "prost 0.11.9", 4212 | "tokio", 4213 | "tokio-stream", 4214 | "tower", 4215 | "tower-layer", 4216 | "tower-service", 4217 | "tracing", 4218 | ] 4219 | 4220 | [[package]] 4221 | name = "tower" 4222 | version = "0.4.13" 4223 | source = "registry+https://github.com/rust-lang/crates.io-index" 4224 | checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" 4225 | dependencies = [ 4226 | "futures-core", 4227 | "futures-util", 4228 | "indexmap 1.9.3", 4229 | "pin-project", 4230 | "pin-project-lite", 4231 | "rand", 4232 | "slab", 4233 | "tokio", 4234 | "tokio-util", 4235 | "tower-layer", 4236 | "tower-service", 4237 | "tracing", 4238 | ] 4239 | 4240 | [[package]] 4241 | name = "tower-layer" 4242 | version = "0.3.2" 4243 | source = "registry+https://github.com/rust-lang/crates.io-index" 4244 | checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" 4245 | 4246 | [[package]] 4247 | name = "tower-service" 4248 | version = "0.3.2" 4249 | source = "registry+https://github.com/rust-lang/crates.io-index" 4250 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 4251 | 4252 | [[package]] 4253 | name = "tracing" 4254 | version = "0.1.40" 4255 | source = "registry+https://github.com/rust-lang/crates.io-index" 4256 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 4257 | dependencies = [ 4258 | "log", 4259 | "pin-project-lite", 4260 | "tracing-attributes", 4261 | "tracing-core", 4262 | ] 4263 | 4264 | [[package]] 4265 | name = "tracing-attributes" 4266 | version = "0.1.27" 4267 | source = "registry+https://github.com/rust-lang/crates.io-index" 4268 | checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 4269 | dependencies = [ 4270 | "proc-macro2", 4271 | "quote", 4272 | "syn 2.0.67", 4273 | ] 4274 | 4275 | [[package]] 4276 | name = "tracing-core" 4277 | version = "0.1.32" 4278 | source = "registry+https://github.com/rust-lang/crates.io-index" 4279 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 4280 | dependencies = [ 4281 | "once_cell", 4282 | "valuable", 4283 | ] 4284 | 4285 | [[package]] 4286 | name = "tracing-log" 4287 | version = "0.1.4" 4288 | source = "registry+https://github.com/rust-lang/crates.io-index" 4289 | checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" 4290 | dependencies = [ 4291 | "log", 4292 | "once_cell", 4293 | "tracing-core", 4294 | ] 4295 | 4296 | [[package]] 4297 | name = "tracing-log" 4298 | version = "0.2.0" 4299 | source = "registry+https://github.com/rust-lang/crates.io-index" 4300 | checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" 4301 | dependencies = [ 4302 | "log", 4303 | "once_cell", 4304 | "tracing-core", 4305 | ] 4306 | 4307 | [[package]] 4308 | name = "tracing-opentelemetry" 4309 | version = "0.21.0" 4310 | source = "registry+https://github.com/rust-lang/crates.io-index" 4311 | checksum = "75327c6b667828ddc28f5e3f169036cb793c3f588d83bf0f262a7f062ffed3c8" 4312 | dependencies = [ 4313 | "once_cell", 4314 | "opentelemetry", 4315 | "opentelemetry_sdk", 4316 | "smallvec", 4317 | "tracing", 4318 | "tracing-core", 4319 | "tracing-log 0.1.4", 4320 | "tracing-subscriber", 4321 | ] 4322 | 4323 | [[package]] 4324 | name = "tracing-serde" 4325 | version = "0.1.3" 4326 | source = "registry+https://github.com/rust-lang/crates.io-index" 4327 | checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" 4328 | dependencies = [ 4329 | "serde", 4330 | "tracing-core", 4331 | ] 4332 | 4333 | [[package]] 4334 | name = "tracing-subscriber" 4335 | version = "0.3.18" 4336 | source = "registry+https://github.com/rust-lang/crates.io-index" 4337 | checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" 4338 | dependencies = [ 4339 | "matchers", 4340 | "nu-ansi-term", 4341 | "once_cell", 4342 | "regex", 4343 | "serde", 4344 | "serde_json", 4345 | "sharded-slab", 4346 | "smallvec", 4347 | "thread_local", 4348 | "time", 4349 | "tracing", 4350 | "tracing-core", 4351 | "tracing-log 0.2.0", 4352 | "tracing-serde", 4353 | ] 4354 | 4355 | [[package]] 4356 | name = "try-lock" 4357 | version = "0.2.5" 4358 | source = "registry+https://github.com/rust-lang/crates.io-index" 4359 | checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 4360 | 4361 | [[package]] 4362 | name = "typenum" 4363 | version = "1.17.0" 4364 | source = "registry+https://github.com/rust-lang/crates.io-index" 4365 | checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" 4366 | 4367 | [[package]] 4368 | name = "ucd-trie" 4369 | version = "0.1.6" 4370 | source = "registry+https://github.com/rust-lang/crates.io-index" 4371 | checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" 4372 | 4373 | [[package]] 4374 | name = "uint" 4375 | version = "0.9.5" 4376 | source = "registry+https://github.com/rust-lang/crates.io-index" 4377 | checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" 4378 | dependencies = [ 4379 | "byteorder", 4380 | "crunchy", 4381 | "hex", 4382 | "static_assertions", 4383 | ] 4384 | 4385 | [[package]] 4386 | name = "uname" 4387 | version = "0.1.1" 4388 | source = "registry+https://github.com/rust-lang/crates.io-index" 4389 | checksum = "b72f89f0ca32e4db1c04e2a72f5345d59796d4866a1ee0609084569f73683dc8" 4390 | dependencies = [ 4391 | "libc", 4392 | ] 4393 | 4394 | [[package]] 4395 | name = "unarray" 4396 | version = "0.1.4" 4397 | source = "registry+https://github.com/rust-lang/crates.io-index" 4398 | checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" 4399 | 4400 | [[package]] 4401 | name = "unicode-bidi" 4402 | version = "0.3.15" 4403 | source = "registry+https://github.com/rust-lang/crates.io-index" 4404 | checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" 4405 | 4406 | [[package]] 4407 | name = "unicode-ident" 4408 | version = "1.0.12" 4409 | source = "registry+https://github.com/rust-lang/crates.io-index" 4410 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 4411 | 4412 | [[package]] 4413 | name = "unicode-normalization" 4414 | version = "0.1.23" 4415 | source = "registry+https://github.com/rust-lang/crates.io-index" 4416 | checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" 4417 | dependencies = [ 4418 | "tinyvec", 4419 | ] 4420 | 4421 | [[package]] 4422 | name = "unicode-width" 4423 | version = "0.1.13" 4424 | source = "registry+https://github.com/rust-lang/crates.io-index" 4425 | checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" 4426 | 4427 | [[package]] 4428 | name = "unicode-xid" 4429 | version = "0.2.4" 4430 | source = "registry+https://github.com/rust-lang/crates.io-index" 4431 | checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" 4432 | 4433 | [[package]] 4434 | name = "unsafe-libyaml" 4435 | version = "0.2.11" 4436 | source = "registry+https://github.com/rust-lang/crates.io-index" 4437 | checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" 4438 | 4439 | [[package]] 4440 | name = "untrusted" 4441 | version = "0.9.0" 4442 | source = "registry+https://github.com/rust-lang/crates.io-index" 4443 | checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 4444 | 4445 | [[package]] 4446 | name = "ureq" 4447 | version = "2.9.7" 4448 | source = "registry+https://github.com/rust-lang/crates.io-index" 4449 | checksum = "d11a831e3c0b56e438a28308e7c810799e3c118417f342d30ecec080105395cd" 4450 | dependencies = [ 4451 | "base64 0.22.1", 4452 | "log", 4453 | "native-tls", 4454 | "once_cell", 4455 | "url", 4456 | ] 4457 | 4458 | [[package]] 4459 | name = "url" 4460 | version = "2.5.2" 4461 | source = "registry+https://github.com/rust-lang/crates.io-index" 4462 | checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" 4463 | dependencies = [ 4464 | "form_urlencoded", 4465 | "idna", 4466 | "percent-encoding", 4467 | "serde", 4468 | ] 4469 | 4470 | [[package]] 4471 | name = "urlencoding" 4472 | version = "2.1.3" 4473 | source = "registry+https://github.com/rust-lang/crates.io-index" 4474 | checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" 4475 | 4476 | [[package]] 4477 | name = "uuid" 4478 | version = "1.8.0" 4479 | source = "registry+https://github.com/rust-lang/crates.io-index" 4480 | checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" 4481 | dependencies = [ 4482 | "serde", 4483 | ] 4484 | 4485 | [[package]] 4486 | name = "valuable" 4487 | version = "0.1.0" 4488 | source = "registry+https://github.com/rust-lang/crates.io-index" 4489 | checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 4490 | 4491 | [[package]] 4492 | name = "vcpkg" 4493 | version = "0.2.15" 4494 | source = "registry+https://github.com/rust-lang/crates.io-index" 4495 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 4496 | 4497 | [[package]] 4498 | name = "version_check" 4499 | version = "0.9.4" 4500 | source = "registry+https://github.com/rust-lang/crates.io-index" 4501 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 4502 | 4503 | [[package]] 4504 | name = "vise" 4505 | version = "0.1.0" 4506 | source = "git+https://github.com/matter-labs/vise.git?rev=a5bb80c9ce7168663114ee30e794d6dc32159ee4#a5bb80c9ce7168663114ee30e794d6dc32159ee4" 4507 | dependencies = [ 4508 | "compile-fmt", 4509 | "elsa", 4510 | "linkme", 4511 | "once_cell", 4512 | "prometheus-client", 4513 | "vise-macros", 4514 | ] 4515 | 4516 | [[package]] 4517 | name = "vise-macros" 4518 | version = "0.1.0" 4519 | source = "git+https://github.com/matter-labs/vise.git?rev=a5bb80c9ce7168663114ee30e794d6dc32159ee4#a5bb80c9ce7168663114ee30e794d6dc32159ee4" 4520 | dependencies = [ 4521 | "proc-macro2", 4522 | "quote", 4523 | "syn 2.0.67", 4524 | ] 4525 | 4526 | [[package]] 4527 | name = "vlog" 4528 | version = "0.1.0" 4529 | source = "git+https://github.com/matter-labs/zksync-era?rev=4c18755876a42ee81840cadb365b3040194d0ae3#4c18755876a42ee81840cadb365b3040194d0ae3" 4530 | dependencies = [ 4531 | "chrono", 4532 | "opentelemetry", 4533 | "opentelemetry-otlp", 4534 | "opentelemetry-semantic-conventions", 4535 | "sentry", 4536 | "serde", 4537 | "serde_json", 4538 | "tracing", 4539 | "tracing-opentelemetry", 4540 | "tracing-subscriber", 4541 | ] 4542 | 4543 | [[package]] 4544 | name = "wait-timeout" 4545 | version = "0.2.0" 4546 | source = "registry+https://github.com/rust-lang/crates.io-index" 4547 | checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" 4548 | dependencies = [ 4549 | "libc", 4550 | ] 4551 | 4552 | [[package]] 4553 | name = "want" 4554 | version = "0.3.1" 4555 | source = "registry+https://github.com/rust-lang/crates.io-index" 4556 | checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 4557 | dependencies = [ 4558 | "try-lock", 4559 | ] 4560 | 4561 | [[package]] 4562 | name = "wasi" 4563 | version = "0.11.0+wasi-snapshot-preview1" 4564 | source = "registry+https://github.com/rust-lang/crates.io-index" 4565 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 4566 | 4567 | [[package]] 4568 | name = "wasm-bindgen" 4569 | version = "0.2.92" 4570 | source = "registry+https://github.com/rust-lang/crates.io-index" 4571 | checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" 4572 | dependencies = [ 4573 | "cfg-if", 4574 | "wasm-bindgen-macro", 4575 | ] 4576 | 4577 | [[package]] 4578 | name = "wasm-bindgen-backend" 4579 | version = "0.2.92" 4580 | source = "registry+https://github.com/rust-lang/crates.io-index" 4581 | checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" 4582 | dependencies = [ 4583 | "bumpalo", 4584 | "log", 4585 | "once_cell", 4586 | "proc-macro2", 4587 | "quote", 4588 | "syn 2.0.67", 4589 | "wasm-bindgen-shared", 4590 | ] 4591 | 4592 | [[package]] 4593 | name = "wasm-bindgen-futures" 4594 | version = "0.4.42" 4595 | source = "registry+https://github.com/rust-lang/crates.io-index" 4596 | checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" 4597 | dependencies = [ 4598 | "cfg-if", 4599 | "js-sys", 4600 | "wasm-bindgen", 4601 | "web-sys", 4602 | ] 4603 | 4604 | [[package]] 4605 | name = "wasm-bindgen-macro" 4606 | version = "0.2.92" 4607 | source = "registry+https://github.com/rust-lang/crates.io-index" 4608 | checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" 4609 | dependencies = [ 4610 | "quote", 4611 | "wasm-bindgen-macro-support", 4612 | ] 4613 | 4614 | [[package]] 4615 | name = "wasm-bindgen-macro-support" 4616 | version = "0.2.92" 4617 | source = "registry+https://github.com/rust-lang/crates.io-index" 4618 | checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" 4619 | dependencies = [ 4620 | "proc-macro2", 4621 | "quote", 4622 | "syn 2.0.67", 4623 | "wasm-bindgen-backend", 4624 | "wasm-bindgen-shared", 4625 | ] 4626 | 4627 | [[package]] 4628 | name = "wasm-bindgen-shared" 4629 | version = "0.2.92" 4630 | source = "registry+https://github.com/rust-lang/crates.io-index" 4631 | checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" 4632 | 4633 | [[package]] 4634 | name = "web-sys" 4635 | version = "0.3.69" 4636 | source = "registry+https://github.com/rust-lang/crates.io-index" 4637 | checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" 4638 | dependencies = [ 4639 | "js-sys", 4640 | "wasm-bindgen", 4641 | ] 4642 | 4643 | [[package]] 4644 | name = "winapi" 4645 | version = "0.3.9" 4646 | source = "registry+https://github.com/rust-lang/crates.io-index" 4647 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 4648 | dependencies = [ 4649 | "winapi-i686-pc-windows-gnu", 4650 | "winapi-x86_64-pc-windows-gnu", 4651 | ] 4652 | 4653 | [[package]] 4654 | name = "winapi-i686-pc-windows-gnu" 4655 | version = "0.4.0" 4656 | source = "registry+https://github.com/rust-lang/crates.io-index" 4657 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 4658 | 4659 | [[package]] 4660 | name = "winapi-x86_64-pc-windows-gnu" 4661 | version = "0.4.0" 4662 | source = "registry+https://github.com/rust-lang/crates.io-index" 4663 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 4664 | 4665 | [[package]] 4666 | name = "windows-core" 4667 | version = "0.52.0" 4668 | source = "registry+https://github.com/rust-lang/crates.io-index" 4669 | checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" 4670 | dependencies = [ 4671 | "windows-targets 0.52.5", 4672 | ] 4673 | 4674 | [[package]] 4675 | name = "windows-sys" 4676 | version = "0.48.0" 4677 | source = "registry+https://github.com/rust-lang/crates.io-index" 4678 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 4679 | dependencies = [ 4680 | "windows-targets 0.48.5", 4681 | ] 4682 | 4683 | [[package]] 4684 | name = "windows-sys" 4685 | version = "0.52.0" 4686 | source = "registry+https://github.com/rust-lang/crates.io-index" 4687 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 4688 | dependencies = [ 4689 | "windows-targets 0.52.5", 4690 | ] 4691 | 4692 | [[package]] 4693 | name = "windows-targets" 4694 | version = "0.48.5" 4695 | source = "registry+https://github.com/rust-lang/crates.io-index" 4696 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 4697 | dependencies = [ 4698 | "windows_aarch64_gnullvm 0.48.5", 4699 | "windows_aarch64_msvc 0.48.5", 4700 | "windows_i686_gnu 0.48.5", 4701 | "windows_i686_msvc 0.48.5", 4702 | "windows_x86_64_gnu 0.48.5", 4703 | "windows_x86_64_gnullvm 0.48.5", 4704 | "windows_x86_64_msvc 0.48.5", 4705 | ] 4706 | 4707 | [[package]] 4708 | name = "windows-targets" 4709 | version = "0.52.5" 4710 | source = "registry+https://github.com/rust-lang/crates.io-index" 4711 | checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" 4712 | dependencies = [ 4713 | "windows_aarch64_gnullvm 0.52.5", 4714 | "windows_aarch64_msvc 0.52.5", 4715 | "windows_i686_gnu 0.52.5", 4716 | "windows_i686_gnullvm", 4717 | "windows_i686_msvc 0.52.5", 4718 | "windows_x86_64_gnu 0.52.5", 4719 | "windows_x86_64_gnullvm 0.52.5", 4720 | "windows_x86_64_msvc 0.52.5", 4721 | ] 4722 | 4723 | [[package]] 4724 | name = "windows_aarch64_gnullvm" 4725 | version = "0.48.5" 4726 | source = "registry+https://github.com/rust-lang/crates.io-index" 4727 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 4728 | 4729 | [[package]] 4730 | name = "windows_aarch64_gnullvm" 4731 | version = "0.52.5" 4732 | source = "registry+https://github.com/rust-lang/crates.io-index" 4733 | checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" 4734 | 4735 | [[package]] 4736 | name = "windows_aarch64_msvc" 4737 | version = "0.48.5" 4738 | source = "registry+https://github.com/rust-lang/crates.io-index" 4739 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 4740 | 4741 | [[package]] 4742 | name = "windows_aarch64_msvc" 4743 | version = "0.52.5" 4744 | source = "registry+https://github.com/rust-lang/crates.io-index" 4745 | checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" 4746 | 4747 | [[package]] 4748 | name = "windows_i686_gnu" 4749 | version = "0.48.5" 4750 | source = "registry+https://github.com/rust-lang/crates.io-index" 4751 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 4752 | 4753 | [[package]] 4754 | name = "windows_i686_gnu" 4755 | version = "0.52.5" 4756 | source = "registry+https://github.com/rust-lang/crates.io-index" 4757 | checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" 4758 | 4759 | [[package]] 4760 | name = "windows_i686_gnullvm" 4761 | version = "0.52.5" 4762 | source = "registry+https://github.com/rust-lang/crates.io-index" 4763 | checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" 4764 | 4765 | [[package]] 4766 | name = "windows_i686_msvc" 4767 | version = "0.48.5" 4768 | source = "registry+https://github.com/rust-lang/crates.io-index" 4769 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 4770 | 4771 | [[package]] 4772 | name = "windows_i686_msvc" 4773 | version = "0.52.5" 4774 | source = "registry+https://github.com/rust-lang/crates.io-index" 4775 | checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" 4776 | 4777 | [[package]] 4778 | name = "windows_x86_64_gnu" 4779 | version = "0.48.5" 4780 | source = "registry+https://github.com/rust-lang/crates.io-index" 4781 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 4782 | 4783 | [[package]] 4784 | name = "windows_x86_64_gnu" 4785 | version = "0.52.5" 4786 | source = "registry+https://github.com/rust-lang/crates.io-index" 4787 | checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" 4788 | 4789 | [[package]] 4790 | name = "windows_x86_64_gnullvm" 4791 | version = "0.48.5" 4792 | source = "registry+https://github.com/rust-lang/crates.io-index" 4793 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 4794 | 4795 | [[package]] 4796 | name = "windows_x86_64_gnullvm" 4797 | version = "0.52.5" 4798 | source = "registry+https://github.com/rust-lang/crates.io-index" 4799 | checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" 4800 | 4801 | [[package]] 4802 | name = "windows_x86_64_msvc" 4803 | version = "0.48.5" 4804 | source = "registry+https://github.com/rust-lang/crates.io-index" 4805 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 4806 | 4807 | [[package]] 4808 | name = "windows_x86_64_msvc" 4809 | version = "0.52.5" 4810 | source = "registry+https://github.com/rust-lang/crates.io-index" 4811 | checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" 4812 | 4813 | [[package]] 4814 | name = "winnow" 4815 | version = "0.5.40" 4816 | source = "registry+https://github.com/rust-lang/crates.io-index" 4817 | checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" 4818 | dependencies = [ 4819 | "memchr", 4820 | ] 4821 | 4822 | [[package]] 4823 | name = "winnow" 4824 | version = "0.6.13" 4825 | source = "registry+https://github.com/rust-lang/crates.io-index" 4826 | checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" 4827 | 4828 | [[package]] 4829 | name = "winreg" 4830 | version = "0.50.0" 4831 | source = "registry+https://github.com/rust-lang/crates.io-index" 4832 | checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" 4833 | dependencies = [ 4834 | "cfg-if", 4835 | "windows-sys 0.48.0", 4836 | ] 4837 | 4838 | [[package]] 4839 | name = "winreg" 4840 | version = "0.52.0" 4841 | source = "registry+https://github.com/rust-lang/crates.io-index" 4842 | checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" 4843 | dependencies = [ 4844 | "cfg-if", 4845 | "windows-sys 0.48.0", 4846 | ] 4847 | 4848 | [[package]] 4849 | name = "wyz" 4850 | version = "0.5.1" 4851 | source = "registry+https://github.com/rust-lang/crates.io-index" 4852 | checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" 4853 | dependencies = [ 4854 | "tap", 4855 | ] 4856 | 4857 | [[package]] 4858 | name = "zerocopy" 4859 | version = "0.7.34" 4860 | source = "registry+https://github.com/rust-lang/crates.io-index" 4861 | checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" 4862 | dependencies = [ 4863 | "zerocopy-derive", 4864 | ] 4865 | 4866 | [[package]] 4867 | name = "zerocopy-derive" 4868 | version = "0.7.34" 4869 | source = "registry+https://github.com/rust-lang/crates.io-index" 4870 | checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" 4871 | dependencies = [ 4872 | "proc-macro2", 4873 | "quote", 4874 | "syn 2.0.67", 4875 | ] 4876 | 4877 | [[package]] 4878 | name = "zeroize" 4879 | version = "1.8.1" 4880 | source = "registry+https://github.com/rust-lang/crates.io-index" 4881 | checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" 4882 | dependencies = [ 4883 | "zeroize_derive", 4884 | ] 4885 | 4886 | [[package]] 4887 | name = "zeroize_derive" 4888 | version = "1.4.2" 4889 | source = "registry+https://github.com/rust-lang/crates.io-index" 4890 | checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" 4891 | dependencies = [ 4892 | "proc-macro2", 4893 | "quote", 4894 | "syn 2.0.67", 4895 | ] 4896 | 4897 | [[package]] 4898 | name = "zk_evm" 4899 | version = "1.3.3" 4900 | source = "git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2#fbee20f5bac7d6ca3e22ae69b2077c510a07de4e" 4901 | dependencies = [ 4902 | "anyhow", 4903 | "lazy_static", 4904 | "num", 4905 | "serde", 4906 | "serde_json", 4907 | "static_assertions", 4908 | "zk_evm_abstractions", 4909 | "zkevm_opcode_defs", 4910 | ] 4911 | 4912 | [[package]] 4913 | name = "zk_evm_abstractions" 4914 | version = "0.1.0" 4915 | source = "git+https://github.com/matter-labs/era-zk_evm_abstractions.git#32dd320953841aa78579d9da08abbc70bcaed175" 4916 | dependencies = [ 4917 | "anyhow", 4918 | "num_enum 0.6.1", 4919 | "serde", 4920 | "static_assertions", 4921 | "zkevm_opcode_defs", 4922 | ] 4923 | 4924 | [[package]] 4925 | name = "zkevm_opcode_defs" 4926 | version = "1.3.2" 4927 | source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.3.2#dffacadeccdfdbff4bc124d44c595c4a6eae5013" 4928 | dependencies = [ 4929 | "bitflags 2.5.0", 4930 | "blake2 0.10.6 (git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e)", 4931 | "ethereum-types", 4932 | "k256 0.11.6", 4933 | "lazy_static", 4934 | "sha2 0.10.6", 4935 | "sha3 0.10.6", 4936 | ] 4937 | 4938 | [[package]] 4939 | name = "zksync-airdrop-rescue" 4940 | version = "0.1.0" 4941 | dependencies = [ 4942 | "alloy-network", 4943 | "alloy-primitives", 4944 | "alloy-provider", 4945 | "alloy-rpc-types", 4946 | "alloy-signer-wallet", 4947 | "alloy-sol-types", 4948 | "alloy-transport", 4949 | "dotenv", 4950 | "eyre", 4951 | "futures", 4952 | "hex", 4953 | "reqwest 0.12.5", 4954 | "rlp", 4955 | "serde", 4956 | "serde_json", 4957 | "tokio", 4958 | "zksync_crypto_primitives", 4959 | "zksync_types", 4960 | ] 4961 | 4962 | [[package]] 4963 | name = "zksync_basic_types" 4964 | version = "0.1.0" 4965 | source = "git+https://github.com/matter-labs/zksync-era?rev=4c18755876a42ee81840cadb365b3040194d0ae3#4c18755876a42ee81840cadb365b3040194d0ae3" 4966 | dependencies = [ 4967 | "anyhow", 4968 | "chrono", 4969 | "ethabi", 4970 | "hex", 4971 | "num_enum 0.7.2", 4972 | "serde", 4973 | "serde_json", 4974 | "serde_with", 4975 | "strum 0.24.1", 4976 | "thiserror", 4977 | "tiny-keccak", 4978 | "url", 4979 | ] 4980 | 4981 | [[package]] 4982 | name = "zksync_concurrency" 4983 | version = "0.1.0" 4984 | source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" 4985 | dependencies = [ 4986 | "anyhow", 4987 | "once_cell", 4988 | "pin-project", 4989 | "rand", 4990 | "sha3 0.10.8", 4991 | "thiserror", 4992 | "time", 4993 | "tokio", 4994 | "tracing", 4995 | "tracing-subscriber", 4996 | "vise", 4997 | ] 4998 | 4999 | [[package]] 5000 | name = "zksync_config" 5001 | version = "0.1.0" 5002 | source = "git+https://github.com/matter-labs/zksync-era?rev=4c18755876a42ee81840cadb365b3040194d0ae3#4c18755876a42ee81840cadb365b3040194d0ae3" 5003 | dependencies = [ 5004 | "anyhow", 5005 | "rand", 5006 | "secrecy", 5007 | "serde", 5008 | "zksync_basic_types", 5009 | "zksync_consensus_utils", 5010 | "zksync_crypto_primitives", 5011 | ] 5012 | 5013 | [[package]] 5014 | name = "zksync_consensus_utils" 5015 | version = "0.1.0" 5016 | source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" 5017 | dependencies = [ 5018 | "rand", 5019 | "thiserror", 5020 | "zksync_concurrency", 5021 | ] 5022 | 5023 | [[package]] 5024 | name = "zksync_contracts" 5025 | version = "0.1.0" 5026 | source = "git+https://github.com/matter-labs/zksync-era?rev=4c18755876a42ee81840cadb365b3040194d0ae3#4c18755876a42ee81840cadb365b3040194d0ae3" 5027 | dependencies = [ 5028 | "envy", 5029 | "ethabi", 5030 | "hex", 5031 | "once_cell", 5032 | "serde", 5033 | "serde_json", 5034 | "zksync_utils", 5035 | ] 5036 | 5037 | [[package]] 5038 | name = "zksync_crypto" 5039 | version = "0.1.0" 5040 | source = "git+https://github.com/matter-labs/zksync-era?rev=4c18755876a42ee81840cadb365b3040194d0ae3#4c18755876a42ee81840cadb365b3040194d0ae3" 5041 | dependencies = [ 5042 | "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", 5043 | "hex", 5044 | "once_cell", 5045 | "serde", 5046 | "sha2 0.10.8", 5047 | "thiserror", 5048 | "zksync_basic_types", 5049 | ] 5050 | 5051 | [[package]] 5052 | name = "zksync_crypto_primitives" 5053 | version = "0.1.0" 5054 | source = "git+https://github.com/matter-labs/zksync-era?rev=4c18755876a42ee81840cadb365b3040194d0ae3#4c18755876a42ee81840cadb365b3040194d0ae3" 5055 | dependencies = [ 5056 | "anyhow", 5057 | "hex", 5058 | "rand", 5059 | "secp256k1", 5060 | "serde", 5061 | "serde_json", 5062 | "thiserror", 5063 | "zksync_basic_types", 5064 | "zksync_utils", 5065 | ] 5066 | 5067 | [[package]] 5068 | name = "zksync_mini_merkle_tree" 5069 | version = "0.1.0" 5070 | source = "git+https://github.com/matter-labs/zksync-era?rev=4c18755876a42ee81840cadb365b3040194d0ae3#4c18755876a42ee81840cadb365b3040194d0ae3" 5071 | dependencies = [ 5072 | "once_cell", 5073 | "zksync_basic_types", 5074 | "zksync_crypto", 5075 | ] 5076 | 5077 | [[package]] 5078 | name = "zksync_protobuf" 5079 | version = "0.1.0" 5080 | source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" 5081 | dependencies = [ 5082 | "anyhow", 5083 | "bit-vec", 5084 | "once_cell", 5085 | "prost 0.12.6", 5086 | "prost-reflect", 5087 | "quick-protobuf", 5088 | "rand", 5089 | "serde", 5090 | "serde_json", 5091 | "serde_yaml", 5092 | "zksync_concurrency", 5093 | "zksync_consensus_utils", 5094 | "zksync_protobuf_build", 5095 | ] 5096 | 5097 | [[package]] 5098 | name = "zksync_protobuf_build" 5099 | version = "0.1.0" 5100 | source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" 5101 | dependencies = [ 5102 | "anyhow", 5103 | "heck 0.5.0", 5104 | "prettyplease", 5105 | "proc-macro2", 5106 | "prost-build", 5107 | "prost-reflect", 5108 | "protox", 5109 | "quote", 5110 | "syn 2.0.67", 5111 | ] 5112 | 5113 | [[package]] 5114 | name = "zksync_system_constants" 5115 | version = "0.1.0" 5116 | source = "git+https://github.com/matter-labs/zksync-era?rev=4c18755876a42ee81840cadb365b3040194d0ae3#4c18755876a42ee81840cadb365b3040194d0ae3" 5117 | dependencies = [ 5118 | "once_cell", 5119 | "zksync_basic_types", 5120 | "zksync_utils", 5121 | ] 5122 | 5123 | [[package]] 5124 | name = "zksync_types" 5125 | version = "0.1.0" 5126 | source = "git+https://github.com/matter-labs/zksync-era?rev=4c18755876a42ee81840cadb365b3040194d0ae3#4c18755876a42ee81840cadb365b3040194d0ae3" 5127 | dependencies = [ 5128 | "anyhow", 5129 | "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", 5130 | "chrono", 5131 | "derive_more 1.0.0-beta.6", 5132 | "hex", 5133 | "itertools 0.10.5", 5134 | "num", 5135 | "num_enum 0.7.2", 5136 | "once_cell", 5137 | "prost 0.12.6", 5138 | "rlp", 5139 | "secp256k1", 5140 | "serde", 5141 | "serde_json", 5142 | "strum 0.24.1", 5143 | "thiserror", 5144 | "zksync_basic_types", 5145 | "zksync_config", 5146 | "zksync_contracts", 5147 | "zksync_crypto_primitives", 5148 | "zksync_mini_merkle_tree", 5149 | "zksync_protobuf", 5150 | "zksync_protobuf_build", 5151 | "zksync_system_constants", 5152 | "zksync_utils", 5153 | ] 5154 | 5155 | [[package]] 5156 | name = "zksync_utils" 5157 | version = "0.1.0" 5158 | source = "git+https://github.com/matter-labs/zksync-era?rev=4c18755876a42ee81840cadb365b3040194d0ae3#4c18755876a42ee81840cadb365b3040194d0ae3" 5159 | dependencies = [ 5160 | "anyhow", 5161 | "bigdecimal", 5162 | "futures", 5163 | "hex", 5164 | "itertools 0.10.5", 5165 | "num", 5166 | "once_cell", 5167 | "reqwest 0.11.27", 5168 | "serde", 5169 | "serde_json", 5170 | "thiserror", 5171 | "tokio", 5172 | "tracing", 5173 | "vlog", 5174 | "zk_evm", 5175 | "zksync_basic_types", 5176 | ] 5177 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "zksync-airdrop-rescue" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | # Alloy dependencies 8 | alloy-transport = { git = "https://github.com/alloy-rs/alloy", rev = "5940871", default-features = false } 9 | alloy-sol-types = { version = "0.7.1", features = ["json"] } 10 | alloy-provider = { git = "https://github.com/alloy-rs/alloy", rev = "5940871", features = ["reqwest"] } 11 | alloy-primitives = { version = "0.7.1", features = ["getrandom"] } 12 | alloy-rpc-types = { git = "https://github.com/alloy-rs/alloy", rev = "5940871", default-features = false } 13 | alloy-signer-wallet = { git = "https://github.com/alloy-rs/alloy", rev = "5940871", default-features = false } 14 | alloy-network = { git = "https://github.com/alloy-rs/alloy", rev = "5940871", default-features = false } 15 | 16 | # Miscellaneous dependencies 17 | reqwest = { version = "0.12.5", features = ["json"] } 18 | eyre = "0.6.12" 19 | futures = "0.3" 20 | hex = "0.4" 21 | serde = { version = "1.0", features = ["derive"] } 22 | serde_json = "1.0" 23 | tokio = { version = "1", features = ["full"] } 24 | rlp = "0.5" 25 | 26 | # dotenv 27 | dotenv = "0.15.0" 28 | 29 | # zksync-era lib 30 | zksync_types = { git = "https://github.com/matter-labs/zksync-era", rev = "4c18755876a42ee81840cadb365b3040194d0ae3" } 31 | zksync_crypto_primitives = { git = "https://github.com/matter-labs/zksync-era", rev = "4c18755876a42ee81840cadb365b3040194d0ae3" } 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 codeesura 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ZkSync Airdrop Rescue Tool 2 | 3 | ## Overview 4 | 5 | This tool automates the process of claiming airdrops on the ZkSync Era network, specifically designed for compromised wallets with no ETH. It uses a paymaster for gasless transactions, allowing claims even from wallets without funds. 6 | 7 | ## ⚠️ Disclaimer 8 | 9 | This tool is for educational and recovery purposes only. Use at your own risk and ensure you have the right to claim the targeted airdrops. 10 | 11 | ## Setup 12 | 13 | 1. Clone the repository: 14 | ``` 15 | git clone https://github.com/codeesura/zksync-airdrop-rescue.git 16 | cd zksync-airdrop-rescue 17 | ``` 18 | 19 | 2. Install Rust: 20 | ``` 21 | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 22 | ``` 23 | 24 | 3. Create required JSON files: 25 | - `airdrop_data.json`: Contains merkle proofs and airdrop data. 26 | - `wallets.json`: Contains private keys of wallets to claim for. 27 | 28 | 4. Format of `airdrop_data.json`: 29 | ```json 30 | { 31 | "0x1234...": [{ 32 | "userId": "0x1234...", 33 | "tokenAmount": "1000000000000000000", 34 | "merkleIndex": "123456", 35 | "merkleProof": [ 36 | "0xabcd...", 37 | "0xdef0...", 38 | ... 39 | ] 40 | }], 41 | ... 42 | } 43 | ``` 44 | 45 | 5. Format of `wallets.json`: 46 | ```json 47 | { 48 | "private_keys": [ 49 | "0xabcd1234...", 50 | "0xefgh5678...", 51 | ... 52 | ] 53 | } 54 | ``` 55 | 56 | 6. Adjust constants in `src/utils/constants.rs` if needed. 57 | 58 | 7. Deploy a paymaster contract and fund it with ETH. Update the paymaster address in your configuration. 59 | 60 | ## Usage 61 | 62 | 1. Ensure `airdrop_data.json` and `wallets.json` are properly set up. 63 | 64 | 2. Deploy and fund the paymaster contract: 65 | - Deploy the paymaster contract to ZkSync Era. 66 | - Send sufficient ETH to the paymaster contract to cover gas fees. 67 | 68 | 3. Update the paymaster contract address in `src/utils/constants.rs`. 69 | 70 | 4. Run the tool: 71 | ``` 72 | cargo run --release 73 | ``` 74 | 75 | 5. The tool will automatically: 76 | - Load wallet configurations and airdrop data. 77 | - Attempt to claim airdrops for each wallet using gasless transactions. 78 | - Transfer claimed tokens to a secure address (if configured). 79 | 80 | 6. Monitor the console output for progress and any error messages. 81 | 82 | ## Security Considerations 83 | 84 | - Never share or commit your `wallets.json` file. 85 | - Run this tool in a secure environment. 86 | - After successful claims, move funds to a new, secure wallet. 87 | - Ensure the paymaster contract is properly audited and secure. 88 | 89 | ## Technical Details 90 | 91 | - Built with Rust for high performance and memory safety. 92 | - Uses `alloy_signer_wallet::LocalWallet` for wallet management. 93 | - Implements concurrent processing for faster execution. 94 | - Utilizes a paymaster contract for gasless transactions. 95 | - Employs Merkle proofs for secure airdrop claiming. 96 | 97 | ## License 98 | 99 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. 100 | 101 | ## Contributing 102 | 103 | Contributions, issues, and feature requests are welcome! Check the [issues page](https://github.com/codeesura/zksync-airdrop-rescue/issues). 104 | 105 | ## Contact 106 | 107 | ArmutBey - [@codeesura](https://twitter.com/codeesura) - codeesura@gmail.com 108 | -------------------------------------------------------------------------------- /airdrop_data.json: -------------------------------------------------------------------------------- 1 | { 2 | "0x3BB3b6461a5c1Cdca957EcdC72FD3243eBF338e9": [ 3 | { 4 | "userId": "0x3BB3b6461a5c1Cdca957EcdC72FD3243eBF338e9", 5 | "tokenAmount": "1417000000000000000000", 6 | "criteria": [ 7 | { 8 | "criteriaId": "contract_interactions", 9 | "description": "Interacted with 10 smart contracts", 10 | "criteriaType": "zksync" 11 | }, 12 | { 13 | "criteriaId": "defi_liquidity_provider", 14 | "description": "Deposited liquidity into DeFi protocols", 15 | "criteriaType": "zksync" 16 | }, 17 | { 18 | "criteriaId": "libertas_omnibus_holder", 19 | "description": "Holds a Libertas Omnibus NFT", 20 | "criteriaType": "zksync" 21 | } 22 | ], 23 | "airdrop": { 24 | "id": "f66d93c9-2681-4428-9500-e19fe193b973", 25 | "contractAddress": "0x66Fd4FC8FA52c9bec2AbA368047A0b27e24ecfe4", 26 | "associationStopsAt": "2024-06-14T13:00:00.000Z", 27 | "claimStartsAt": "2024-06-17T07:00:00.000Z", 28 | "finalized": true 29 | }, 30 | "associatedAddress": null, 31 | "merkleIndex": "169804", 32 | "merkleProof": [ 33 | "0x418b3773f8537d5a95a243c1c00e2f56bed41691837b5edf6cb7293720cb4325", 34 | "0xc2f94c26d2c59d1a041370f15b40947193f50a90f5c9cdaddf22444582aa26b2", 35 | "0xfb65592cfb56d3a2e0c36600b37bda9773b0f452d7c77500be05deb73f2f466c", 36 | "0xda01094a1aba551d7a90f56086329a1975b1f104d6de49be908f71fd54843b36", 37 | "0x2826ed9e9bf683c8153056876bbb857632d8ce278c8e9683cb856879f90c7dae", 38 | "0x46a249c524774f0ecf03c8e083a3dd284a74f7964250f73744103b09e710341c", 39 | "0x592e83a0fbe3c31dde35b79b7ee149abee10238ef55eb71c0ac297a25e7d71ae", 40 | "0xc0dfb67763c3a7589e411723e7975995d5b61155093be3d8d0ee3d29887e9a68", 41 | "0x7c6e4d71e832ff8c8a4cad08d467b393684744696275fce93b0e409d8273aa00", 42 | "0xb1b656f80cb13bc21dc1542cc0b282b2573c7040c8782c96d83d80a3524193d9", 43 | "0xd1d98296e617ee5e9eda9757378e6ec1665ad732563c089cd354abe161cfff24", 44 | "0xe10574a7816e65698e2b89c0ad7ac4fa6aea064ff05f096557efb10999f86616", 45 | "0x76b3b99c1005dba732f155de918c73de932531cc2d7e775d8285121fa480635b", 46 | "0x490b10d0c35e95c06b7db3457d76c4d0d6d725b0b53c5fb777b497d26e4b451e", 47 | "0xc6c0d68866a477290c03cb23056bf984f6752ce44cb30169119af8e688449a60", 48 | "0x18a83c79bb6ecee8d684e79d1d16f47f4f260d380a90999907b110404c9a502c", 49 | "0xd057d9bc8ed343edacad6541328d283cf0af83546c35f058a47e43495c3cf8c6", 50 | "0x640009ff94289cc311064e17d2b4b8132ee8d866e4e8067c4b0fbf14b3226342", 51 | "0x991068aad433c8990d4d8b9564af8e849a9285e2db7d9d3f20773673b4494d83", 52 | "0x74e8aa65670c322311dbc3a190daeba1b30b221ec0a2731cda27785942070bd9" 53 | ] 54 | } 55 | ], 56 | "0xa5Fb58d315CA1ff263e252A6560372c58cD420E0": [ 57 | { 58 | "userId": "0xa5Fb58d315CA1ff263e252A6560372c58cD420E0", 59 | "tokenAmount": "3609000000000000000000", 60 | "criteria": [ 61 | { 62 | "criteriaId": "contract_interactions", 63 | "description": "Interacted with 10 smart contracts", 64 | "criteriaType": "zksync" 65 | }, 66 | { 67 | "criteriaId": "defi_liquidity_provider", 68 | "description": "Deposited liquidity into DeFi protocols", 69 | "criteriaType": "zksync" 70 | }, 71 | { 72 | "criteriaId": "heavy_token_trader", 73 | "description": "Traded 10 different ERC20 tokens", 74 | "criteriaType": "zksync" 75 | }, 76 | { 77 | "criteriaId": "paymaster_activity", 78 | "description": "Used paymaster for 5 transactions", 79 | "criteriaType": "zksync" 80 | } 81 | ], 82 | "airdrop": { 83 | "id": "f66d93c9-2681-4428-9500-e19fe193b973", 84 | "contractAddress": "0x66Fd4FC8FA52c9bec2AbA368047A0b27e24ecfe4", 85 | "associationStopsAt": "2024-06-14T13:00:00.000Z", 86 | "claimStartsAt": "2024-06-17T07:00:00.000Z", 87 | "finalized": true 88 | }, 89 | "associatedAddress": null, 90 | "merkleIndex": "451679", 91 | "merkleProof": [ 92 | "0x898f3c5dc09c7e1e5f571dfbd8645ca40170cce66dbaef2b112641c7f5a352a3", 93 | "0xe1e640a65d7c7a8ea1d8917783ef33a572b5889893759224f1b0050beb47d3ad", 94 | "0x93114ef66cf5f3008ccf5a35e250b9a9b94eeddeb0ec0b517a70689a5f8541a5", 95 | "0xb022a4d3bbfbc8c705b66d1e477855fa3b6223cd31a0f07ce5b299d00faa57d6", 96 | "0xc70d47baf8415c076331d837f4aa36cb836eb64c71745de6e0a6a796c319845b", 97 | "0xec0c39294839a519158870c9422440f4bba9c52d35a9e4589362ba26038bfaae", 98 | "0x9af9cbbc426a79644e55ecb861b1be3717f1a4105fea1891900cf315dd2a8bd9", 99 | "0xc9a44196b8a9c8fd0471cfe174bd9ef2a1862f55c6127e604c19b089fb8dd730", 100 | "0x1085a6082cb20202ccc892baee74dc9d536c0b77a4fe917d5f929b8af54c54b0", 101 | "0xf8a2bfd93402b5eaee781057b1948a532bf4fd3b9832fe85c6f6a0d40a5241d6", 102 | "0x836b25f5ecc93117cc291a0c9930d985d64e5d3273205e0b66840358eaa63de4", 103 | "0x189993560857f9916aefc78cd845bf6edf707e5e23652b1c0420aac77079c50c", 104 | "0xf0c960aadc58a0467b89e50a9807a18d6b3eec8b7b95649991e45c34a1c76dd1", 105 | "0x906accde5cd5f827fa33a15128d8b68987d5d7dd695df7b02225a83b36922e5a", 106 | "0x22d7d545c5bfe448b3dedb5c147c7fd2ad9ae093aa52669f36b20dadb97a8030", 107 | "0xbd9a87c049b11f80c94b35c945f549f9e1b87a4888e2834cdb9991b471fb7377", 108 | "0x4d87bfed4b558a7e6909cef5bba0a609d43170c02854d55c51dd26ec653d35e0", 109 | "0x4ea31e922457d78d205ee932e1b42e4dbf98499f31e84c2c21d8e6e4b6902723", 110 | "0x226cff90d6b82409d4714cbba720aa0c11330c8763ff07093c8cf05f5034b64e", 111 | "0x74e8aa65670c322311dbc3a190daeba1b30b221ec0a2731cda27785942070bd9" 112 | ] 113 | } 114 | ], 115 | "0xe9d4199b788AFCD51B17908855CDCd184AdDBe7c": [ 116 | { 117 | "userId": "0xe9d4199b788AFCD51B17908855CDCd184AdDBe7c", 118 | "tokenAmount": "1110000000000000000000", 119 | "criteria": [ 120 | { 121 | "criteriaId": "contract_interactions", 122 | "description": "Interacted with 10 smart contracts", 123 | "criteriaType": "zksync" 124 | }, 125 | { 126 | "criteriaId": "defi_liquidity_provider", 127 | "description": "Deposited liquidity into DeFi protocols", 128 | "criteriaType": "zksync" 129 | }, 130 | { 131 | "criteriaId": "heavy_token_trader", 132 | "description": "Traded 10 different ERC20 tokens", 133 | "criteriaType": "zksync" 134 | }, 135 | { 136 | "criteriaId": "libertas_omnibus_holder", 137 | "description": "Holds a Libertas Omnibus NFT", 138 | "criteriaType": "zksync" 139 | }, 140 | { 141 | "criteriaId": "paymaster_activity", 142 | "description": "Used paymaster for 5 transactions", 143 | "criteriaType": "zksync" 144 | } 145 | ], 146 | "airdrop": { 147 | "id": "f66d93c9-2681-4428-9500-e19fe193b973", 148 | "contractAddress": "0x66Fd4FC8FA52c9bec2AbA368047A0b27e24ecfe4", 149 | "associationStopsAt": "2024-06-14T13:00:00.000Z", 150 | "claimStartsAt": "2024-06-17T07:00:00.000Z", 151 | "finalized": true 152 | }, 153 | "associatedAddress": null, 154 | "merkleIndex": "631802", 155 | "merkleProof": [ 156 | "0x155d9b95dffb0e84fe0e9fe9b8dd459b7cfc965cdc7217c95c3e0f1483d7b97b", 157 | "0xfefa74d7843386eb557850c17634578ab534ffa016ffba04bdc6823abf3f21c7", 158 | "0x75175aa3b33a9c6ff58d5bd2a54503bc1191bc20e4d79b4932e7f175e73e8533", 159 | "0xdf8eced4ee13bd59208d613f19c550cad986f7fc85b8856d0ab3763c12ee11d4", 160 | "0xdc09ca2726973498f1306142ae05f5fb083a037e8cf9404a4b86783c3b576acf", 161 | "0xaef8b4aa148840b8f6ac98e4b88c2928f4f8ef8ce090591345dfb21d5402fbc2", 162 | "0x94c761daebcf59c8de047a1b08cd1604451e77c0a5fca24cb2277612c3ad45b4", 163 | "0x8d3a92c7553ffd86127519a1aad137cfdeedb5315167b6eb9ad7b925176e7173", 164 | "0xc98fb274cbbb20ee0b0800586594814b7540e82ec8bd5db2d1a6875e0c7cc161", 165 | "0xf23afbbb794e01e617a856429b28060324fcf02c916f96d7af9530858312ce3a", 166 | "0x3b9562c0d2d674e71a18b3f7c7064c5282a5dd3ccd16aecd0f8c202470316bae", 167 | "0xba1560ab1a976806065215ee0d8c5c1d598215470937991a678db7ef2fc0c785", 168 | "0x988ab3f091a111f5003299b3e7362218263db2b2d6708b6fd691322505b5dcff", 169 | "0x8c74527f67360331a5237da571871a2b2227209854a74e805c1602d492e60bf7", 170 | "0x4927202b3c205e3fa631070ae08042cd814c8af814a47813ffbf7255ae3e6ea5", 171 | "0xcb7c49d83316fd4c61c297dfd4835179f8b4562097f1d855c111c03088e4ef89", 172 | "0xf79d372f8df651b681ec0df3cacc4c206a40c365b48fafe82fb646bebfc133eb", 173 | "0x8ae7a218ae07ef35213ec748accac683f5cc09a75783bc13e003703765742c6a", 174 | "0x991068aad433c8990d4d8b9564af8e849a9285e2db7d9d3f20773673b4494d83", 175 | "0x74e8aa65670c322311dbc3a190daeba1b30b221ec0a2731cda27785942070bd9" 176 | ] 177 | } 178 | ], 179 | "0x4C0c1dD1180FC39C265DECbF28230bB74248AD2c": [ 180 | { 181 | "userId": "0x4C0c1dD1180FC39C265DECbF28230bB74248AD2c", 182 | "tokenAmount": "1356000000000000000000", 183 | "criteria": [ 184 | { 185 | "criteriaId": "contract_interactions", 186 | "description": "Interacted with 10 smart contracts", 187 | "criteriaType": "zksync" 188 | }, 189 | { 190 | "criteriaId": "defi_liquidity_provider", 191 | "description": "Deposited liquidity into DeFi protocols", 192 | "criteriaType": "zksync" 193 | }, 194 | { 195 | "criteriaId": "heavy_token_trader", 196 | "description": "Traded 10 different ERC20 tokens", 197 | "criteriaType": "zksync" 198 | }, 199 | { 200 | "criteriaId": "libertas_omnibus_holder", 201 | "description": "Holds a Libertas Omnibus NFT", 202 | "criteriaType": "zksync" 203 | }, 204 | { 205 | "criteriaId": "paymaster_activity", 206 | "description": "Used paymaster for 5 transactions", 207 | "criteriaType": "zksync" 208 | } 209 | ], 210 | "airdrop": { 211 | "id": "f66d93c9-2681-4428-9500-e19fe193b973", 212 | "contractAddress": "0x66Fd4FC8FA52c9bec2AbA368047A0b27e24ecfe4", 213 | "associationStopsAt": "2024-06-14T13:00:00.000Z", 214 | "claimStartsAt": "2024-06-17T07:00:00.000Z", 215 | "finalized": true 216 | }, 217 | "associatedAddress": null, 218 | "merkleIndex": "213605", 219 | "merkleProof": [ 220 | "0xe3ff5ed8ed74170545c005109ee270c2312c4cac912fe9e68d08bfc2a072e339", 221 | "0x8e3b9aa4899d7c7353bb1263ec10e9c5b50e8ed74981c1d14675adc2835e7dff", 222 | "0x860c172b99f40803dc5296218899da62dfbc6bbc7b8d488be4be22e2c5795342", 223 | "0x01f1c4b0a94d08c9eb83a521ceffbd85c8a252c31a799f151844222562e3a5cf", 224 | "0x847bea03c8f6c5a5c34e3588d9fb0d9a4995334ed52f39f8bb273bf90b4c5319", 225 | "0x25af676eab36d96be8c70a679dca4949daec7243c6645ff5872a38cbd907c8b1", 226 | "0x2d17663eb79f28d14e29b8d06969ff5890023e76e67b2640cd23f5db722c2c53", 227 | "0x2ee81fa571e0074491911f51eb5e422d3075b8d320bd090fea5fad342e6ab7aa", 228 | "0xc37fceba0795f2c47583ce9033d7df399513a1d520879035448408b24b06fc73", 229 | "0x7056da7d1aef3a98f15f845d4348c2de579f4fe4b234b08db74ff697248b12f7", 230 | "0x828dd3d7453df2f58f30c6172790b90bc40beb9f9c94bf3963716ac1cb6f1836", 231 | "0xbe9ddcfe2949e2ff3fec5d94fbd4af2d3126005ffa507b5b018261954c45905c", 232 | "0x0658b275f6ef57c30a90f6d20e04e8be025cea713303381b76fcbd3283d740f4", 233 | "0x73eddb435a1e6c0d05a666b60acf9e58477b6402fe5f3157fdc27d1461de70d0", 234 | "0xfb1a3323e6c29d0f7b6fafc04b6adb2707c206c39e31635bd0cc3320fa799152", 235 | "0x151d293f7cdc52d80e26f45e86a21d01d7bb9c7244682e397a60ed29fb3c5f75", 236 | "0x991aaccd914832e925de5ebb6198427a149e13f146be232484cd44bedc1db2ec", 237 | "0x60129e33376f24766c7de887c815c0b36a385d82de2f93a0ba2515ab1eb80588", 238 | "0xf30b9e1d3ccc867b00fd1b4c8b66dbdbec17962a94b65b7751f783ec0789ef66" 239 | ], 240 | "claimStatus": { 241 | "status": "success", 242 | "txHash": null 243 | } 244 | } 245 | ] 246 | } -------------------------------------------------------------------------------- /clippy.toml: -------------------------------------------------------------------------------- 1 | msrv = "1.76" -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- 1 | reorder_imports = true 2 | use_field_init_shorthand = true 3 | use_small_heuristics = "Max" 4 | 5 | # Nightly 6 | max_width = 100 7 | comment_width = 100 8 | imports_granularity = "Crate" 9 | wrap_comments = true 10 | format_code_in_doc_comments = true 11 | doc_comment_code_block_width = 100 12 | format_macro_matchers = true -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | mod provider; 2 | mod transactions; 3 | mod wallet; 4 | 5 | use alloy_signer_wallet::LocalWallet; 6 | use dotenv::dotenv; 7 | use eyre::Result; 8 | use futures::future::join_all; 9 | use provider::setup_provider; 10 | use std::{sync::Arc, time::Instant}; 11 | use transactions::{claim::perform_claim, transfer::perform_transfer, WalletProcessParams}; 12 | use wallet::{load_airdrop_data, load_wallet_config}; 13 | 14 | #[tokio::main(flavor = "multi_thread")] 15 | async fn main() -> Result<()> { 16 | dotenv().ok(); 17 | 18 | let provider = setup_provider().await?; 19 | let provider = Arc::clone(&provider); 20 | 21 | let config = load_wallet_config("wallets.json").await?; 22 | let chain_id = provider.get_chain_id().await?; 23 | let start_time = Instant::now(); 24 | 25 | let airdrop_data = load_airdrop_data("airdrop_data.json").await?; 26 | 27 | let tasks: Vec<_> = config 28 | .private_keys 29 | .into_iter() 30 | .map(|private_key| { 31 | let signer: LocalWallet = private_key.parse().unwrap(); 32 | let signer_address = signer.address().to_string(); 33 | 34 | if let Some(user_data_array) = airdrop_data.get(&signer_address) { 35 | let user_data = &user_data_array[0]; 36 | let index = user_data["merkleIndex"].as_str().unwrap().parse::().unwrap(); 37 | let amount = user_data["tokenAmount"].as_str().unwrap().parse::().unwrap(); 38 | let merkle_proof: Vec = user_data["merkleProof"] 39 | .as_array() 40 | .unwrap() 41 | .iter() 42 | .map(|v| v.as_str().unwrap().to_string()) 43 | .collect(); 44 | 45 | let provider = Arc::clone(&provider); 46 | let params = WalletProcessParams::new( 47 | provider, 48 | private_key, 49 | chain_id, 50 | index, 51 | amount, 52 | merkle_proof, 53 | ); 54 | tokio::spawn(async move { process_wallet(params).await }) 55 | } else { 56 | tokio::spawn(async { Err(eyre::eyre!("User data not found")) }) 57 | } 58 | }) 59 | .collect(); 60 | 61 | let results = join_all(tasks).await; 62 | 63 | for result in results { 64 | match result { 65 | Ok(Ok(())) => println!("Task completed successfully"), 66 | Ok(Err(e)) => eprintln!("Task failed: {:?}", e), 67 | Err(e) => eprintln!("Task panicked: {:?}", e), 68 | } 69 | } 70 | 71 | let end_time = Instant::now(); 72 | let duration = end_time.duration_since(start_time); 73 | 74 | println!("process_wallet duration: {:?}", duration); 75 | 76 | Ok(()) 77 | } 78 | 79 | async fn process_wallet(params: WalletProcessParams) -> Result<(), eyre::Report> { 80 | let WalletProcessParams { 81 | provider, 82 | private_key, 83 | chain_id, 84 | claim_contract_address, 85 | token_contract_address, 86 | recipient_address, 87 | index, 88 | amount, 89 | merkle_proof, 90 | } = params; 91 | 92 | let signer: LocalWallet = private_key.parse().unwrap(); 93 | let signer = Arc::new(signer); 94 | let provider = Arc::clone(&provider); 95 | let merkle_proof = Arc::new(merkle_proof); 96 | 97 | loop { 98 | let claim_future = { 99 | let provider = Arc::clone(&provider); 100 | let signer = Arc::clone(&signer); 101 | let merkle_proof = Arc::clone(&merkle_proof); 102 | async move { 103 | match perform_claim( 104 | provider.clone(), 105 | &signer, 106 | chain_id, 107 | claim_contract_address, 108 | index, 109 | amount, 110 | merkle_proof.to_vec(), 111 | ) 112 | .await 113 | { 114 | Ok(_) => { 115 | println!("Claim transaction succeeded."); 116 | Ok(()) 117 | } 118 | Err(e) => { 119 | eprintln!("Claim transaction failed: {:?}", e); 120 | Err(e) 121 | } 122 | } 123 | } 124 | }; 125 | 126 | let transfer_future = { 127 | let provider = Arc::clone(&provider); 128 | let signer = Arc::clone(&signer); 129 | async move { 130 | match perform_transfer( 131 | provider.clone(), 132 | &signer, 133 | chain_id, 134 | token_contract_address, 135 | recipient_address, 136 | amount, 137 | ) 138 | .await 139 | { 140 | Ok(_) => { 141 | println!("Transfer transaction succeeded."); 142 | Ok(()) 143 | } 144 | Err(e) => { 145 | eprintln!("Transfer transaction failed: {:?}", e); 146 | Err(e) 147 | } 148 | } 149 | } 150 | }; 151 | 152 | let (claim_result, transfer_result) = tokio::join!(claim_future, transfer_future); 153 | 154 | match (claim_result, transfer_result) { 155 | (Ok(_), Ok(_)) => return Ok(()), 156 | (Err(claim_err), Ok(_)) => { 157 | eprintln!("Retrying claim transaction due to error: {:?}", claim_err); 158 | } 159 | (Ok(_), Err(transfer_err)) => { 160 | eprintln!("Retrying transfer transaction due to error: {:?}", transfer_err); 161 | } 162 | (Err(claim_err), Err(transfer_err)) => { 163 | eprintln!( 164 | "Retrying both transactions due to errors: claim - {:?}, transfer - {:?}", 165 | claim_err, transfer_err 166 | ); 167 | } 168 | } 169 | } 170 | } 171 | -------------------------------------------------------------------------------- /src/provider.rs: -------------------------------------------------------------------------------- 1 | use crate::transactions::constants::{CHAIN_ID, PROVIDER_URL}; 2 | use alloy_provider::{network::AnyNetwork, Provider, ProviderBuilder}; 3 | use alloy_transport::BoxTransport; 4 | use eyre::{Report, Result}; 5 | use std::sync::Arc; 6 | 7 | pub async fn setup_provider() -> Result>, Report> { 8 | let provider = ProviderBuilder::<_, _, AnyNetwork>::default() 9 | .with_chain_id(CHAIN_ID) 10 | .on_builtin(PROVIDER_URL) 11 | .await?; 12 | Ok(Arc::new(provider)) 13 | } 14 | -------------------------------------------------------------------------------- /src/transactions/claim.rs: -------------------------------------------------------------------------------- 1 | use super::{ 2 | common::{encode_claim, get_private_key}, 3 | transaction_request::{create_transaction_request, sign_transaction, TransactionParams}, 4 | }; 5 | use crate::transactions::constants::CLAIM_GAZ_LIMIT; 6 | use alloy_primitives::Address; 7 | use alloy_provider::{network::AnyNetwork, Provider}; 8 | use alloy_signer_wallet::LocalWallet; 9 | use alloy_transport::BoxTransport; 10 | use eyre::Report; 11 | use std::sync::Arc; 12 | 13 | pub async fn perform_claim( 14 | provider: Arc>, 15 | signer: &LocalWallet, 16 | chain_id: u64, 17 | claim_contract_address: Address, 18 | index: u64, 19 | amount: u128, 20 | merkle_proof: Vec, 21 | ) -> Result<(), Report> { 22 | let sender_address = signer.address(); 23 | let private_key = get_private_key(signer).await?; 24 | 25 | let claim_bytes = encode_claim(index, amount, merkle_proof); 26 | 27 | let mut nonce = provider.get_transaction_count(sender_address).await.unwrap(); 28 | loop { 29 | // Gas price * 2 30 | let gas_price = provider.get_gas_price().await? * 2; 31 | 32 | let mut claim_tx = create_transaction_request(TransactionParams { 33 | nonce, 34 | from: sender_address, 35 | to: claim_contract_address, 36 | gas_price, 37 | gas_limit: CLAIM_GAZ_LIMIT, 38 | input: claim_bytes.clone(), 39 | chain_id, 40 | }); 41 | 42 | let _ = sign_transaction(&mut claim_tx, &private_key, chain_id); 43 | 44 | if let Some(raw) = claim_tx.raw { 45 | match provider.send_raw_transaction(&raw.0).await { 46 | Ok(pending_tx) => match pending_tx.register().await { 47 | Ok(tx_hash) => { 48 | println!("Claim transaction confirmed. Tx Hash: {:?}", tx_hash); 49 | return Ok(()); 50 | } 51 | Err(_) => { 52 | continue; 53 | } 54 | }, 55 | Err(e) => { 56 | eprintln!("Error transaction: {:?}", e); 57 | if e.to_string().contains("known transaction") 58 | || e.to_string().contains("nonce too low") 59 | { 60 | nonce += 1; 61 | } else if e.to_string().contains("nonce too high") { 62 | nonce -= 1; 63 | } 64 | continue; 65 | } 66 | } 67 | } else { 68 | eprintln!("Error: Transaction raw data is None."); 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/transactions/common.rs: -------------------------------------------------------------------------------- 1 | use alloy_primitives::{Address, Bytes, FixedBytes, U256}; 2 | use alloy_signer_wallet::LocalWallet; 3 | use alloy_sol_types::{sol, SolCall}; 4 | use eyre::Report; 5 | use std::iter::FromIterator; 6 | use zksync_crypto_primitives::K256PrivateKey; 7 | use zksync_types::H256; 8 | 9 | sol! { 10 | function claim(uint256 _index, uint256 _amount, bytes32[] calldata _merkleProof); 11 | function transfer(address to, uint256 amount) returns (bool); 12 | function general(bytes input); 13 | } 14 | 15 | pub fn encode_claim(index: u64, amount: u128, merkle_proof: Vec) -> Bytes { 16 | let proof_tokens: Vec> = merkle_proof 17 | .into_iter() 18 | .map(|p| { 19 | let bytes = hex::decode(p.strip_prefix("0x").unwrap()).unwrap(); 20 | FixedBytes::<32>::from_slice(&bytes) 21 | }) 22 | .collect(); 23 | 24 | let claim_call = claimCall { 25 | _index: U256::from(index), 26 | _amount: U256::from(amount), 27 | _merkleProof: proof_tokens, 28 | }; 29 | let encoded_claim = claim_call.abi_encode(); 30 | Bytes::from_iter(encoded_claim.iter().cloned()) 31 | } 32 | 33 | pub fn encode_transfer(to: Address, amount: U256) -> Bytes { 34 | let transfer_call = transferCall { to, amount }; 35 | let encoded_transfer = transfer_call.abi_encode(); 36 | Bytes::from_iter(encoded_transfer.iter().cloned()) 37 | } 38 | 39 | pub fn convert_address_alloy_to_zksync(alloy_address: Address) -> zksync_types::Address { 40 | let bytes: [u8; 20] = alloy_address.into(); 41 | zksync_types::Address::from(bytes) 42 | } 43 | 44 | pub fn encode_general_paymaster_input() -> Vec { 45 | let input_data: Vec = vec![]; 46 | let general_call = generalCall { input: Bytes::from(input_data) }; 47 | general_call.abi_encode() 48 | } 49 | 50 | pub async fn get_private_key(signer: &LocalWallet) -> Result { 51 | let private_key_bytes: H256 = H256::from_slice(signer.to_bytes().as_slice()); 52 | Ok(K256PrivateKey::from_bytes(private_key_bytes)?) 53 | } 54 | -------------------------------------------------------------------------------- /src/transactions/constants.rs: -------------------------------------------------------------------------------- 1 | pub const PROVIDER_URL: &str = "https://zksync-rpc.felinaprotocol.io/"; 2 | pub const CHAIN_ID: u64 = 324; 3 | 4 | pub const CLAIM_CONTRACT_ADDRESS: &str = "0x66Fd4FC8FA52c9bec2AbA368047A0b27e24ecfe4"; // Merkle distributor address 5 | pub const TOKEN_CONTRACT_ADDRESS: &str = "0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E"; // ZK token address 6 | pub const RECIPIENT_ADDRESS: &str = "0xB09FF7F74e627Ac36F7Ddf2dBDBF9CBea9350Aa0"; // safe wallet 7 | pub const PAYMASTER_ADDRESS: &str = "0x088Cda8Ec913bD5117898B01883Bceeff288254b"; // https://docs.zksync.io/build/zksync-101/paymaster 8 | pub const CLAIM_GAZ_LIMIT: u64 = 1_000_000; 9 | pub const TRANSFER_GAZ_LIMIT: u64 = 300_000; 10 | -------------------------------------------------------------------------------- /src/transactions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod claim; 2 | pub mod common; 3 | pub mod constants; 4 | pub mod transaction_request; 5 | pub mod transfer; 6 | 7 | use crate::transactions::constants::{ 8 | CLAIM_CONTRACT_ADDRESS, RECIPIENT_ADDRESS, TOKEN_CONTRACT_ADDRESS, 9 | }; 10 | use alloy_primitives::Address; 11 | use alloy_provider::{network::AnyNetwork, Provider}; 12 | use alloy_transport::BoxTransport; 13 | use std::{str::FromStr, sync::Arc}; 14 | 15 | pub struct WalletProcessParams { 16 | pub provider: Arc>, 17 | pub private_key: String, 18 | pub chain_id: u64, 19 | pub claim_contract_address: Address, 20 | pub token_contract_address: Address, 21 | pub recipient_address: Address, 22 | pub index: u64, 23 | pub amount: u128, 24 | pub merkle_proof: Vec, 25 | } 26 | 27 | impl WalletProcessParams { 28 | pub fn new( 29 | provider: Arc>, 30 | private_key: String, 31 | chain_id: u64, 32 | index: u64, 33 | amount: u128, 34 | merkle_proof: Vec, 35 | ) -> Self { 36 | Self { 37 | provider, 38 | private_key, 39 | chain_id, 40 | claim_contract_address: Address::from_str(CLAIM_CONTRACT_ADDRESS) 41 | .expect("Invalid claim contract address"), 42 | token_contract_address: Address::from_str(TOKEN_CONTRACT_ADDRESS) 43 | .expect("Invalid token contract address"), 44 | recipient_address: Address::from_str(RECIPIENT_ADDRESS) 45 | .expect("Invalid recipient address"), 46 | index, 47 | amount, 48 | merkle_proof, 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/transactions/transaction_request.rs: -------------------------------------------------------------------------------- 1 | use super::common::{convert_address_alloy_to_zksync, encode_general_paymaster_input}; 2 | use crate::transactions::constants::PAYMASTER_ADDRESS; 3 | use alloy_primitives::{Address, Bytes}; 4 | use rlp::RlpStream; 5 | use std::str::FromStr; 6 | use zksync_crypto_primitives::K256PrivateKey; 7 | use zksync_types::{ 8 | transaction_request::{Eip712Meta, PaymasterParams, TransactionRequest}, 9 | web3::Bytes as zkBytes, 10 | Address as zkAddress, Eip712Domain, L2ChainId, PackedEthSignature, EIP_712_TX_TYPE, 11 | U256 as zkU256, U64, 12 | }; 13 | 14 | pub struct TransactionParams { 15 | pub nonce: u64, 16 | pub from: Address, 17 | pub to: Address, 18 | pub gas_limit: u64, 19 | pub gas_price: u128, 20 | pub input: Bytes, 21 | pub chain_id: u64, 22 | } 23 | 24 | pub fn create_transaction_request(params: TransactionParams) -> TransactionRequest { 25 | TransactionRequest { 26 | nonce: zkU256::from(params.nonce), 27 | from: Some(convert_address_alloy_to_zksync(params.from)), 28 | to: Some(convert_address_alloy_to_zksync(params.to)), 29 | gas_price: zkU256::from(params.gas_price), 30 | max_priority_fee_per_gas: Some(zkU256::from(0)), 31 | gas: zkU256::from(params.gas_limit), 32 | input: zkBytes::from(params.input), 33 | transaction_type: Some(U64::from(EIP_712_TX_TYPE)), 34 | eip712_meta: Some(Eip712Meta { 35 | gas_per_pubdata: zkU256::from(50_000), // Fix gas per pubdata 36 | factory_deps: Some(vec![]), // no factory 37 | custom_signature: Some(vec![]), // no custom sign 38 | paymaster_params: Some(PaymasterParams { 39 | paymaster: zkAddress::from_str(PAYMASTER_ADDRESS).unwrap(), // General paymaster address 40 | paymaster_input: encode_general_paymaster_input(), // input for general paymaster 41 | }), 42 | }), 43 | chain_id: Some(params.chain_id), 44 | ..Default::default() 45 | } 46 | } 47 | 48 | pub fn sign_transaction( 49 | tx: &mut TransactionRequest, 50 | private_key: &K256PrivateKey, 51 | chain_id: u64, 52 | ) -> Result<(), Box> { 53 | let msg = PackedEthSignature::typed_data_to_signed_bytes( 54 | &Eip712Domain::new(L2ChainId::from(chain_id as u32)), 55 | tx, 56 | ); 57 | 58 | let signature = PackedEthSignature::sign_raw(private_key, &msg)?; 59 | 60 | let mut rlp = RlpStream::new(); 61 | tx.rlp(&mut rlp, Some(&signature))?; 62 | let mut data = rlp.out().to_vec(); 63 | data.insert(0, EIP_712_TX_TYPE); 64 | tx.raw = Some(zkBytes(data.clone())); 65 | tx.v = Some(U64::from(signature.v())); 66 | tx.r = Some(zkU256::from_big_endian(signature.r())); 67 | tx.s = Some(zkU256::from_big_endian(signature.s())); 68 | 69 | Ok(()) 70 | } 71 | -------------------------------------------------------------------------------- /src/transactions/transfer.rs: -------------------------------------------------------------------------------- 1 | use super::{ 2 | common::{encode_transfer, get_private_key}, 3 | transaction_request::{create_transaction_request, sign_transaction, TransactionParams}, 4 | }; 5 | use crate::transactions::constants::TRANSFER_GAZ_LIMIT; 6 | use alloy_primitives::{Address, U256}; 7 | use alloy_provider::{network::AnyNetwork, Provider}; 8 | use alloy_signer_wallet::LocalWallet; 9 | use alloy_transport::BoxTransport; 10 | use eyre::Report; 11 | use std::sync::Arc; 12 | 13 | pub async fn perform_transfer( 14 | provider: Arc>, 15 | signer: &LocalWallet, 16 | chain_id: u64, 17 | token_contract_address: Address, 18 | recipient_address: Address, 19 | amount: u128, 20 | ) -> Result<(), Report> { 21 | let sender_address = signer.address(); 22 | let private_key = get_private_key(signer).await?; 23 | 24 | let amount = U256::from(amount); 25 | let encoded_bytes = encode_transfer(recipient_address, amount); 26 | 27 | let mut nonce = provider.get_transaction_count(sender_address).await.unwrap(); 28 | nonce += 1; 29 | 30 | loop { 31 | // Gas price * 2 32 | let gas_price = provider.get_gas_price().await? * 2; 33 | 34 | let mut transfer_tx = create_transaction_request(TransactionParams { 35 | nonce, 36 | from: sender_address, 37 | to: token_contract_address, 38 | gas_price, 39 | gas_limit: TRANSFER_GAZ_LIMIT, 40 | input: encoded_bytes.clone(), 41 | chain_id, 42 | }); 43 | 44 | let _ = sign_transaction(&mut transfer_tx, &private_key, chain_id); 45 | 46 | if let Some(raw) = transfer_tx.raw { 47 | match provider.send_raw_transaction(&raw.0).await { 48 | Ok(pending_tx) => match pending_tx.register().await { 49 | Ok(tx_hash) => { 50 | println!("Transfer transaction confirmed. Tx Hash: {:?}", tx_hash); 51 | return Ok(()); 52 | } 53 | Err(_) => { 54 | continue; 55 | } 56 | }, 57 | Err(e) => { 58 | eprintln!("Error transaction: {:?}", e); 59 | if e.to_string().contains("known transaction") 60 | || e.to_string().contains("nonce too low") 61 | { 62 | nonce += 1; 63 | } else if e.to_string().contains("nonce too high") { 64 | nonce -= 1; 65 | } 66 | continue; 67 | } 68 | } 69 | } else { 70 | eprintln!("Error: Transaction raw data is None."); 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /src/wallet.rs: -------------------------------------------------------------------------------- 1 | use eyre::{Report, Result}; 2 | use serde::Deserialize; 3 | use serde_json::Value; 4 | use std::collections::HashMap; 5 | use tokio::{fs::File, io::AsyncReadExt}; 6 | 7 | #[derive(Deserialize)] 8 | pub struct WalletConfig { 9 | pub private_keys: Vec, 10 | } 11 | 12 | pub async fn load_wallet_config(file_path: &str) -> Result { 13 | let mut file = File::open(file_path).await?; 14 | let mut contents = vec![]; 15 | file.read_to_end(&mut contents).await?; 16 | let config: WalletConfig = serde_json::from_slice(&contents)?; 17 | Ok(config) 18 | } 19 | 20 | pub async fn load_airdrop_data(file_path: &str) -> Result, Report> { 21 | let mut file = File::open(file_path).await?; 22 | let mut contents = vec![]; 23 | file.read_to_end(&mut contents).await?; 24 | let data: HashMap = serde_json::from_slice(&contents)?; 25 | Ok(data) 26 | } 27 | -------------------------------------------------------------------------------- /wallets.json: -------------------------------------------------------------------------------- 1 | { 2 | "private_keys": [ 3 | "privatekey1", 4 | "privatekey2", 5 | "privatekey3" 6 | ] 7 | } --------------------------------------------------------------------------------