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']) =>
107
107
Effect . catchAll ( ( ) => Effect . succeed ( [ ] ) ) ,
108
108
)
109
109
110
+ const successItems = items . filter ( ( item ) => item . status === 'success' )
111
+
110
112
const item =
111
- items . find ( ( item ) => {
113
+ successItems . find ( ( item ) => {
112
114
// Prioritize address over fragments
113
115
return item . type === 'address'
114
- } ) ?? items [ 0 ]
116
+ } ) ?? successItems [ 0 ]
115
117
116
- if ( item != null && item . status === 'success' ) {
118
+ if ( item != null ) {
117
119
return {
118
120
status : 'success' ,
119
121
result : {
@@ -125,7 +127,7 @@ export const make = (strategies: AbiStore['strategies']) =>
125
127
abi : item . abi ,
126
128
} ,
127
129
} as ContractAbiResult
128
- } else if ( item != null && item . status === 'not-found' ) {
130
+ } else if ( items [ 0 ] != null && items [ 0 ] . status === 'not-found' ) {
129
131
return {
130
132
status : 'not-found' ,
131
133
result : null ,
Original file line number Diff line number Diff line change @@ -77,7 +77,9 @@ export const make = (strategies: ContractMetaStore['strategies']) =>
77
77
Effect . catchAll ( ( ) => Effect . succeed ( [ ] ) ) ,
78
78
)
79
79
80
- const item = items [ 0 ]
80
+ const successItems = items . filter ( ( item ) => item . status === 'success' )
81
+
82
+ const item = successItems [ 0 ]
81
83
82
84
if ( item != null && item . status === 'success' ) {
83
85
return {
@@ -92,7 +94,7 @@ export const make = (strategies: ContractMetaStore['strategies']) =>
92
94
chainID,
93
95
} as ContractData ,
94
96
}
95
- } else if ( item != null && item . status === 'not-found' ) {
97
+ } else if ( items [ 0 ] != null && items [ 0 ] . status === 'not-found' ) {
96
98
return {
97
99
status : 'not-found' ,
98
100
result : null ,
You can’t perform that action at this time.
0 commit comments