@@ -7,7 +7,7 @@ use alloy_json_abi::JsonAbi;
77use alloy_primitives:: { B256 , Selector , map:: HashMap } ;
88use eyre:: Context ;
99use itertools:: Itertools ;
10- use serde:: { Deserialize , Serialize , de :: DeserializeOwned } ;
10+ use serde:: { Deserialize , Serialize } ;
1111use std:: {
1212 fmt,
1313 sync:: {
@@ -19,7 +19,6 @@ use std::{
1919
2020const BASE_URL : & str = "https://sourcify.dev/server" ;
2121const SELECTOR_LOOKUP_URL : & str = "https://sourcify.dev/server/signature-database/v1/lookup" ;
22- const SELECTOR_IMPORT_URL : & str = "https://sourcify.dev/server/signature-database/v1/import" ;
2322
2423/// The standard request timeout for API requests.
2524const REQ_TIMEOUT : Duration = Duration :: from_secs ( 15 ) ;
@@ -70,24 +69,6 @@ impl SourcifyClient {
7069 . inspect_err ( |err| self . on_reqwest_err ( err) )
7170 }
7271
73- /// Sends a new post request
74- async fn post_json < T : Serialize + std:: fmt:: Debug , R : DeserializeOwned > (
75- & self ,
76- url : & str ,
77- body : & T ,
78- ) -> reqwest:: Result < R > {
79- trace ! ( %url, body=?serde_json:: to_string( body) , "POST" ) ;
80- self . inner
81- . post ( url)
82- . json ( body)
83- . send ( )
84- . await
85- . inspect_err ( |err| self . on_reqwest_err ( err) ) ?
86- . json ( )
87- . await
88- . inspect_err ( |err| self . on_reqwest_err ( err) )
89- }
90-
9172 fn on_reqwest_err ( & self , err : & reqwest:: Error ) {
9273 fn is_connectivity_err ( err : & reqwest:: Error ) -> bool {
9374 if err. is_timeout ( ) || err. is_connect ( ) {
@@ -280,42 +261,6 @@ impl SourcifyClient {
280261 }
281262 Ok ( possible_info)
282263 }
283-
284- /// uploads selectors to Sourcify using the given data
285- pub async fn import_selectors (
286- & self ,
287- data : SelectorImportData ,
288- ) -> eyre:: Result < SelectorImportResponse > {
289- self . ensure_not_spurious ( ) ?;
290-
291- let request = match data {
292- SelectorImportData :: Abi ( abis) => {
293- let functions_and_errors: SourcifySignatures = abis
294- . iter ( )
295- . flat_map ( |abi| {
296- abi. functions ( )
297- . map ( |func| func. signature ( ) )
298- . chain ( abi. errors ( ) . map ( |error| error. signature ( ) ) )
299- . collect :: < Vec < _ > > ( )
300- } )
301- . collect ( ) ;
302-
303- let events = abis
304- . iter ( )
305- . flat_map ( |abi| abi. events ( ) . map ( |event| event. signature ( ) ) )
306- . collect :: < Vec < _ > > ( ) ;
307-
308- SelectorImportRequest { function : functions_and_errors, event : events }
309- }
310- SelectorImportData :: Raw ( raw) => {
311- let function_and_error =
312- raw. function . iter ( ) . chain ( raw. error . iter ( ) ) . cloned ( ) . collect :: < Vec < _ > > ( ) ;
313- SelectorImportRequest { function : function_and_error, event : raw. event }
314- }
315- } ;
316-
317- Ok ( self . post_json ( SELECTOR_IMPORT_URL , & request) . await ?)
318- }
319264}
320265
321266pub enum SelectorOrSig {
@@ -447,61 +392,6 @@ impl RawSelectorImportData {
447392 }
448393}
449394
450- #[ derive( Serialize ) ]
451- #[ serde( untagged) ]
452- pub enum SelectorImportData {
453- Abi ( Vec < JsonAbi > ) ,
454- Raw ( RawSelectorImportData ) ,
455- }
456-
457- #[ derive( Debug , Default , Serialize ) ]
458- struct SelectorImportRequest {
459- function : SourcifySignatures ,
460- event : SourcifySignatures ,
461- }
462-
463- #[ derive( Debug , Deserialize ) ]
464- struct SelectorImportEffect {
465- imported : HashMap < String , String > ,
466- duplicated : HashMap < String , String > ,
467- }
468-
469- #[ derive( Debug , Deserialize ) ]
470- struct SelectorImportResult {
471- function : SelectorImportEffect ,
472- event : SelectorImportEffect ,
473- }
474-
475- #[ derive( Debug , Deserialize ) ]
476- pub struct SelectorImportResponse {
477- result : SelectorImportResult ,
478- }
479-
480- impl SelectorImportResponse {
481- /// Print info about the functions which were uploaded or already known
482- pub fn describe ( & self ) {
483- self . result . function . imported . iter ( ) . for_each ( |( k, v) | {
484- let _ = sh_println ! ( "Imported: Function {k}: {v}" ) ;
485- } ) ;
486- self . result . event . imported . iter ( ) . for_each ( |( k, v) | {
487- let _ = sh_println ! ( "Imported: Event {k}: {v}" ) ;
488- } ) ;
489- self . result . function . duplicated . iter ( ) . for_each ( |( k, v) | {
490- let _ = sh_println ! ( "Duplicated: Function {k}: {v}" ) ;
491- } ) ;
492- self . result . event . duplicated . iter ( ) . for_each ( |( k, v) | {
493- let _ = sh_println ! ( "Duplicated: Event {k}: {v}" ) ;
494- } ) ;
495-
496- let _ = sh_println ! ( "Selectors successfully uploaded to Sourcify" ) ;
497- }
498- }
499-
500- /// uploads selectors to Sourcify using the given data
501- pub async fn import_selectors ( data : SelectorImportData ) -> eyre:: Result < SelectorImportResponse > {
502- SourcifyClient :: new ( ) ?. import_selectors ( data) . await
503- }
504-
505395#[ derive( Debug , Default , PartialEq , Eq ) ]
506396pub struct ParsedSignatures {
507397 pub signatures : RawSelectorImportData ,
0 commit comments