File tree Expand file tree Collapse file tree 2 files changed +29
-13
lines changed Expand file tree Collapse file tree 2 files changed +29
-13
lines changed Original file line number Diff line number Diff line change @@ -191,9 +191,7 @@ export function FilterDetailsStep({
191191 render = { ( { field } ) => (
192192 < FormItem className = "flex flex-col" >
193193 < div className = "flex items-center justify-between text-xs" >
194- < FormLabel >
195- Contract Addresses < span className = "text-red-500" > *</ span >
196- </ FormLabel >
194+ < FormLabel > Contract Addresses</ FormLabel >
197195 < p className = "text-muted-foreground" >
198196 Enter a contract address
199197 </ p >
@@ -281,9 +279,7 @@ export function FilterDetailsStep({
281279 render = { ( { field } ) => (
282280 < FormItem className = "flex flex-col" >
283281 < div className = "flex items-center justify-between text-xs" >
284- < FormLabel >
285- To Address < span className = "text-red-500" > *</ span >
286- </ FormLabel >
282+ < FormLabel > To Address</ FormLabel >
287283 < p className = "text-muted-foreground" > Enter a to address</ p >
288284 </ div >
289285 < FormControl >
Original file line number Diff line number Diff line change @@ -36,25 +36,45 @@ export const webhookFormSchema = z.object({
3636 . min ( 1 , { message : "Select at least one chain" } ) ,
3737 addresses : z
3838 . string ( )
39- . min ( 1 , { message : "Addresses is required" } )
40- . refine ( ( val ) => val . split ( / [ \, \s ] + / ) . every ( ( a ) => isAddress ( a . trim ( ) ) ) , {
41- message : "Enter a valid address" ,
42- } ) ,
39+ . optional ( )
40+ . refine (
41+ ( val ) => {
42+ if ( val === undefined || val . trim ( ) === "" ) {
43+ return true ;
44+ }
45+ return val
46+ . split ( / [ \, \s ] + / )
47+ . filter ( Boolean )
48+ . every ( ( a ) => isAddress ( a . trim ( ) ) ) ;
49+ } ,
50+ {
51+ message : "Enter valid addresses (comma-separated) or leave empty" ,
52+ } ,
53+ ) ,
4354 fromAddresses : z
4455 . string ( )
4556 . optional ( )
4657 . refine (
4758 ( val ) => ! val || val . split ( / [ , \s ] + / ) . every ( ( a ) => isAddress ( a . trim ( ) ) ) ,
4859 {
49- message : "Enter a valid address " ,
60+ message : "Enter valid addresses (comma-separated) or leave empty " ,
5061 } ,
5162 ) ,
5263 toAddresses : z
5364 . string ( )
65+ . optional ( )
5466 . refine (
55- ( val ) => ! val || val . split ( / [ , \s ] + / ) . every ( ( a ) => isAddress ( a . trim ( ) ) ) ,
67+ ( val ) => {
68+ if ( val === undefined || val . trim ( ) === "" ) {
69+ return true ;
70+ }
71+ return val
72+ . split ( / [ \, \s ] + / )
73+ . filter ( Boolean )
74+ . every ( ( a ) => isAddress ( a . trim ( ) ) ) ;
75+ } ,
5676 {
57- message : "Enter a valid address (comma-separated)" ,
77+ message : "Enter valid addresses (comma-separated) or leave empty " ,
5878 } ,
5979 ) ,
6080 sigHash : z . string ( ) . optional ( ) ,
You can’t perform that action at this time.
0 commit comments