@@ -82,15 +82,15 @@ export type EventHandlerFor<
82
82
TEventName extends ExtractAbiEventNames < TAbi > ,
83
83
> = EventHandler < ExtractAbiEvent < TAbi , TEventName > , TEventName , TAbi >
84
84
85
- type OneDeepNonNullable < T > = {
86
- [ K in keyof T ] : NonNullable < T [ K ] >
87
- }
85
+ type RecursiveNonNullable < T > = T extends { } ? {
86
+ [ K in keyof T ] -?: RecursiveNonNullable < T [ K ] >
87
+ } : NonNullable < T >
88
88
89
- export type SafeLog < TAbiEvent extends AbiEvent > = OneDeepNonNullable <
89
+ export type SafeLog < TAbiEvent extends AbiEvent > = RecursiveNonNullable <
90
90
Log < bigint , bigint , TAbiEvent , [ TAbiEvent ] , string >
91
91
>
92
92
93
- export type SafeRpcLog = OneDeepNonNullable < RpcLog >
93
+ export type SafeRpcLog = RecursiveNonNullable < RpcLog >
94
94
95
95
export interface EventHandlerContext <
96
96
TAbiEvent extends AbiEvent ,
@@ -112,7 +112,7 @@ export interface BlockHandlerContext {
112
112
logger : log . Logger
113
113
}
114
114
115
- export type SafeBlock = OneDeepNonNullable < Block >
115
+ export type SafeBlock = RecursiveNonNullable < Block >
116
116
117
117
export type EventHandler <
118
118
TAbiEvent extends AbiEvent ,
@@ -164,19 +164,19 @@ type ValidNameChars =
164
164
165
165
export type CheckManifestName < Name extends string , FullName extends string > =
166
166
Name extends `${infer First } ${infer Rest } `
167
- ? First extends ValidNameChars | Capitalize < ValidNameChars >
168
- ? CheckManifestName < Rest , FullName >
169
- : `Invalid character in manifest name: ${First } `
170
- : FullName
167
+ ? First extends ValidNameChars | Capitalize < ValidNameChars >
168
+ ? CheckManifestName < Rest , FullName >
169
+ : `Invalid character in manifest name: ${First } `
170
+ : FullName
171
171
172
172
export type HexString < Str extends string , Length extends number > = Str extends
173
173
`0x${infer Rest } `
174
174
? InnerHexStr < Rest , Length > extends number
175
- ? InnerHexStr < Rest , Length > extends Length ? Str
176
- : `Invalid hex string length. Expected ${Length } , got ${InnerHexStr <
177
- Rest ,
178
- Length
179
- > } `
175
+ ? InnerHexStr < Rest , Length > extends Length ? Str
176
+ : `Invalid hex string length. Expected ${Length } , got ${InnerHexStr <
177
+ Rest ,
178
+ Length
179
+ > } `
180
180
: `Invalid hex character in string: ${InnerHexStr < Rest , Length > } `
181
181
: 'Missing 0x prefix'
182
182
@@ -186,7 +186,7 @@ type InnerHexStr<
186
186
LengthStore extends never [ ] = [ ] ,
187
187
> = Str extends `${infer First } ${infer Rest } `
188
188
? First extends HexChars | Capitalize < HexChars >
189
- ? InnerHexStr < Rest , Length , [ ...LengthStore , never ] >
189
+ ? InnerHexStr < Rest , Length , [ ...LengthStore , never ] >
190
190
: First
191
191
: LengthStore [ 'length' ] extends Length ? Length
192
192
: LengthStore [ 'length' ]
@@ -211,9 +211,9 @@ type HexChars =
211
211
212
212
export type ValidateSourcesObject < Sources extends Record < string , bigint > > =
213
213
keyof Sources extends string
214
- ? keyof Sources extends HexString < keyof Sources , 40 > | '*'
215
- ? keyof Sources extends '*' ? Sources
216
- : keyof Sources extends HexString < keyof Sources , 40 > ? Sources
217
- : 'Can\'t mix wildcard and specific addresses'
218
- : HexString < keyof Sources , 40 >
219
- : `Source addresses must be strings`
214
+ ? keyof Sources extends HexString < keyof Sources , 40 > | '*'
215
+ ? keyof Sources extends '*' ? Sources
216
+ : keyof Sources extends HexString < keyof Sources , 40 > ? Sources
217
+ : 'Can\'t mix wildcard and specific addresses'
218
+ : HexString < keyof Sources , 40 >
219
+ : `Source addresses must be strings`
0 commit comments