@@ -15,7 +15,6 @@ use orm::transactions::{
1515
1616use super :: utils:: { Paginate , PaginatedResponseDb } ;
1717use crate :: appstate:: AppState ;
18- use crate :: entity:: transaction:: TransactionKind ;
1918
2019#[ derive( Clone ) ]
2120pub struct TransactionRepository {
@@ -60,7 +59,7 @@ pub trait TransactionRepositoryTrait {
6059 & self ,
6160 offset : i64 ,
6261 size : i32 ,
63- kinds : Vec < TransactionKind > ,
62+ kinds : Vec < TransactionKindDb > ,
6463 tokens : Vec < String > ,
6564 ) -> Result < Vec < WrapperTransactionDb > , String > ;
6665}
@@ -190,7 +189,7 @@ impl TransactionRepositoryTrait for TransactionRepository {
190189 & self ,
191190 offset : i64 ,
192191 size : i32 ,
193- kinds : Vec < TransactionKind > ,
192+ kinds : Vec < TransactionKindDb > ,
194193 tokens : Vec < String > ,
195194 ) -> Result < Vec < WrapperTransactionDb > , String > {
196195 let conn = self . app_state . get_db_connection ( ) . await ;
@@ -201,92 +200,12 @@ impl TransactionRepositoryTrait for TransactionRepository {
201200
202201 // 1) Kind filter using typed enum mapping (apply as its own EXISTS)
203202 if !kinds. is_empty ( ) {
204- fn map_kind ( k : & TransactionKind ) -> TransactionKindDb {
205- match k {
206- TransactionKind :: TransparentTransfer => {
207- TransactionKindDb :: TransparentTransfer
208- }
209- TransactionKind :: ShieldedTransfer => {
210- TransactionKindDb :: ShieldedTransfer
211- }
212- TransactionKind :: ShieldingTransfer => {
213- TransactionKindDb :: ShieldingTransfer
214- }
215- TransactionKind :: UnshieldingTransfer => {
216- TransactionKindDb :: UnshieldingTransfer
217- }
218- TransactionKind :: MixedTransfer => {
219- TransactionKindDb :: MixedTransfer
220- }
221- TransactionKind :: Bond => TransactionKindDb :: Bond ,
222- TransactionKind :: Redelegation => {
223- TransactionKindDb :: Redelegation
224- }
225- TransactionKind :: Unbond => TransactionKindDb :: Unbond ,
226- TransactionKind :: Withdraw => {
227- TransactionKindDb :: Withdraw
228- }
229- TransactionKind :: ClaimRewards => {
230- TransactionKindDb :: ClaimRewards
231- }
232- TransactionKind :: VoteProposal => {
233- TransactionKindDb :: VoteProposal
234- }
235- TransactionKind :: InitProposal => {
236- TransactionKindDb :: InitProposal
237- }
238- TransactionKind :: ChangeMetadata => {
239- TransactionKindDb :: ChangeMetadata
240- }
241- TransactionKind :: ChangeCommission => {
242- TransactionKindDb :: ChangeCommission
243- }
244- TransactionKind :: RevealPk => {
245- TransactionKindDb :: RevealPk
246- }
247- TransactionKind :: IbcMsgTransfer => {
248- TransactionKindDb :: IbcMsgTransfer
249- }
250- TransactionKind :: IbcTransparentTransfer => {
251- TransactionKindDb :: IbcTransparentTransfer
252- }
253- TransactionKind :: IbcShieldingTransfer => {
254- TransactionKindDb :: IbcShieldingTransfer
255- }
256- TransactionKind :: IbcUnshieldingTransfer => {
257- TransactionKindDb :: IbcUnshieldingTransfer
258- }
259- TransactionKind :: BecomeValidator => {
260- TransactionKindDb :: BecomeValidator
261- }
262- TransactionKind :: DeactivateValidator => {
263- TransactionKindDb :: DeactivateValidator
264- }
265- TransactionKind :: ReactivateValidator => {
266- TransactionKindDb :: ReactivateValidator
267- }
268- TransactionKind :: UnjailValidator => {
269- TransactionKindDb :: UnjailValidator
270- }
271- TransactionKind :: ChangeConsensusKey => {
272- TransactionKindDb :: ChangeConsensusKey
273- }
274- TransactionKind :: InitAccount => {
275- TransactionKindDb :: InitAccount
276- }
277- TransactionKind :: Unknown => TransactionKindDb :: Unknown ,
278- }
279- }
280-
281- let kinds_db: Vec < TransactionKindDb > =
282- kinds. iter ( ) . map ( map_kind) . collect ( ) ;
283-
284203 let inner_by_kind = inner_transactions:: table
285204 . filter (
286205 inner_transactions:: dsl:: wrapper_id
287206 . eq ( wrapper_transactions:: dsl:: id) ,
288207 )
289- . filter ( inner_transactions:: dsl:: kind. eq_any ( kinds_db ) ) ;
208+ . filter ( inner_transactions:: dsl:: kind. eq_any ( kinds ) ) ;
290209
291210 outer = outer. filter ( exists ( inner_by_kind) ) ;
292211 }
@@ -295,7 +214,7 @@ impl TransactionRepositoryTrait for TransactionRepository {
295214 // EXISTS)
296215 if !tokens. is_empty ( ) {
297216 // regular transfer kinds (non-IBC)
298- let regular_kinds: Vec < TransactionKindDb > = vec ! [
217+ let regular_kinds = [
299218 TransactionKindDb :: TransparentTransfer ,
300219 TransactionKindDb :: ShieldedTransfer ,
301220 TransactionKindDb :: ShieldingTransfer ,
@@ -304,7 +223,7 @@ impl TransactionRepositoryTrait for TransactionRepository {
304223 ] ;
305224
306225 // IBC transfer kinds
307- let ibc_kinds: Vec < TransactionKindDb > = vec ! [
226+ let ibc_kinds = [
308227 TransactionKindDb :: IbcTransparentTransfer ,
309228 TransactionKindDb :: IbcShieldingTransfer ,
310229 TransactionKindDb :: IbcUnshieldingTransfer ,
0 commit comments