{"version":3,"file":"EventModule.cjs","sources":["../../../../src/modules/EventModule.ts"],"sourcesContent":["import { converters } from \"../pumpEvents/pumpEvents.consts.js\";\r\nimport {\r\n  PumpFunEventType,\r\n  PumpFunEventHandlers,\r\n} from \"../pumpEvents/pumpEvents.types.js\";\r\nimport { PumpFunSDK } from \"../PumpFunSDK.js\";\r\n\r\nexport class EventModule {\r\n  constructor(private sdk: PumpFunSDK) {}\r\n\r\n  addEventListener<T extends PumpFunEventType>(\r\n    eventType: T,\r\n    callback: (\r\n      event: PumpFunEventHandlers[T],\r\n      slot: number,\r\n      signature: string\r\n    ) => void\r\n  ) {\r\n    return this.sdk.program.addEventListener(\r\n      eventType,\r\n      (event: any, slot: number, signature: string) => {\r\n        try {\r\n          const convert = converters[eventType];\r\n          if (!convert)\r\n            throw new Error(`No converter for event type: ${eventType}`);\r\n          callback(convert(event), slot, signature);\r\n        } catch (err) {\r\n          console.error(`Failed to handle ${eventType}:`, err);\r\n        }\r\n      }\r\n    );\r\n  }\r\n\r\n  removeEventListener(id: number) {\r\n    this.sdk.program.removeEventListener(id);\r\n  }\r\n}\r\n"],"names":["converters"],"mappings":";;;;MAOa,WAAW,CAAA;AACF,IAAA,GAAA;AAApB,IAAA,WAAA,CAAoB,GAAe,EAAA;QAAf,IAAA,CAAA,GAAG,GAAH,GAAG;;IAEvB,gBAAgB,CACd,SAAY,EACZ,QAIS,EAAA;AAET,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CACtC,SAAS,EACT,CAAC,KAAU,EAAE,IAAY,EAAE,SAAiB,KAAI;AAC9C,YAAA,IAAI;AACF,gBAAA,MAAM,OAAO,GAAGA,4BAAU,CAAC,SAAS,CAAC;AACrC,gBAAA,IAAI,CAAC,OAAO;AACV,oBAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,CAAA,CAAE,CAAC;gBAC9D,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC;;YACzC,OAAO,GAAG,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,CAAA,iBAAA,EAAoB,SAAS,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC;;AAExD,SAAC,CACF;;AAGH,IAAA,mBAAmB,CAAC,EAAU,EAAA;QAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;;AAE3C;;;;"}