feat: client trait + porting client proc macros (#199)
* draft: client trait sketch... * use async_trait instead of `Box<Future>` * refactor client trait * [types]: shared client types. * integrate with `jsonrpsee_proc_macros::rpc_api` * Update proc-macros/src/lib.rs * integrate with proc macros * fix: hacky support for generic types in proc macro * fix: make the examples work. * trait: error associated type * Update types/src/traits.rs * client trait: make object safe. Make the trait usable as a trait object i.e, `Box<dyn Trait>` * client trait: remove `Self::Sized` * add tests for proc macros. * fix build * fmt * [client trait]: remove unused associated error typ * [proc macros]: separate enum variant each return_t * add tracking issue to `TODO` * doc(client trait): improve documentation. * separate trait for subscribing client * add documentation * proc macros: remove debug impl * fix compile warns * address grumbles: remove fn process_response * Update types/src/client.rs Co-authored-by:David <dvdplm@gmail.com> * Update types/src/client.rs Co-authored-by:
David <dvdplm@gmail.com> * Update types/src/client.rs Co-authored-by:
David <dvdplm@gmail.com> * Update types/src/client.rs Co-authored-by:
David <dvdplm@gmail.com> * Update types/src/client.rs Co-authored-by:
David <dvdplm@gmail.com> * remove old proc macro tests * address grumbles: shorter lines Co-authored-by:
David <dvdplm@gmail.com>