@@ -39,13 +39,15 @@ pub(crate) trait CrystalCallAPIPostgreSQLStorage {
3939 pallet_name : & Option < String > ,
4040 pallet_call_name : & Option < String > ,
4141 page_size : u32 ,
42+ extrinsic_is_signed : Option < bool > ,
4243 include_args : bool ,
4344 ) -> anyhow:: Result < Vec < CallRow > > ;
4445 async fn get_call_count_by_block_hash (
4546 & self ,
4647 block_hash : & [ u8 ] ,
4748 pallet_name : & Option < String > ,
4849 pallet_call_name : & Option < String > ,
50+ extrinsic_is_signed : Option < bool > ,
4951 ) -> anyhow:: Result < u64 > ;
5052 async fn get_calls_by_block_hash (
5153 & self ,
@@ -54,13 +56,15 @@ pub(crate) trait CrystalCallAPIPostgreSQLStorage {
5456 pallet_call_name : & Option < String > ,
5557 page : u32 ,
5658 page_size : u32 ,
59+ extrinsic_is_signed : Option < bool > ,
5760 include_args : bool ,
5861 ) -> anyhow:: Result < Vec < CallRow > > ;
5962 async fn get_call_count_by_block_number (
6063 & self ,
6164 block_number : u64 ,
6265 pallet_name : & Option < String > ,
6366 pallet_call_name : & Option < String > ,
67+ extrinsic_is_signed : Option < bool > ,
6468 ) -> anyhow:: Result < u64 > ;
6569 async fn get_calls_by_block_number (
6670 & self ,
@@ -69,6 +73,7 @@ pub(crate) trait CrystalCallAPIPostgreSQLStorage {
6973 pallet_call_name : & Option < String > ,
7074 page : u32 ,
7175 page_size : u32 ,
76+ extrinsic_is_signed : Option < bool > ,
7277 include_args : bool ,
7378 ) -> anyhow:: Result < Vec < CallRow > > ;
7479 async fn get_call_count_by_block_hash_and_extrinsic_index (
@@ -163,6 +168,7 @@ impl CrystalCallAPIPostgreSQLStorage for PostgreSQLStorage {
163168 pallet_name : & Option < String > ,
164169 pallet_call_name : & Option < String > ,
165170 page_size : u32 ,
171+ extrinsic_is_signed : Option < bool > ,
166172 include_args : bool ,
167173 ) -> anyhow:: Result < Vec < CallRow > > {
168174 let query = get_select_query ( include_args) ;
@@ -205,6 +211,11 @@ impl CrystalCallAPIPostgreSQLStorage for PostgreSQLStorage {
205211 query_builder. push ( ")" ) ;
206212 }
207213
214+ if let Some ( extrinsic_is_signed) = extrinsic_is_signed {
215+ query_builder
216+ . push ( " AND C.extrinsic_is_signed = " )
217+ . push_bind ( extrinsic_is_signed) ;
218+ }
208219 if let Some ( pallet_name) = pallet_name {
209220 query_builder
210221 . push ( " AND MP.name ILIKE " )
@@ -231,11 +242,17 @@ impl CrystalCallAPIPostgreSQLStorage for PostgreSQLStorage {
231242 block_hash : & [ u8 ] ,
232243 pallet_name : & Option < String > ,
233244 pallet_call_name : & Option < String > ,
245+ extrinsic_is_signed : Option < bool > ,
234246 ) -> anyhow:: Result < u64 > {
235247 let mut query_builder: QueryBuilder < Postgres > = QueryBuilder :: new ( COUNT ) ;
236248 query_builder
237249 . push ( " WHERE C.block_hash = " )
238250 . push_bind ( block_hash) ;
251+ if let Some ( extrinsic_is_signed) = extrinsic_is_signed {
252+ query_builder
253+ . push ( " AND C.extrinsic_is_signed = " )
254+ . push_bind ( extrinsic_is_signed) ;
255+ }
239256 if let Some ( pallet_name) = pallet_name {
240257 query_builder
241258 . push ( " AND MP.name ILIKE " )
@@ -260,6 +277,7 @@ impl CrystalCallAPIPostgreSQLStorage for PostgreSQLStorage {
260277 pallet_call_name : & Option < String > ,
261278 page : u32 ,
262279 page_size : u32 ,
280+ extrinsic_is_signed : Option < bool > ,
263281 include_args : bool ,
264282 ) -> anyhow:: Result < Vec < CallRow > > {
265283 let offset = ( page - 1 ) * page_size;
@@ -268,6 +286,11 @@ impl CrystalCallAPIPostgreSQLStorage for PostgreSQLStorage {
268286 query_builder
269287 . push ( " AND C.block_hash = " )
270288 . push_bind ( block_hash) ;
289+ if let Some ( extrinsic_is_signed) = extrinsic_is_signed {
290+ query_builder
291+ . push ( " AND C.extrinsic_is_signed = " )
292+ . push_bind ( extrinsic_is_signed) ;
293+ }
271294 if let Some ( pallet_name) = pallet_name {
272295 query_builder
273296 . push ( " AND MP.name ILIKE " )
@@ -294,11 +317,17 @@ impl CrystalCallAPIPostgreSQLStorage for PostgreSQLStorage {
294317 block_number : u64 ,
295318 pallet_name : & Option < String > ,
296319 pallet_call_name : & Option < String > ,
320+ extrinsic_is_signed : Option < bool > ,
297321 ) -> anyhow:: Result < u64 > {
298322 let mut query_builder: QueryBuilder < Postgres > = QueryBuilder :: new ( COUNT ) ;
299323 query_builder
300324 . push ( " WHERE C.block_number = " )
301325 . push_bind ( block_number as i64 ) ;
326+ if let Some ( extrinsic_is_signed) = extrinsic_is_signed {
327+ query_builder
328+ . push ( " AND C.extrinsic_is_signed = " )
329+ . push_bind ( extrinsic_is_signed) ;
330+ }
302331 if let Some ( pallet_name) = pallet_name {
303332 query_builder
304333 . push ( " AND MP.name ILIKE " )
@@ -323,6 +352,7 @@ impl CrystalCallAPIPostgreSQLStorage for PostgreSQLStorage {
323352 pallet_call_name : & Option < String > ,
324353 page : u32 ,
325354 page_size : u32 ,
355+ extrinsic_is_signed : Option < bool > ,
326356 include_args : bool ,
327357 ) -> anyhow:: Result < Vec < CallRow > > {
328358 let offset = ( page - 1 ) * page_size;
@@ -331,6 +361,11 @@ impl CrystalCallAPIPostgreSQLStorage for PostgreSQLStorage {
331361 query_builder
332362 . push ( " AND C.block_number = " )
333363 . push_bind ( block_number as i64 ) ;
364+ if let Some ( extrinsic_is_signed) = extrinsic_is_signed {
365+ query_builder
366+ . push ( " AND C.extrinsic_is_signed = " )
367+ . push_bind ( extrinsic_is_signed) ;
368+ }
334369 if let Some ( pallet_name) = pallet_name {
335370 query_builder
336371 . push ( " AND MP.name ILIKE " )
0 commit comments