File tree Expand file tree Collapse file tree 3 files changed +15
-6
lines changed
packages/transaction-decoder/src/sql Expand file tree Collapse file tree 3 files changed +15
-6
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ ' @3loop/transaction-decoder ' : patch
3+ ---
4+
5+ SQL Storage filter success matches from database for cases when multiple matches are stored in database
Original file line number Diff line number Diff line change @@ -107,13 +107,15 @@ export const make = (strategies: AbiStore['strategies']) =>
107107 Effect . catchAll ( ( ) => Effect . succeed ( [ ] ) ) ,
108108 )
109109
110+ const successItems = items . filter ( ( item ) => item . status === 'success' )
111+
110112 const item =
111- items . find ( ( item ) => {
113+ successItems . find ( ( item ) => {
112114 // Prioritize address over fragments
113115 return item . type === 'address'
114- } ) ?? items [ 0 ]
116+ } ) ?? successItems [ 0 ]
115117
116- if ( item != null && item . status === 'success' ) {
118+ if ( item != null ) {
117119 return {
118120 status : 'success' ,
119121 result : {
@@ -125,7 +127,7 @@ export const make = (strategies: AbiStore['strategies']) =>
125127 abi : item . abi ,
126128 } ,
127129 } as ContractAbiResult
128- } else if ( item != null && item . status === 'not-found' ) {
130+ } else if ( items [ 0 ] != null && items [ 0 ] . status === 'not-found' ) {
129131 return {
130132 status : 'not-found' ,
131133 result : null ,
Original file line number Diff line number Diff line change @@ -77,7 +77,9 @@ export const make = (strategies: ContractMetaStore['strategies']) =>
7777 Effect . catchAll ( ( ) => Effect . succeed ( [ ] ) ) ,
7878 )
7979
80- const item = items [ 0 ]
80+ const successItems = items . filter ( ( item ) => item . status === 'success' )
81+
82+ const item = successItems [ 0 ]
8183
8284 if ( item != null && item . status === 'success' ) {
8385 return {
@@ -92,7 +94,7 @@ export const make = (strategies: ContractMetaStore['strategies']) =>
9294 chainID,
9395 } as ContractData ,
9496 }
95- } else if ( item != null && item . status === 'not-found' ) {
97+ } else if ( items [ 0 ] != null && items [ 0 ] . status === 'not-found' ) {
9698 return {
9799 status : 'not-found' ,
98100 result : null ,
You can’t perform that action at this time.
0 commit comments