@@ -219,7 +219,8 @@ async function handleNewToken(
219
219
) : Promise < HandlerResult > {
220
220
const newTokenLog = logs . find ( ( log ) => log . includes ( "NewToken:" ) ) ;
221
221
if ( ! newTokenLog ) return null ;
222
-
222
+ const curveLog = logs . find ( ( log ) => log . includes ( "curve_limit:" ) ) ;
223
+ const reserveLog = logs . find ( ( log ) => log . includes ( "reserve_lamport:" ) ) ;
223
224
try {
224
225
const parts = newTokenLog . split ( " " ) ;
225
226
if ( parts . length < 2 )
@@ -231,6 +232,38 @@ async function handleNewToken(
231
232
throw new Error ( `Malformed token address: ${ rawTokenAddress } ` ) ;
232
233
}
233
234
235
+ let curveLimit : number | null = null ;
236
+ let reserveLamport : number | null = null ;
237
+ if ( curveLog ) {
238
+ const curveValue = curveLog . split ( "curve_limit:" ) [ 1 ] . trim ( ) ;
239
+ curveLimit = parseInt ( curveValue ) ;
240
+ console . log ( "Parsed curve_limit:" , curveLimit ) ;
241
+ }
242
+
243
+ if ( reserveLog ) {
244
+ const reserveValue = reserveLog . split ( "reserve_lamport:" ) [ 1 ] . trim ( ) ;
245
+ reserveLamport = parseInt ( reserveValue ) ;
246
+ console . log ( "Parsed reserve_lamport:" , reserveLamport ) ;
247
+ }
248
+ if ( curveLimit === null || reserveLamport === null ) {
249
+ logger . error ( "Missing curve_limit or reserve_lamport in logs" ) ;
250
+ return null ;
251
+ }
252
+
253
+ if ( curveLimit < 113000000000 ) {
254
+ logger . error (
255
+ `Token curve_limit ${ curveLimit } is below minimum required 113000000000`
256
+ ) ;
257
+ return null ;
258
+ }
259
+
260
+ if ( reserveLamport < 28000000000 ) {
261
+ logger . error (
262
+ `Token reserve_lamport ${ reserveLamport } is below minimum required 28000000000`
263
+ ) ;
264
+ return null ;
265
+ }
266
+
234
267
const newToken = await createNewTokenData (
235
268
signature ,
236
269
rawTokenAddress ,
0 commit comments