@@ -939,9 +939,11 @@ pub trait ReplacePallet {
939939 /// Get all replace requests made by the given vault
940940 async fn get_old_vault_replace_requests (
941941 & self ,
942- maybe_account_id : Option < AccountId > ,
942+ account_id : AccountId ,
943943 ) -> Result < Vec < ( H256 , InterBtcReplaceRequest ) > , Error > ;
944944
945+ async fn get_all_replace_requests ( & self ) -> Result < Vec < ( H256 , InterBtcReplaceRequest ) > , Error > ;
946+
945947 /// Get the time difference in number of blocks between when a replace
946948 /// request is created and required completion time by a vault
947949 async fn get_replace_period ( & self ) -> Result < u32 , Error > ;
@@ -1035,35 +1037,36 @@ impl ReplacePallet for InterBtcParachain {
10351037 /// Get all replace requests made by the given vault
10361038 async fn get_old_vault_replace_requests (
10371039 & self ,
1038- maybe_account_id : Option < AccountId > ,
1040+ account_id : AccountId ,
10391041 ) -> Result < Vec < ( H256 , InterBtcReplaceRequest ) > , Error > {
10401042 let head = self . get_finalized_block_hash ( ) . await ?;
1041- if let Some ( account_id ) = maybe_account_id {
1042- let result : Vec < H256 > = self
1043- . api
1044- . rpc ( )
1045- . request ( "replace_getOldVaultReplaceRequests" , rpc_params ! [ account_id , head ] )
1046- . await ? ;
1047- join_all (
1048- result
1049- . into_iter ( )
1050- . map ( |key| async move { self . get_replace_request ( key ) . await . map ( |value| ( key , value ) ) } ) ,
1051- )
1052- . await
1053- . into_iter ( )
1054- . collect ( )
1055- } else {
1056- let key_addr = metadata :: storage ( ) . replace ( ) . replace_requests_root ( ) ;
1057- let mut iter = self . api . storage ( ) . iter ( key_addr , DEFAULT_PAGE_SIZE , head ) . await ?;
1058- let mut replace_requests = Vec :: new ( ) ;
1059- while let Some ( ( replace_id , request ) ) = iter . next ( ) . await ? {
1060- let key_hash = replace_id . 0 . as_slice ( ) ;
1061- // last bytes are the raw key
1062- let key = & key_hash [ key_hash . len ( ) - 32 .. ] ;
1063- replace_requests . push ( ( H256 :: from_slice ( key ) , request ) ) ;
1064- }
1065- Ok ( replace_requests)
1043+ let result : Vec < H256 > = self
1044+ . api
1045+ . rpc ( )
1046+ . request ( "replace_getOldVaultReplaceRequests" , rpc_params ! [ account_id , head ] )
1047+ . await ? ;
1048+ join_all (
1049+ result
1050+ . into_iter ( )
1051+ . map ( |key| async move { self . get_replace_request ( key ) . await . map ( |value| ( key , value ) ) } ) ,
1052+ )
1053+ . await
1054+ . into_iter ( )
1055+ . collect ( )
1056+ }
1057+
1058+ async fn get_all_replace_requests ( & self ) -> Result < Vec < ( H256 , InterBtcReplaceRequest ) > , Error > {
1059+ let head = self . get_finalized_block_hash ( ) . await ?;
1060+ let key_addr = metadata :: storage ( ) . replace ( ) . replace_requests_root ( ) ;
1061+ let mut iter = self . api . storage ( ) . iter ( key_addr , DEFAULT_PAGE_SIZE , head ) . await ?;
1062+ let mut replace_requests = Vec :: new ( ) ;
1063+ while let Some ( ( replace_id , request ) ) = iter . next ( ) . await ? {
1064+ let key_hash = replace_id . 0 . as_slice ( ) ;
1065+ // last bytes are the raw key
1066+ let key = & key_hash [ key_hash . len ( ) - 32 .. ] ;
1067+ replace_requests. push ( ( H256 :: from_slice ( key ) , request ) ) ;
10661068 }
1069+ Ok ( replace_requests)
10671070 }
10681071
10691072 async fn get_replace_period ( & self ) -> Result < u32 , Error > {
@@ -1353,13 +1356,15 @@ pub trait RedeemPallet {
13531356
13541357 async fn get_redeem_request ( & self , redeem_id : H256 ) -> Result < InterBtcRedeemRequest , Error > ;
13551358
1356- /// Get all redeem requests, if the account is specified
1357- /// only return those for that Vault
1358- async fn get_redeem_requests (
1359+ /// Get all redeem requests for a vault
1360+ async fn get_vault_redeem_requests (
13591361 & self ,
1360- maybe_account_id : Option < AccountId > ,
1362+ account_id : AccountId ,
13611363 ) -> Result < Vec < ( H256 , InterBtcRedeemRequest ) > , Error > ;
13621364
1365+ /// Get all redeem requests
1366+ async fn get_all_redeem_requests ( & self ) -> Result < Vec < ( H256 , InterBtcRedeemRequest ) > , Error > ;
1367+
13631368 async fn get_redeem_period ( & self ) -> Result < BlockNumber , Error > ;
13641369}
13651370
@@ -1400,37 +1405,38 @@ impl RedeemPallet for InterBtcParachain {
14001405 . await
14011406 }
14021407
1403- async fn get_redeem_requests (
1408+ async fn get_vault_redeem_requests (
14041409 & self ,
1405- maybe_account_id : Option < AccountId > ,
1410+ account_id : AccountId ,
14061411 ) -> Result < Vec < ( H256 , InterBtcRedeemRequest ) > , Error > {
14071412 let head = self . get_finalized_block_hash ( ) . await ?;
1408- if let Some ( account_id ) = maybe_account_id {
1409- let result : Vec < H256 > = self
1410- . api
1411- . rpc ( )
1412- . request ( "redeem_getVaultRedeemRequests" , rpc_params ! [ account_id , head ] )
1413- . await ? ;
1414- join_all (
1415- result
1416- . into_iter ( )
1417- . map ( |key| async move { self . get_redeem_request ( key ) . await . map ( |value| ( key , value ) ) } ) ,
1418- )
1419- . await
1420- . into_iter ( )
1421- . collect ( )
1422- } else {
1423- let key_addr = metadata :: storage ( ) . redeem ( ) . redeem_requests_root ( ) ;
1424- let mut iter = self . api . storage ( ) . iter ( key_addr , DEFAULT_PAGE_SIZE , head ) . await ?;
1425- let mut redeem_requests = Vec :: new ( ) ;
1426- while let Some ( ( redeem_id , request ) ) = iter . next ( ) . await ? {
1427- let key_hash = redeem_id . 0 . as_slice ( ) ;
1428- // last bytes are the raw key
1429- let key = & key_hash [ key_hash . len ( ) - 32 .. ] ;
1430- redeem_requests . push ( ( H256 :: from_slice ( key ) , request ) ) ;
1431- }
1432- Ok ( redeem_requests)
1413+ let result : Vec < H256 > = self
1414+ . api
1415+ . rpc ( )
1416+ . request ( "redeem_getVaultRedeemRequests" , rpc_params ! [ account_id , head ] )
1417+ . await ? ;
1418+ join_all (
1419+ result
1420+ . into_iter ( )
1421+ . map ( |key| async move { self . get_redeem_request ( key ) . await . map ( |value| ( key , value ) ) } ) ,
1422+ )
1423+ . await
1424+ . into_iter ( )
1425+ . collect ( )
1426+ }
1427+
1428+ async fn get_all_redeem_requests ( & self ) -> Result < Vec < ( H256 , InterBtcRedeemRequest ) > , Error > {
1429+ let head = self . get_finalized_block_hash ( ) . await ?;
1430+ let key_addr = metadata :: storage ( ) . redeem ( ) . redeem_requests_root ( ) ;
1431+ let mut iter = self . api . storage ( ) . iter ( key_addr , DEFAULT_PAGE_SIZE , head ) . await ?;
1432+ let mut redeem_requests = Vec :: new ( ) ;
1433+ while let Some ( ( redeem_id , request ) ) = iter . next ( ) . await ? {
1434+ let key_hash = redeem_id . 0 . as_slice ( ) ;
1435+ // last bytes are the raw key
1436+ let key = & key_hash [ key_hash . len ( ) - 32 .. ] ;
1437+ redeem_requests. push ( ( H256 :: from_slice ( key ) , request ) ) ;
14331438 }
1439+ Ok ( redeem_requests)
14341440 }
14351441
14361442 async fn get_redeem_period ( & self ) -> Result < BlockNumber , Error > {
0 commit comments