@inodra/sui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +237 -0
  3. package/bin/inodra-sui.mjs +2 -0
  4. package/dist/chunk-3CBLVI6J.js +426 -0
  5. package/dist/chunk-3CBLVI6J.js.map +1 -0
  6. package/dist/chunk-4HKKW5QN.js +80 -0
  7. package/dist/chunk-4HKKW5QN.js.map +1 -0
  8. package/dist/chunk-74XGJJJI.js +33 -0
  9. package/dist/chunk-74XGJJJI.js.map +1 -0
  10. package/dist/chunk-D6FZYWG7.js +99 -0
  11. package/dist/chunk-D6FZYWG7.js.map +1 -0
  12. package/dist/chunk-LZZMTSLH.js +31 -0
  13. package/dist/chunk-LZZMTSLH.js.map +1 -0
  14. package/dist/chunk-M3M2L6BW.js +29 -0
  15. package/dist/chunk-M3M2L6BW.js.map +1 -0
  16. package/dist/chunk-NSXRC5XW.js +298 -0
  17. package/dist/chunk-NSXRC5XW.js.map +1 -0
  18. package/dist/chunk-OGMBYWTG.js +537 -0
  19. package/dist/chunk-OGMBYWTG.js.map +1 -0
  20. package/dist/chunk-U6D5LGNF.js +111 -0
  21. package/dist/chunk-U6D5LGNF.js.map +1 -0
  22. package/dist/chunk-ZSW3EWGF.js +539 -0
  23. package/dist/chunk-ZSW3EWGF.js.map +1 -0
  24. package/dist/cli.js +665 -0
  25. package/dist/cli.js.map +1 -0
  26. package/dist/events.cjs +3273 -0
  27. package/dist/events.cjs.map +1 -0
  28. package/dist/events.d.cts +47 -0
  29. package/dist/events.d.ts +47 -0
  30. package/dist/events.js +2578 -0
  31. package/dist/events.js.map +1 -0
  32. package/dist/graphql.cjs +129 -0
  33. package/dist/graphql.cjs.map +1 -0
  34. package/dist/graphql.d.cts +36 -0
  35. package/dist/graphql.d.ts +36 -0
  36. package/dist/graphql.js +10 -0
  37. package/dist/graphql.js.map +1 -0
  38. package/dist/grpc-web.cjs +129 -0
  39. package/dist/grpc-web.cjs.map +1 -0
  40. package/dist/grpc-web.d.cts +31 -0
  41. package/dist/grpc-web.d.ts +31 -0
  42. package/dist/grpc-web.js +10 -0
  43. package/dist/grpc-web.js.map +1 -0
  44. package/dist/grpc.cjs +131 -0
  45. package/dist/grpc.cjs.map +1 -0
  46. package/dist/grpc.d.cts +34 -0
  47. package/dist/grpc.d.ts +34 -0
  48. package/dist/grpc.js +10 -0
  49. package/dist/grpc.js.map +1 -0
  50. package/dist/index-CGBN_EI5.d.ts +4800 -0
  51. package/dist/index-CVO2Kj8a.d.cts +4800 -0
  52. package/dist/index.cjs +4723 -0
  53. package/dist/index.cjs.map +1 -0
  54. package/dist/index.d.cts +504 -0
  55. package/dist/index.d.ts +504 -0
  56. package/dist/index.js +59 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/manage.cjs +376 -0
  59. package/dist/manage.cjs.map +1 -0
  60. package/dist/manage.d.cts +2 -0
  61. package/dist/manage.d.ts +2 -0
  62. package/dist/manage.js +8 -0
  63. package/dist/manage.js.map +1 -0
  64. package/dist/network-CEg2MJY3.d.cts +60 -0
  65. package/dist/network-CEg2MJY3.d.ts +60 -0
  66. package/dist/node.cjs +4759 -0
  67. package/dist/node.cjs.map +1 -0
  68. package/dist/node.d.cts +28 -0
  69. package/dist/node.d.ts +28 -0
  70. package/dist/node.js +73 -0
  71. package/dist/node.js.map +1 -0
  72. package/dist/reflection-Bx44-Fs1.d.ts +4639 -0
  73. package/dist/reflection-Cf7WFH6H.d.cts +4639 -0
  74. package/dist/reflection-FEGYA7DU.js +9 -0
  75. package/dist/reflection-FEGYA7DU.js.map +1 -0
  76. package/dist/runtime-OWKF3LZ7.js +37 -0
  77. package/dist/runtime-OWKF3LZ7.js.map +1 -0
  78. package/dist/warp.cjs +633 -0
  79. package/dist/warp.cjs.map +1 -0
  80. package/dist/warp.d.cts +195 -0
  81. package/dist/warp.d.ts +195 -0
  82. package/dist/warp.js +12 -0
  83. package/dist/warp.js.map +1 -0
  84. package/dist/webhooks.cjs +104 -0
  85. package/dist/webhooks.cjs.map +1 -0
  86. package/dist/webhooks.d.cts +35 -0
  87. package/dist/webhooks.d.ts +35 -0
  88. package/dist/webhooks.js +7 -0
  89. package/dist/webhooks.js.map +1 -0
  90. package/llms.txt +189 -0
  91. package/package.json +119 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/events/index.ts","../src/generated/events.ts","../src/events/runtime.ts","../src/events/move-types.ts","../src/core/auth.ts","../src/core/network.ts","../src/core/version.ts","../src/events/reflection.ts"],"sourcesContent":["/**\n * Typed catalog event payloads.\n *\n * ```ts\n * import { matchCatalogEvent, parseCatalogEvent } from \"@inodra/sui/events\";\n *\n * stream.on(\"message\", (msg) => {\n * const swap = parseCatalogEvent(msg, \"cetus.swap\");\n * if (swap) console.log(swap.amount_in); // typed, validated, normalized\n * });\n * ```\n */\nimport type { z } from \"zod\";\nimport {\n\ttype CatalogEventId,\n\ttype CatalogEventPayload,\n\tcatalogEvents,\n} from \"../generated/events.js\";\nimport { eventTypeMatches } from \"./runtime.js\";\n\nexport * from \"./runtime.js\";\nexport * from \"../generated/events.js\";\nexport {\n\tformatMoveType,\n\ttype MoveTypeNode,\n\tnormalizeAddress,\n\tparseMoveType,\n\tresolveShape,\n\ttype SchemaShape,\n\tshapeToExpr,\n\tshapeToZod,\n\ttype StructField,\n\ttype StructResolver,\n\tsubstituteTypeParams,\n} from \"./move-types.js\";\nexport {\n\tEventSchemaReflector,\n\ttype EventSchemaReflectorOptions,\n} from \"./reflection.js\";\n\n/** Payload type BEFORE zod normalization (what's on the wire). */\nexport type CatalogEventInput<Id extends CatalogEventId> = z.input<\n\t(typeof catalogEvents)[Id][\"schema\"]\n>;\n\nexport interface MatchOptions {\n\t/** Only match deployments on this network (default: any). */\n\tnetwork?: string;\n}\n\n/**\n * Resolve which catalog event a raw on-chain event type belongs to, if any.\n * Generic events match by base type; wrapped events match exactly — mirroring\n * the server's subscription matching.\n */\nexport function resolveCatalogEvent(\n\trawEventType: string,\n\toptions: MatchOptions = {},\n): (typeof catalogEvents)[CatalogEventId] | undefined {\n\tfor (const event of Object.values(catalogEvents)) {\n\t\tfor (const deployment of event.deployments) {\n\t\t\tif (options.network && deployment.network !== options.network) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (eventTypeMatches(rawEventType, deployment, event.generic)) {\n\t\t\t\treturn event;\n\t\t\t}\n\t\t}\n\t}\n\treturn undefined;\n}\n\n/**\n * Accepts any delivery shape that (possibly nested) carries a Move event:\n * a Warp stream message, an SSE/WS event payload, or a webhook body — and\n * digs out `{ type, data }`.\n */\nfunction extractEventPayload(\n\tinput: unknown,\n\tdepth = 0,\n): { type: string; data: unknown } | undefined {\n\tif (depth > 3 || typeof input !== \"object\" || input === null) {\n\t\treturn undefined;\n\t}\n\tconst record = input as Record<string, unknown>;\n\tif (\n\t\ttypeof record.type === \"string\" &&\n\t\trecord.type.includes(\"::\") &&\n\t\t\"data\" in record\n\t) {\n\t\treturn { type: record.type, data: record.data };\n\t}\n\treturn (\n\t\textractEventPayload(record.payload, depth + 1) ??\n\t\textractEventPayload(record.data, depth + 1)\n\t);\n}\n\nfunction matches(\n\trawEventType: string,\n\tid: CatalogEventId,\n\toptions: MatchOptions,\n): boolean {\n\tconst event = catalogEvents[id];\n\treturn event.deployments.some(\n\t\t(deployment) =>\n\t\t\t(!options.network || deployment.network === options.network) &&\n\t\t\teventTypeMatches(rawEventType, deployment, event.generic),\n\t);\n}\n\n/**\n * If the message carries the given catalog event, return its payload typed\n * as received on the wire — no validation. Accepts a Warp stream message,\n * an event payload, or a webhook body.\n */\nexport function matchCatalogEvent<Id extends CatalogEventId>(\n\tmessage: unknown,\n\tid: Id,\n\toptions: MatchOptions = {},\n): CatalogEventInput<Id> | undefined {\n\tconst payload = extractEventPayload(message);\n\tif (!payload || !matches(payload.type, id, options)) {\n\t\treturn undefined;\n\t}\n\treturn payload.data as CatalogEventInput<Id>;\n}\n\n/**\n * Like {@link matchCatalogEvent}, but validates and normalizes the payload\n * with the generated zod schema (u64→string, TypeName→string, …).\n *\n * Returns undefined when the message is a different event; THROWS when the\n * event matches but its payload doesn't fit the schema — that means schema\n * drift worth surfacing, not a message to skip silently.\n */\nexport function parseCatalogEvent<Id extends CatalogEventId>(\n\tmessage: unknown,\n\tid: Id,\n\toptions: MatchOptions = {},\n): CatalogEventPayload<Id> | undefined {\n\tconst payload = extractEventPayload(message);\n\tif (!payload || !matches(payload.type, id, options)) {\n\t\treturn undefined;\n\t}\n\treturn catalogEvents[id].schema.parse(\n\t\tpayload.data,\n\t) as CatalogEventPayload<Id>;\n}\n","// Code generated by scripts/generate-events.ts. DO NOT EDIT.\n// Regenerate: bun scripts/generate-events.ts (see file header for sources).\n// 121 catalog events.\nimport { z } from \"zod\";\nimport {\n\tmoveAddress,\n\tmoveBool,\n\tmoveSmallUint,\n\tmoveString,\n\tmoveTypeName,\n\tmoveUint,\n} from \"../events/runtime.js\";\n\n/**\n * 7K — Swap confirmed — 7k (swap)\n * A completed 7K aggregator trade (per-trade settlement summary).\n */\nexport const _7kConfirmSwapSchema = z.looseObject({\n\t\"quote_id\": moveString,\n\t\"from\": moveTypeName,\n\t\"target\": moveTypeName,\n\t\"amount_in\": moveUint,\n\t\"amount_out\": moveUint,\n\t\"fee_amount\": moveUint,\n\t\"fee_rate\": moveSmallUint,\n\t\"fee_recipient\": moveAddress,\n\t\"expect_amount_out\": moveUint,\n\t\"amount_out_limit\": moveUint,\n});\nexport type _7kConfirmSwapEvent = z.infer<typeof _7kConfirmSwapSchema>;\n\n/**\n * 7K — Swap (route leg) — 7k (swap)\n * A single routing-leg swap on the 7K aggregator (per pool/DEX).\n */\nexport const _7kSwapSchema = z.looseObject({\n\t\"quote_id\": moveString,\n\t\"pool_id\": moveAddress,\n\t\"dex\": moveString,\n\t\"from\": moveTypeName,\n\t\"target\": moveTypeName,\n\t\"amount_in\": moveUint,\n\t\"amount_out\": moveUint,\n\t\"amount_in_remaining\": moveUint,\n});\nexport type _7kSwapEvent = z.infer<typeof _7kSwapSchema>;\n\n/**\n * Aftermath — Add liquidity — aftermath (liquidity)\n * Liquidity was deposited into an Aftermath AMM pool.\n */\nexport const AftermathDepositSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"issuer\": moveAddress,\n\t\"referrer\": moveAddress.nullable(),\n\t\"types\": z.array(moveString),\n\t\"deposits\": z.array(moveUint),\n\t\"reserves\": z.array(moveUint),\n\t\"lp_coins_minted\": moveUint,\n});\nexport type AftermathDepositEvent = z.infer<typeof AftermathDepositSchema>;\n\n/**\n * Aftermath — Funding settled (Perps) — aftermath (funding)\n * Funding was settled for an Aftermath perpetuals account.\n */\nexport const AftermathPerpFundingSchema = z.looseObject({\n\t\"ch_id\": moveAddress,\n\t\"account_id\": moveUint,\n\t\"collateral_change_usd\": moveUint,\n\t\"collateral_after\": moveUint,\n});\nexport type AftermathPerpFundingEvent = z.infer<typeof AftermathPerpFundingSchema>;\n\n/**\n * Aftermath — Position liquidated (Perps) — aftermath (liquidation)\n * A perpetuals position was liquidated on Aftermath.\n */\nexport const AftermathPerpLiquidatedSchema = z.looseObject({\n\t\"ch_id\": moveAddress,\n\t\"liqee_account_id\": moveUint,\n\t\"liqor_account_id\": moveUint,\n\t\"is_liqee_long\": moveBool,\n\t\"base_liquidated\": moveUint,\n\t\"quote_liquidated\": moveUint,\n\t\"bad_debt\": moveUint,\n});\nexport type AftermathPerpLiquidatedEvent = z.infer<typeof AftermathPerpLiquidatedSchema>;\n\n/**\n * Aftermath — Swap — aftermath (swap)\n * A swap was executed on an Aftermath AMM pool.\n */\nexport const AftermathSwapSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"issuer\": moveAddress,\n\t\"referrer\": moveAddress.nullable(),\n\t\"types_in\": z.array(moveString),\n\t\"amounts_in\": z.array(moveUint),\n\t\"types_out\": z.array(moveString),\n\t\"amounts_out\": z.array(moveUint),\n\t\"reserves\": z.array(moveUint),\n});\nexport type AftermathSwapEvent = z.infer<typeof AftermathSwapSchema>;\n\n/**\n * AlphaFi — Vault deposit/withdraw — alphafi (vault)\n * A deposit or withdrawal on an AlphaFi vault (event_type: 1 = deposit, 0 = withdraw).\n */\nexport const AlphafiLiquidityChangeSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"event_type\": moveSmallUint,\n\t\"amount_a\": moveUint,\n\t\"amount_b\": moveUint,\n\t\"total_amount_a\": moveUint,\n\t\"total_amount_b\": moveUint,\n\t\"fee_collected_a\": moveUint,\n\t\"fee_collected_b\": moveUint,\n\t\"tokens_invested\": moveUint,\n\t\"sender\": moveAddress,\n});\nexport type AlphafiLiquidityChangeEvent = z.infer<typeof AlphafiLiquidityChangeSchema>;\n\n/**\n * AlphaFi — Reward harvest — alphafi (reward)\n * An AlphaFi vault auto-compounded its rewards.\n */\nexport const AlphafiRewardSchema = z.looseObject({\n\t\"coin_type\": moveTypeName,\n\t\"amount\": moveUint,\n\t\"investor_id\": moveAddress,\n\t\"fee_collected\": moveUint,\n\t\"total_amount_a\": moveUint,\n\t\"total_amount_b\": moveUint,\n\t\"sender\": moveAddress,\n});\nexport type AlphafiRewardEvent = z.infer<typeof AlphafiRewardSchema>;\n\n/**\n * Bluefin — Fee collected — bluefin (fee)\n * Trading fees were collected from a Bluefin position.\n */\nexport const BluefinFeeCollectedSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"position_id\": moveAddress,\n\t\"coin_a_amount\": moveUint,\n\t\"coin_b_amount\": moveUint,\n});\nexport type BluefinFeeCollectedEvent = z.infer<typeof BluefinFeeCollectedSchema>;\n\n/**\n * Bluefin — Liquidity provided — bluefin (liquidity)\n * Liquidity was provided to a Bluefin position.\n */\nexport const BluefinLiquidityProvidedSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"position_id\": moveAddress,\n\t\"coin_a_amount\": moveUint,\n\t\"coin_b_amount\": moveUint,\n\t\"liquidity\": moveUint,\n});\nexport type BluefinLiquidityProvidedEvent = z.infer<typeof BluefinLiquidityProvidedSchema>;\n\n/**\n * Bluefin — Liquidity removed — bluefin (liquidity)\n * Liquidity was removed from a Bluefin position.\n */\nexport const BluefinLiquidityRemovedSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"position_id\": moveAddress,\n\t\"coin_a_amount\": moveUint,\n\t\"coin_b_amount\": moveUint,\n\t\"liquidity\": moveUint,\n});\nexport type BluefinLiquidityRemovedEvent = z.infer<typeof BluefinLiquidityRemovedSchema>;\n\n/**\n * Bluefin — Pool created — bluefin (pool)\n * A new Bluefin spot pool was created.\n */\nexport const BluefinPoolCreatedSchema = z.looseObject({\n\t\"id\": moveAddress,\n\t\"coin_a\": moveString,\n\t\"coin_b\": moveString,\n\t\"fee_rate\": moveUint,\n\t\"tick_spacing\": moveSmallUint,\n});\nexport type BluefinPoolCreatedEvent = z.infer<typeof BluefinPoolCreatedSchema>;\n\n/**\n * Bluefin — Position closed — bluefin (position)\n * A Bluefin liquidity position was closed.\n */\nexport const BluefinPositionClosedSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"position_id\": moveAddress,\n});\nexport type BluefinPositionClosedEvent = z.infer<typeof BluefinPositionClosedSchema>;\n\n/**\n * Bluefin — Position opened — bluefin (position)\n * A new Bluefin liquidity position was opened.\n */\nexport const BluefinPositionOpenedSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"position_id\": moveAddress,\n});\nexport type BluefinPositionOpenedEvent = z.infer<typeof BluefinPositionOpenedSchema>;\n\n/**\n * Bluefin — Reward collected — bluefin (reward)\n * Incentive rewards were collected from a Bluefin position.\n */\nexport const BluefinRewardCollectedSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"position_id\": moveAddress,\n\t\"reward_type\": moveString,\n\t\"reward_symbol\": moveString,\n\t\"reward_amount\": moveUint,\n});\nexport type BluefinRewardCollectedEvent = z.infer<typeof BluefinRewardCollectedSchema>;\n\n/**\n * Bluefin — Swap — bluefin (swap)\n * An asset swap was executed on a Bluefin spot pool.\n */\nexport const BluefinSwapSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"a2b\": moveBool,\n\t\"amount_in\": moveUint,\n\t\"amount_out\": moveUint,\n\t\"fee\": moveUint,\n\t\"after_sqrt_price\": moveUint,\n\t\"sequence_number\": moveUint,\n});\nexport type BluefinSwapEvent = z.infer<typeof BluefinSwapSchema>;\n\n/**\n * Bucket — Borrow (mint BUCK) — bucket (borrow)\n * BUCK was minted against collateral in a Bucket CDP.\n */\nexport const BucketBorrowSchema = z.looseObject({\n\t\"collateral_type\": moveString,\n\t\"buck_amount\": moveUint,\n});\nexport type BucketBorrowEvent = z.infer<typeof BucketBorrowSchema>;\n\n/**\n * Bucket — Deposit collateral — bucket (supply)\n * Collateral was added to a Bucket CDP.\n */\nexport const BucketDepositCollateralSchema = z.looseObject({\n\t\"collateral_type\": moveString,\n\t\"collateral_amount\": moveUint,\n});\nexport type BucketDepositCollateralEvent = z.infer<typeof BucketDepositCollateralSchema>;\n\n/**\n * Bucket — Position updated — bucket (position)\n * A Bucket CDP position (bottle) changed state.\n */\nexport const BucketPositionUpdatedSchema = z.looseObject({\n\t\"collateral_type\": moveString,\n\t\"debtor\": moveAddress,\n\t\"bottle_id\": moveAddress,\n\t\"collateral_amount\": moveUint,\n\t\"buck_amount\": moveUint,\n});\nexport type BucketPositionUpdatedEvent = z.infer<typeof BucketPositionUpdatedSchema>;\n\n/**\n * Bucket — Redeem — bucket (liquidation)\n * BUCK was redeemed for collateral on a Bucket CDP.\n */\nexport const BucketRedeemSchema = z.looseObject({\n\t\"collateral_type\": moveString,\n\t\"input_buck_amount\": moveUint,\n\t\"output_collateral_amount\": moveUint,\n});\nexport type BucketRedeemEvent = z.infer<typeof BucketRedeemSchema>;\n\n/**\n * Bucket — Repay (burn BUCK) — bucket (repay)\n * BUCK was burned to repay debt in a Bucket CDP.\n */\nexport const BucketRepaySchema = z.looseObject({\n\t\"collateral_type\": moveString,\n\t\"buck_amount\": moveUint,\n});\nexport type BucketRepayEvent = z.infer<typeof BucketRepaySchema>;\n\n/**\n * Bucket — sBUCK deposit — bucket (supply)\n * BUCK was deposited into the sBUCK savings vault.\n */\nexport const BucketSbuckDepositSchema = z.looseObject({\n\t\"buck_amount\": moveUint,\n\t\"sbuck_share\": moveUint,\n});\nexport type BucketSbuckDepositEvent = z.infer<typeof BucketSbuckDepositSchema>;\n\n/**\n * Bucket — sBUCK rewards collected — bucket (reward)\n * Rewards were collected from the sBUCK savings vault.\n */\nexport const BucketSbuckRewardsSchema = z.looseObject({\n\t\"buck_amount\": moveUint,\n});\nexport type BucketSbuckRewardsEvent = z.infer<typeof BucketSbuckRewardsSchema>;\n\n/**\n * Bucket — Withdraw collateral — bucket (withdraw)\n * Collateral was removed from a Bucket CDP.\n */\nexport const BucketWithdrawCollateralSchema = z.looseObject({\n\t\"collateral_type\": moveString,\n\t\"collateral_amount\": moveUint,\n});\nexport type BucketWithdrawCollateralEvent = z.infer<typeof BucketWithdrawCollateralSchema>;\n\n/**\n * Cetus — Add liquidity — cetus (liquidity)\n * Liquidity was added to a Cetus position.\n */\nexport const CetusAddLiquiditySchema = z.looseObject({\n\t\"pool\": moveAddress,\n\t\"position\": moveAddress,\n\t\"liquidity\": moveUint,\n\t\"after_liquidity\": moveUint,\n\t\"amount_a\": moveUint,\n\t\"amount_b\": moveUint,\n});\nexport type CetusAddLiquidityEvent = z.infer<typeof CetusAddLiquiditySchema>;\n\n/**\n * Cetus — Close position — cetus (position)\n * A Cetus liquidity position was closed.\n */\nexport const CetusClosePositionSchema = z.looseObject({\n\t\"pool\": moveAddress,\n\t\"position\": moveAddress,\n});\nexport type CetusClosePositionEvent = z.infer<typeof CetusClosePositionSchema>;\n\n/**\n * Cetus — Collect fee — cetus (fee)\n * Accrued swap fees were collected from a Cetus position.\n */\nexport const CetusCollectFeeSchema = z.looseObject({\n\t\"position\": moveAddress,\n\t\"pool\": moveAddress,\n\t\"amount_a\": moveUint,\n\t\"amount_b\": moveUint,\n});\nexport type CetusCollectFeeEvent = z.infer<typeof CetusCollectFeeSchema>;\n\n/**\n * Cetus — Create pool — cetus (pool)\n * A new Cetus CLMM pool was created via the factory.\n */\nexport const CetusCreatePoolSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"coin_type_a\": moveString,\n\t\"coin_type_b\": moveString,\n\t\"tick_spacing\": moveSmallUint,\n});\nexport type CetusCreatePoolEvent = z.infer<typeof CetusCreatePoolSchema>;\n\n/**\n * Cetus — Open position — cetus (position)\n * A new Cetus liquidity position was opened.\n */\nexport const CetusOpenPositionSchema = z.looseObject({\n\t\"pool\": moveAddress,\n\t\"position\": moveAddress,\n});\nexport type CetusOpenPositionEvent = z.infer<typeof CetusOpenPositionSchema>;\n\n/**\n * Cetus — Remove liquidity — cetus (liquidity)\n * Liquidity was removed from a Cetus position.\n */\nexport const CetusRemoveLiquiditySchema = z.looseObject({\n\t\"pool\": moveAddress,\n\t\"position\": moveAddress,\n\t\"liquidity\": moveUint,\n\t\"after_liquidity\": moveUint,\n\t\"amount_a\": moveUint,\n\t\"amount_b\": moveUint,\n});\nexport type CetusRemoveLiquidityEvent = z.infer<typeof CetusRemoveLiquiditySchema>;\n\n/**\n * Cetus — Swap — cetus (swap)\n * A token swap was executed on a Cetus CLMM pool.\n */\nexport const CetusSwapSchema = z.looseObject({\n\t\"atob\": moveBool,\n\t\"pool\": moveAddress,\n\t\"partner\": moveAddress,\n\t\"amount_in\": moveUint,\n\t\"amount_out\": moveUint,\n\t\"fee_amount\": moveUint,\n\t\"before_sqrt_price\": moveUint,\n\t\"after_sqrt_price\": moveUint,\n\t\"steps\": moveUint,\n});\nexport type CetusSwapEvent = z.infer<typeof CetusSwapSchema>;\n\n/**\n * Current — Borrow — current (borrow)\n * Assets were borrowed from a Current lending market.\n */\nexport const CurrentBorrowSchema = z.looseObject({\n\t\"borrower\": moveAddress,\n\t\"market\": moveTypeName,\n\t\"obligation\": moveAddress,\n\t\"asset\": moveTypeName,\n\t\"amount\": moveUint,\n\t\"time\": moveUint,\n});\nexport type CurrentBorrowEvent = z.infer<typeof CurrentBorrowSchema>;\n\n/**\n * Current — Deposit — current (supply)\n * Assets were deposited (supplied) to a Current lending market.\n */\nexport const CurrentDepositSchema = z.looseObject({\n\t\"minter\": moveAddress,\n\t\"market\": moveTypeName,\n\t\"obligation\": moveAddress,\n\t\"deposit_asset\": moveTypeName,\n\t\"deposit_amount\": moveUint,\n\t\"ctoken_amount\": moveUint,\n\t\"time\": moveUint,\n});\nexport type CurrentDepositEvent = z.infer<typeof CurrentDepositSchema>;\n\n/**\n * Current — Liquidation — current (liquidation)\n * A Current obligation was liquidated.\n */\nexport const CurrentLiquidateSchema = z.looseObject({\n\t\"liquidator\": moveAddress,\n\t\"market\": moveTypeName,\n\t\"obligation\": moveAddress,\n\t\"collateral_type\": moveTypeName,\n\t\"debt_type\": moveTypeName,\n\t\"seized_collateral_amount\": moveUint,\n\t\"repay_amount\": moveUint,\n\t\"refund_amount\": moveUint,\n\t\"timestamp\": moveUint,\n});\nexport type CurrentLiquidateEvent = z.infer<typeof CurrentLiquidateSchema>;\n\n/**\n * Current — Repay — current (repay)\n * A Current loan was repaid.\n */\nexport const CurrentRepaySchema = z.looseObject({\n\t\"repayer\": moveAddress,\n\t\"market\": moveTypeName,\n\t\"obligation\": moveAddress,\n\t\"asset\": moveTypeName,\n\t\"amount\": moveUint,\n\t\"refund\": moveUint,\n\t\"time\": moveUint,\n});\nexport type CurrentRepayEvent = z.infer<typeof CurrentRepaySchema>;\n\n/**\n * Current — Withdraw — current (withdraw)\n * Assets were withdrawn from a Current lending market.\n */\nexport const CurrentWithdrawSchema = z.looseObject({\n\t\"redeemer\": moveAddress,\n\t\"market\": moveTypeName,\n\t\"obligation\": moveAddress,\n\t\"withdraw_asset\": moveTypeName,\n\t\"withdraw_amount\": moveUint,\n\t\"time\": moveUint,\n});\nexport type CurrentWithdrawEvent = z.infer<typeof CurrentWithdrawSchema>;\n\n/**\n * DeepBook — Balance change — deepbook (fee)\n * A deposit or withdrawal on a DeepBook balance manager.\n */\nexport const DeepbookBalanceSchema = z.looseObject({\n\t\"balance_manager_id\": moveAddress,\n\t\"asset\": moveTypeName,\n\t\"amount\": moveUint,\n\t\"deposit\": moveBool,\n});\nexport type DeepbookBalanceEvent = z.infer<typeof DeepbookBalanceSchema>;\n\n/**\n * DeepBook — Flash loan borrowed — deepbook (fee)\n * A flash loan was borrowed from a DeepBook pool.\n */\nexport const DeepbookFlashLoanSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"borrow_quantity\": moveUint,\n\t\"type_name\": moveTypeName,\n});\nexport type DeepbookFlashLoanEvent = z.infer<typeof DeepbookFlashLoanSchema>;\n\n/**\n * DeepBook — Order canceled — deepbook (order)\n * A DeepBook maker order was canceled.\n */\nexport const DeepbookOrderCanceledSchema = z.looseObject({\n\t\"balance_manager_id\": moveAddress,\n\t\"pool_id\": moveAddress,\n\t\"order_id\": moveUint,\n\t\"trader\": moveAddress,\n\t\"price\": moveUint,\n\t\"is_bid\": moveBool,\n\t\"original_quantity\": moveUint,\n\t\"base_asset_quantity_canceled\": moveUint,\n\t\"timestamp\": moveUint,\n});\nexport type DeepbookOrderCanceledEvent = z.infer<typeof DeepbookOrderCanceledSchema>;\n\n/**\n * DeepBook — Order filled — deepbook (order)\n * A DeepBook order was filled (partially or fully).\n */\nexport const DeepbookOrderFilledSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"maker_order_id\": moveUint,\n\t\"taker_order_id\": moveUint,\n\t\"price\": moveUint,\n\t\"taker_is_bid\": moveBool,\n\t\"base_quantity\": moveUint,\n\t\"quote_quantity\": moveUint,\n\t\"taker_fee\": moveUint,\n\t\"maker_fee\": moveUint,\n\t\"timestamp\": moveUint,\n});\nexport type DeepbookOrderFilledEvent = z.infer<typeof DeepbookOrderFilledSchema>;\n\n/**\n * DeepBook — Order update — deepbook (order)\n * An order's lifecycle update on a DeepBook pool (placed/filled/status).\n */\nexport const DeepbookOrderInfoSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"order_id\": moveUint,\n\t\"balance_manager_id\": moveAddress,\n\t\"client_order_id\": moveUint,\n\t\"trader\": moveAddress,\n\t\"order_type\": moveSmallUint,\n\t\"price\": moveUint,\n\t\"is_bid\": moveBool,\n\t\"original_quantity\": moveUint,\n\t\"executed_quantity\": moveUint,\n\t\"status\": moveSmallUint,\n\t\"timestamp\": moveUint,\n});\nexport type DeepbookOrderInfoEvent = z.infer<typeof DeepbookOrderInfoSchema>;\n\n/**\n * DeepBook — Order placed — deepbook (order)\n * A maker limit order was placed on a DeepBook pool.\n */\nexport const DeepbookOrderPlacedSchema = z.looseObject({\n\t\"balance_manager_id\": moveAddress,\n\t\"pool_id\": moveAddress,\n\t\"order_id\": moveUint,\n\t\"client_order_id\": moveUint,\n\t\"trader\": moveAddress,\n\t\"price\": moveUint,\n\t\"is_bid\": moveBool,\n\t\"placed_quantity\": moveUint,\n\t\"expire_timestamp\": moveUint,\n\t\"timestamp\": moveUint,\n});\nexport type DeepbookOrderPlacedEvent = z.infer<typeof DeepbookOrderPlacedSchema>;\n\n/**\n * Ember — Vault deposit — ember (vault)\n * A deposit into an Ember vault (matches all deposit coin types).\n */\nexport const EmberDepositSchema = z.looseObject({\n\t\"vault_id\": moveAddress,\n\t\"owner\": moveAddress,\n\t\"total_amount\": moveUint,\n\t\"shares_minted\": moveUint,\n\t\"current_balance\": moveUint,\n\t\"total_shares\": moveUint,\n\t\"sequence_number\": moveUint,\n});\nexport type EmberDepositEvent = z.infer<typeof EmberDepositSchema>;\n\n/**\n * Ember — Vault rate updated — ember (reward)\n * An Ember vault's share rate (price) was updated.\n */\nexport const EmberRateUpdatedSchema = z.looseObject({\n\t\"vault_id\": moveAddress,\n\t\"previous_rate\": moveUint,\n\t\"new_rate\": moveUint,\n\t\"sequence_number\": moveUint,\n});\nexport type EmberRateUpdatedEvent = z.infer<typeof EmberRateUpdatedSchema>;\n\n/**\n * Ember — Redeem processed — ember (withdraw)\n * A queued Ember redeem request was processed.\n */\nexport const EmberRedeemProcessedSchema = z.looseObject({\n\t\"vault_id\": moveAddress,\n\t\"owner\": moveAddress,\n\t\"receiver\": moveAddress,\n\t\"shares\": moveUint,\n\t\"withdraw_amount\": moveUint,\n\t\"skipped\": moveBool,\n\t\"cancelled\": moveBool,\n\t\"sequence_number\": moveUint,\n});\nexport type EmberRedeemProcessedEvent = z.infer<typeof EmberRedeemProcessedSchema>;\n\n/**\n * Ember — Redeem requested — ember (withdraw)\n * A redeem (withdrawal) was requested from an Ember vault.\n */\nexport const EmberRedeemRequestSchema = z.looseObject({\n\t\"vault_id\": moveAddress,\n\t\"owner\": moveAddress,\n\t\"receiver\": moveAddress,\n\t\"shares\": moveUint,\n\t\"total_shares\": moveUint,\n\t\"sequence_number\": moveUint,\n});\nexport type EmberRedeemRequestEvent = z.infer<typeof EmberRedeemRequestSchema>;\n\n/**\n * FlowX — Pair created (AMM) — flowx (pool)\n * A new FlowX AMM trading pair was created.\n */\nexport const FlowxAmmPairCreatedSchema = z.looseObject({\n\t\"user\": moveAddress,\n\t\"coin_x\": moveString,\n\t\"coin_y\": moveString,\n});\nexport type FlowxAmmPairCreatedEvent = z.infer<typeof FlowxAmmPairCreatedSchema>;\n\n/**\n * FlowX — Swap (AMM) — flowx (swap)\n * A swap was executed on a FlowX AMM pair.\n */\nexport const FlowxAmmSwapSchema = z.looseObject({\n\t\"user\": moveAddress,\n\t\"coin_x\": moveString,\n\t\"coin_y\": moveString,\n\t\"amount_x_in\": moveUint,\n\t\"amount_y_in\": moveUint,\n\t\"amount_x_out\": moveUint,\n\t\"amount_y_out\": moveUint,\n});\nexport type FlowxAmmSwapEvent = z.infer<typeof FlowxAmmSwapSchema>;\n\n/**\n * FlowX — Pool created (CLMM) — flowx (pool)\n * A new FlowX CLMM pool was created.\n */\nexport const FlowxClmmPoolCreatedSchema = z.looseObject({\n\t\"sender\": moveAddress,\n\t\"pool_id\": moveAddress,\n\t\"coin_type_x\": moveTypeName,\n\t\"coin_type_y\": moveTypeName,\n\t\"fee_rate\": moveUint,\n\t\"tick_spacing\": moveSmallUint,\n});\nexport type FlowxClmmPoolCreatedEvent = z.infer<typeof FlowxClmmPoolCreatedSchema>;\n\n/**\n * FlowX — Swap (CLMM) — flowx (swap)\n * A swap was executed on a FlowX CLMM pool.\n */\nexport const FlowxClmmSwapSchema = z.looseObject({\n\t\"sender\": moveAddress,\n\t\"pool_id\": moveAddress,\n\t\"x_for_y\": moveBool,\n\t\"amount_x\": moveUint,\n\t\"amount_y\": moveUint,\n\t\"liquidity\": moveUint,\n\t\"fee_amount\": moveUint,\n});\nexport type FlowxClmmSwapEvent = z.infer<typeof FlowxClmmSwapSchema>;\n\n/**\n * Haedal — Instant unstaked — haedal (unstake)\n * An instant unstake was performed on Haedal.\n */\nexport const HaedalInstantUnstakedSchema = z.looseObject({\n\t\"owner\": moveAddress,\n\t\"sui_amount\": moveUint,\n\t\"st_amount\": moveUint,\n});\nexport type HaedalInstantUnstakedEvent = z.infer<typeof HaedalInstantUnstakedSchema>;\n\n/**\n * Haedal — Staked — haedal (stake)\n * SUI was staked with Haedal in exchange for haSUI.\n */\nexport const HaedalStakedSchema = z.looseObject({\n\t\"owner\": moveAddress,\n\t\"sui_amount\": moveUint,\n\t\"st_amount\": moveUint,\n\t\"validator\": moveAddress,\n});\nexport type HaedalStakedEvent = z.infer<typeof HaedalStakedSchema>;\n\n/**\n * Haedal — Unstaked — haedal (unstake)\n * A delayed unstake was initiated on Haedal.\n */\nexport const HaedalUnstakedSchema = z.looseObject({\n\t\"owner\": moveAddress,\n\t\"epoch\": moveUint,\n\t\"sui_amount\": moveUint,\n\t\"st_amount\": moveUint,\n});\nexport type HaedalUnstakedEvent = z.infer<typeof HaedalUnstakedSchema>;\n\n/**\n * Kai — Increase position — kai (liquidity)\n * Liquidity was added to a Kai leveraged position.\n */\nexport const KaiAddLiquiditySchema = z.looseObject({\n\t\"position_id\": moveAddress,\n\t\"sqrt_pool_price_x64\": moveUint,\n\t\"delta_l\": moveUint,\n\t\"delta_x\": moveUint,\n\t\"delta_y\": moveUint,\n});\nexport type KaiAddLiquidityEvent = z.infer<typeof KaiAddLiquiditySchema>;\n\n/**\n * Kai — Deleverage — kai (repay)\n * A Kai leveraged position was deleveraged (debt repaid).\n */\nexport const KaiDeleverageSchema = z.looseObject({\n\t\"position_id\": moveAddress,\n\t\"delta_l\": moveUint,\n\t\"delta_x\": moveUint,\n\t\"delta_y\": moveUint,\n\t\"x_repaid\": moveUint,\n\t\"y_repaid\": moveUint,\n});\nexport type KaiDeleverageEvent = z.infer<typeof KaiDeleverageSchema>;\n\n/**\n * Kai — Liquidation — kai (liquidation)\n * A Kai leveraged position was liquidated.\n */\nexport const KaiLiquidationSchema = z.looseObject({\n\t\"position_id\": moveAddress,\n\t\"x_repaid\": moveUint,\n\t\"y_repaid\": moveUint,\n\t\"liquidator_reward_x\": moveUint,\n\t\"liquidator_reward_y\": moveUint,\n\t\"liquidation_fee_x\": moveUint,\n\t\"liquidation_fee_y\": moveUint,\n});\nexport type KaiLiquidationEvent = z.infer<typeof KaiLiquidationSchema>;\n\n/**\n * Kai — Open leveraged position — kai (borrow)\n * A new Kai leveraged CLMM position was opened.\n */\nexport const KaiPositionOpenSchema = z.looseObject({\n\t\"position_id\": moveAddress,\n\t\"config_id\": moveAddress,\n\t\"x0\": moveUint,\n\t\"y0\": moveUint,\n\t\"cx\": moveUint,\n\t\"cy\": moveUint,\n\t\"dx\": moveUint,\n\t\"dy\": moveUint,\n\t\"l\": moveUint,\n\t\"creation_fee_amt_sui\": moveUint,\n});\nexport type KaiPositionOpenEvent = z.infer<typeof KaiPositionOpenSchema>;\n\n/**\n * Kai — Reduce position — kai (withdraw)\n * A Kai leveraged position was reduced / partially withdrawn.\n */\nexport const KaiReduceSchema = z.looseObject({\n\t\"position_id\": moveAddress,\n\t\"delta_l\": moveUint,\n\t\"delta_x\": moveUint,\n\t\"delta_y\": moveUint,\n\t\"withdrawn_x\": moveUint,\n\t\"withdrawn_y\": moveUint,\n\t\"x_repaid\": moveUint,\n\t\"y_repaid\": moveUint,\n});\nexport type KaiReduceEvent = z.infer<typeof KaiReduceSchema>;\n\n/**\n * Kai — Supply to pool — kai (lend)\n * Liquidity was supplied to a Kai lending pool.\n */\nexport const KaiSupplySchema = z.looseObject({\n\t\"supply_pool_id\": moveAddress,\n\t\"deposited\": moveUint,\n\t\"share_balance\": moveUint,\n});\nexport type KaiSupplyEvent = z.infer<typeof KaiSupplySchema>;\n\n/**\n * Kai — Withdraw from pool — kai (withdraw)\n * Supplied liquidity was withdrawn from a Kai lending pool.\n */\nexport const KaiSupplyWithdrawSchema = z.looseObject({\n\t\"supply_pool_id\": moveAddress,\n\t\"share_balance\": moveUint,\n\t\"withdrawn\": moveUint,\n});\nexport type KaiSupplyWithdrawEvent = z.infer<typeof KaiSupplyWithdrawSchema>;\n\n/**\n * Kriya — Add liquidity — kriya (liquidity)\n * Liquidity was provided to a Kriya pool.\n */\nexport const KriyaAddLiquiditySchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"liquidity_provider\": moveAddress,\n\t\"amount_x\": moveUint,\n\t\"amount_y\": moveUint,\n\t\"lsp_minted\": moveUint,\n});\nexport type KriyaAddLiquidityEvent = z.infer<typeof KriyaAddLiquiditySchema>;\n\n/**\n * Kriya — Swap — kriya (swap)\n * A token swap was executed on a Kriya spot pool (matches all token types).\n */\nexport const KriyaSwapSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"user\": moveAddress,\n\t\"reserve_x\": moveUint,\n\t\"reserve_y\": moveUint,\n\t\"amount_in\": moveUint,\n\t\"amount_out\": moveUint,\n});\nexport type KriyaSwapEvent = z.infer<typeof KriyaSwapSchema>;\n\n/**\n * Magma — Add liquidity — magma (liquidity)\n * Liquidity was added to a Magma CLMM pool.\n */\nexport const MagmaAddLiquiditySchema = z.looseObject({\n\t\"pool\": moveAddress,\n\t\"position\": moveAddress,\n\t\"liquidity\": moveUint,\n\t\"after_liquidity\": moveUint,\n\t\"amount_a\": moveUint,\n\t\"amount_b\": moveUint,\n});\nexport type MagmaAddLiquidityEvent = z.infer<typeof MagmaAddLiquiditySchema>;\n\n/**\n * Magma — Collect fee — magma (fee)\n * Trading fees were collected from a Magma position.\n */\nexport const MagmaCollectFeeSchema = z.looseObject({\n\t\"position\": moveAddress,\n\t\"pool\": moveAddress,\n\t\"amount_a\": moveUint,\n\t\"amount_b\": moveUint,\n});\nexport type MagmaCollectFeeEvent = z.infer<typeof MagmaCollectFeeSchema>;\n\n/**\n * Magma — Collect reward — magma (reward)\n * Incentive rewards were collected from a Magma position.\n */\nexport const MagmaCollectRewardSchema = z.looseObject({\n\t\"position\": moveAddress,\n\t\"pool\": moveAddress,\n\t\"amount\": moveUint,\n});\nexport type MagmaCollectRewardEvent = z.infer<typeof MagmaCollectRewardSchema>;\n\n/**\n * Magma — Create pool — magma (pool)\n * A new Magma CLMM pool was created.\n */\nexport const MagmaCreatePoolSchema = z.looseObject({\n\t\"pool_id\": moveAddress,\n\t\"coin_type_a\": moveString,\n\t\"coin_type_b\": moveString,\n\t\"tick_spacing\": moveSmallUint,\n});\nexport type MagmaCreatePoolEvent = z.infer<typeof MagmaCreatePoolSchema>;\n\n/**\n * Magma — Remove liquidity — magma (liquidity)\n * Liquidity was removed from a Magma CLMM pool.\n */\nexport const MagmaRemoveLiquiditySchema = z.looseObject({\n\t\"pool\": moveAddress,\n\t\"position\": moveAddress,\n\t\"liquidity\": moveUint,\n\t\"after_liquidity\": moveUint,\n\t\"amount_a\": moveUint,\n\t\"amount_b\": moveUint,\n});\nexport type MagmaRemoveLiquidityEvent = z.infer<typeof MagmaRemoveLiquiditySchema>;\n\n/**\n * Magma — Swap — magma (swap)\n * A token swap was executed on a Magma CLMM pool.\n */\nexport const MagmaSwapSchema = z.looseObject({\n\t\"atob\": moveBool,\n\t\"pool\": moveAddress,\n\t\"partner\": moveAddress,\n\t\"amount_in\": moveUint,\n\t\"amount_out\": moveUint,\n\t\"fee_amount\": moveUint,\n\t\"before_sqrt_price\": moveUint,\n\t\"after_sqrt_price\": moveUint,\n\t\"steps\": moveUint,\n});\nexport type MagmaSwapEvent = z.infer<typeof MagmaSwapSchema>;\n\n/**\n * Mole — Add debt (leverage) — mole (borrow)\n * Debt was added to a Mole leveraged-farm position.\n */\nexport const MoleAddDebtSchema = z.looseObject({\n\t\"id\": moveUint,\n\t\"debt_share\": moveUint,\n});\nexport type MoleAddDebtEvent = z.infer<typeof MoleAddDebtSchema>;\n\n/**\n * Mole — Vault deposit — mole (vault)\n * A deposit into a Mole savings vault (matches all coin types).\n */\nexport const MoleDepositSchema = z.looseObject({\n\t\"account\": moveAddress,\n\t\"amount\": moveUint,\n\t\"share\": moveUint,\n});\nexport type MoleDepositEvent = z.infer<typeof MoleDepositSchema>;\n\n/**\n * Mole — Harvest rewards — mole (reward)\n * Rewards were harvested from a Mole vault/farm.\n */\nexport const MoleHarvestSchema = z.looseObject({\n\t\"user\": moveAddress,\n\t\"pid\": moveUint,\n\t\"amount\": moveUint,\n\t\"action_type\": moveUint,\n});\nexport type MoleHarvestEvent = z.infer<typeof MoleHarvestSchema>;\n\n/**\n * Mole — Position liquidation (kill) — mole (liquidation)\n * A Mole leveraged-farm position was liquidated.\n */\nexport const MoleKillSchema = z.looseObject({\n\t\"id\": moveUint,\n\t\"killer\": moveAddress,\n\t\"owner\": moveAddress,\n\t\"posVal\": moveUint,\n\t\"debt\": moveUint,\n\t\"prize\": moveUint,\n\t\"left\": moveUint,\n});\nexport type MoleKillEvent = z.infer<typeof MoleKillSchema>;\n\n/**\n * Mole — Vault withdraw — mole (withdraw)\n * A withdrawal from a Mole savings vault (matches all coin types).\n */\nexport const MoleWithdrawSchema = z.looseObject({\n\t\"account\": moveAddress,\n\t\"share\": moveUint,\n\t\"amount\": moveUint,\n});\nexport type MoleWithdrawEvent = z.infer<typeof MoleWithdrawSchema>;\n\n/**\n * Mole — Open/adjust farm position — mole (liquidity)\n * A Mole leveraged-farm position was opened or adjusted.\n */\nexport const MoleWorkSchema = z.looseObject({\n\t\"id\": moveUint,\n\t\"loan\": moveUint,\n});\nexport type MoleWorkEvent = z.infer<typeof MoleWorkSchema>;\n\n/**\n * Momentum — Add liquidity — momentum (liquidity)\n * Liquidity was added to a Momentum position.\n */\nexport const MomentumAddLiquiditySchema = z.looseObject({\n\t\"sender\": moveAddress,\n\t\"pool_id\": moveAddress,\n\t\"position_id\": moveAddress,\n\t\"liquidity\": moveUint,\n\t\"amount_x\": moveUint,\n\t\"amount_y\": moveUint,\n});\nexport type MomentumAddLiquidityEvent = z.infer<typeof MomentumAddLiquiditySchema>;\n\n/**\n * Momentum — Collect fee — momentum (fee)\n * Trading fees were collected from a Momentum position.\n */\nexport const MomentumCollectFeeSchema = z.looseObject({\n\t\"sender\": moveAddress,\n\t\"pool_id\": moveAddress,\n\t\"position_id\": moveAddress,\n\t\"amount_x\": moveUint,\n\t\"amount_y\": moveUint,\n});\nexport type MomentumCollectFeeEvent = z.infer<typeof MomentumCollectFeeSchema>;\n\n/**\n * Momentum — Collect reward — momentum (reward)\n * Incentive rewards were collected from a Momentum position.\n */\nexport const MomentumCollectRewardSchema = z.looseObject({\n\t\"sender\": moveAddress,\n\t\"pool_id\": moveAddress,\n\t\"position_id\": moveAddress,\n\t\"reward_coin_type\": moveTypeName,\n\t\"amount\": moveUint,\n});\nexport type MomentumCollectRewardEvent = z.infer<typeof MomentumCollectRewardSchema>;\n\n/**\n * Momentum — Pool created — momentum (pool)\n * A new Momentum pool was created.\n */\nexport const MomentumPoolCreatedSchema = z.looseObject({\n\t\"sender\": moveAddress,\n\t\"pool_id\": moveAddress,\n\t\"type_x\": moveTypeName,\n\t\"type_y\": moveTypeName,\n\t\"fee_rate\": moveUint,\n\t\"tick_spacing\": moveSmallUint,\n});\nexport type MomentumPoolCreatedEvent = z.infer<typeof MomentumPoolCreatedSchema>;\n\n/**\n * Momentum — Remove liquidity — momentum (liquidity)\n * Liquidity was removed from a Momentum position.\n */\nexport const MomentumRemoveLiquiditySchema = z.looseObject({\n\t\"sender\": moveAddress,\n\t\"pool_id\": moveAddress,\n\t\"position_id\": moveAddress,\n\t\"liquidity\": moveUint,\n\t\"amount_x\": moveUint,\n\t\"amount_y\": moveUint,\n});\nexport type MomentumRemoveLiquidityEvent = z.infer<typeof MomentumRemoveLiquiditySchema>;\n\n/**\n * Momentum — Repay flash swap — momentum (fee)\n * A Momentum flash swap was repaid.\n */\nexport const MomentumRepayFlashSwapSchema = z.looseObject({\n\t\"sender\": moveAddress,\n\t\"pool_id\": moveAddress,\n\t\"amount_x_debt\": moveUint,\n\t\"amount_y_debt\": moveUint,\n\t\"paid_x\": moveUint,\n\t\"paid_y\": moveUint,\n\t\"reserve_x\": moveUint,\n\t\"reserve_y\": moveUint,\n});\nexport type MomentumRepayFlashSwapEvent = z.infer<typeof MomentumRepayFlashSwapSchema>;\n\n/**\n * Momentum — Swap — momentum (swap)\n * A swap was executed on a Momentum CLMM pool.\n */\nexport const MomentumSwapSchema = z.looseObject({\n\t\"sender\": moveAddress,\n\t\"pool_id\": moveAddress,\n\t\"x_for_y\": moveBool,\n\t\"amount_x\": moveUint,\n\t\"amount_y\": moveUint,\n\t\"fee_amount\": moveUint,\n\t\"liquidity\": moveUint,\n});\nexport type MomentumSwapEvent = z.infer<typeof MomentumSwapSchema>;\n\n/**\n * NAVI — Borrow — navi (borrow)\n * Assets were borrowed from a NAVI pool.\n */\nexport const NaviBorrowSchema = z.looseObject({\n\t\"reserve\": moveSmallUint,\n\t\"sender\": moveAddress,\n\t\"amount\": moveUint,\n\t\"market_id\": moveUint,\n});\nexport type NaviBorrowEvent = z.infer<typeof NaviBorrowSchema>;\n\n/**\n * NAVI — Deposit — navi (supply)\n * Assets were supplied to a NAVI lending pool.\n */\nexport const NaviDepositSchema = z.looseObject({\n\t\"reserve\": moveSmallUint,\n\t\"sender\": moveAddress,\n\t\"amount\": moveUint,\n\t\"market_id\": moveUint,\n});\nexport type NaviDepositEvent = z.infer<typeof NaviDepositSchema>;\n\n/**\n * NAVI — Liquidation — navi (liquidation)\n * An undercollateralized NAVI position was liquidated.\n */\nexport const NaviLiquidationSchema = z.looseObject({\n\t\"sender\": moveAddress,\n\t\"user\": moveAddress,\n\t\"collateral_asset\": moveSmallUint,\n\t\"collateral_amount\": moveUint,\n\t\"debt_asset\": moveSmallUint,\n\t\"debt_amount\": moveUint,\n\t\"market_id\": moveUint,\n});\nexport type NaviLiquidationEvent = z.infer<typeof NaviLiquidationSchema>;\n\n/**\n * NAVI — Repay — navi (repay)\n * Borrowed assets were repaid to a NAVI pool.\n */\nexport const NaviRepaySchema = z.looseObject({\n\t\"reserve\": moveSmallUint,\n\t\"sender\": moveAddress,\n\t\"amount\": moveUint,\n\t\"market_id\": moveUint,\n});\nexport type NaviRepayEvent = z.infer<typeof NaviRepaySchema>;\n\n/**\n * NAVI — Withdraw — navi (withdraw)\n * Supplied assets were withdrawn from a NAVI pool.\n */\nexport const NaviWithdrawSchema = z.looseObject({\n\t\"reserve\": moveSmallUint,\n\t\"sender\": moveAddress,\n\t\"to\": moveAddress,\n\t\"amount\": moveUint,\n\t\"market_id\": moveUint,\n});\nexport type NaviWithdrawEvent = z.infer<typeof NaviWithdrawSchema>;\n\n/**\n * Pyth — Price feed update — pyth (oracle)\n * A Pyth price feed was updated with new price data.\n */\nexport const PythPriceFeedUpdateSchema = z.looseObject({\n\t\"price_feed\": z.unknown(),\n\t\"timestamp\": moveUint,\n});\nexport type PythPriceFeedUpdateEvent = z.infer<typeof PythPriceFeedUpdateSchema>;\n\n/**\n * Scallop — Borrow — scallop (borrow)\n * Assets were borrowed from a Scallop lending market.\n */\nexport const ScallopBorrowSchema = z.looseObject({\n\t\"borrower\": moveAddress,\n\t\"obligation\": moveAddress,\n\t\"asset\": moveTypeName,\n\t\"amount\": moveUint,\n\t\"borrow_fee\": moveUint,\n\t\"time\": moveUint,\n});\nexport type ScallopBorrowEvent = z.infer<typeof ScallopBorrowSchema>;\n\n/**\n * Scallop — Deposit collateral — scallop (supply)\n * Collateral was deposited into a Scallop obligation.\n */\nexport const ScallopCollateralDepositSchema = z.looseObject({\n\t\"provider\": moveAddress,\n\t\"obligation\": moveAddress,\n\t\"deposit_asset\": moveTypeName,\n\t\"deposit_amount\": moveUint,\n});\nexport type ScallopCollateralDepositEvent = z.infer<typeof ScallopCollateralDepositSchema>;\n\n/**\n * Scallop — Withdraw collateral — scallop (withdraw)\n * Collateral was withdrawn from a Scallop obligation.\n */\nexport const ScallopCollateralWithdrawSchema = z.looseObject({\n\t\"taker\": moveAddress,\n\t\"obligation\": moveAddress,\n\t\"withdraw_asset\": moveTypeName,\n\t\"withdraw_amount\": moveUint,\n});\nexport type ScallopCollateralWithdrawEvent = z.infer<typeof ScallopCollateralWithdrawSchema>;\n\n/**\n * Scallop — Liquidation — scallop (liquidation)\n * A Scallop obligation was liquidated.\n */\nexport const ScallopLiquidationSchema = z.looseObject({\n\t\"liquidator\": moveAddress,\n\t\"obligation\": moveAddress,\n\t\"debt_type\": moveTypeName,\n\t\"collateral_type\": moveTypeName,\n\t\"repay_on_behalf\": moveUint,\n\t\"liq_amount\": moveUint,\n\t\"timestamp\": moveUint,\n});\nexport type ScallopLiquidationEvent = z.infer<typeof ScallopLiquidationSchema>;\n\n/**\n * Scallop — Repay — scallop (repay)\n * Borrowed assets were repaid to a Scallop market.\n */\nexport const ScallopRepaySchema = z.looseObject({\n\t\"repayer\": moveAddress,\n\t\"obligation\": moveAddress,\n\t\"asset\": moveTypeName,\n\t\"amount\": moveUint,\n\t\"time\": moveUint,\n});\nexport type ScallopRepayEvent = z.infer<typeof ScallopRepaySchema>;\n\n/**\n * SpringSui — Epoch changed (rewards) — springsui (reward)\n * SpringSui accrued staking rewards at an epoch change.\n */\nexport const SpringsuiEpochChangedSchema = z.looseObject({\n\t\"event\": z.looseObject({\n\t\t\"typename\": moveTypeName,\n\t\t\"old_sui_supply\": moveUint,\n\t\t\"new_sui_supply\": moveUint,\n\t\t\"lst_supply\": moveUint,\n\t\t\"spread_fee\": moveUint,\n\t}),\n});\nexport type SpringsuiEpochChangedEvent = z.infer<typeof SpringsuiEpochChangedSchema>;\n\n/**\n * SpringSui — Stake (mint LST) — springsui (stake)\n * SUI was staked to mint a SpringSui liquid-staking token.\n */\nexport const SpringsuiStakeSchema = z.looseObject({\n\t\"event\": z.looseObject({\n\t\t\"typename\": moveTypeName,\n\t\t\"sui_amount_in\": moveUint,\n\t\t\"lst_amount_out\": moveUint,\n\t\t\"fee_amount\": moveUint,\n\t}),\n});\nexport type SpringsuiStakeEvent = z.infer<typeof SpringsuiStakeSchema>;\n\n/**\n * SpringSui — Unstake (redeem LST) — springsui (unstake)\n * A SpringSui liquid-staking token was redeemed for SUI.\n */\nexport const SpringsuiUnstakeSchema = z.looseObject({\n\t\"event\": z.looseObject({\n\t\t\"typename\": moveTypeName,\n\t\t\"lst_amount_in\": moveUint,\n\t\t\"sui_amount_out\": moveUint,\n\t\t\"fee_amount\": moveUint,\n\t}),\n});\nexport type SpringsuiUnstakeEvent = z.infer<typeof SpringsuiUnstakeSchema>;\n\n/**\n * Steamm — Bank deposit (mint bToken) — steamm (supply)\n * Funds were deposited into a Steamm bank, minting bTokens.\n */\nexport const SteammBankDepositSchema = z.looseObject({\n\t\"event\": z.looseObject({\n\t\t\"user\": moveAddress,\n\t\t\"bank_id\": moveAddress,\n\t\t\"lending_market_id\": moveAddress,\n\t\t\"deposited_amount\": moveUint,\n\t\t\"minted_amount\": moveUint,\n\t}),\n});\nexport type SteammBankDepositEvent = z.infer<typeof SteammBankDepositSchema>;\n\n/**\n * Steamm — Bank withdraw (burn bToken) — steamm (withdraw)\n * bTokens were burned to withdraw funds from a Steamm bank.\n */\nexport const SteammBankWithdrawSchema = z.looseObject({\n\t\"event\": z.looseObject({\n\t\t\"user\": moveAddress,\n\t\t\"bank_id\": moveAddress,\n\t\t\"lending_market_id\": moveAddress,\n\t\t\"withdrawn_amount\": moveUint,\n\t\t\"burned_amount\": moveUint,\n\t}),\n});\nexport type SteammBankWithdrawEvent = z.infer<typeof SteammBankWithdrawSchema>;\n\n/**\n * Suilend — Borrow — suilend (borrow)\n * Assets were borrowed from a Suilend market.\n */\nexport const SuilendBorrowSchema = z.looseObject({\n\t\"lending_market_id\": moveAddress,\n\t\"coin_type\": moveTypeName,\n\t\"reserve_id\": moveAddress,\n\t\"obligation_id\": moveAddress,\n\t\"liquidity_amount\": moveUint,\n\t\"origination_fee_amount\": moveUint,\n});\nexport type SuilendBorrowEvent = z.infer<typeof SuilendBorrowSchema>;\n\n/**\n * Suilend — Claim reward — suilend (reward)\n * Rewards were claimed from a Suilend market.\n */\nexport const SuilendClaimRewardSchema = z.looseObject({\n\t\"lending_market_id\": moveAddress,\n\t\"reserve_id\": moveAddress,\n\t\"obligation_id\": moveAddress,\n\t\"is_deposit_reward\": moveBool,\n\t\"coin_type\": moveTypeName,\n\t\"liquidity_amount\": moveUint,\n});\nexport type SuilendClaimRewardEvent = z.infer<typeof SuilendClaimRewardSchema>;\n\n/**\n * Suilend — Deposit — suilend (supply)\n * Assets were deposited into a Suilend reserve.\n */\nexport const SuilendDepositSchema = z.looseObject({\n\t\"lending_market_id\": moveAddress,\n\t\"coin_type\": moveTypeName,\n\t\"reserve_id\": moveAddress,\n\t\"obligation_id\": moveAddress,\n\t\"ctoken_amount\": moveUint,\n});\nexport type SuilendDepositEvent = z.infer<typeof SuilendDepositSchema>;\n\n/**\n * Suilend — Liquidation — suilend (liquidation)\n * A Suilend obligation was liquidated.\n */\nexport const SuilendLiquidateSchema = z.looseObject({\n\t\"lending_market_id\": moveAddress,\n\t\"obligation_id\": moveAddress,\n\t\"repay_amount\": moveUint,\n\t\"withdraw_amount\": moveUint,\n\t\"protocol_fee_amount\": moveUint,\n\t\"liquidator_bonus_amount\": moveUint,\n});\nexport type SuilendLiquidateEvent = z.infer<typeof SuilendLiquidateSchema>;\n\n/**\n * Suilend — Repay — suilend (repay)\n * Borrowed assets were repaid to a Suilend market.\n */\nexport const SuilendRepaySchema = z.looseObject({\n\t\"lending_market_id\": moveAddress,\n\t\"coin_type\": moveTypeName,\n\t\"reserve_id\": moveAddress,\n\t\"obligation_id\": moveAddress,\n\t\"liquidity_amount\": moveUint,\n});\nexport type SuilendRepayEvent = z.infer<typeof SuilendRepaySchema>;\n\n/**\n * Suilend — Withdraw — suilend (withdraw)\n * Assets were withdrawn from a Suilend reserve.\n */\nexport const SuilendWithdrawSchema = z.looseObject({\n\t\"lending_market_id\": moveAddress,\n\t\"coin_type\": moveTypeName,\n\t\"reserve_id\": moveAddress,\n\t\"obligation_id\": moveAddress,\n\t\"ctoken_amount\": moveUint,\n});\nexport type SuilendWithdrawEvent = z.infer<typeof SuilendWithdrawSchema>;\n\n/**\n * Supra — Price update — supra (oracle)\n * A Supra oracle price feed (pair) was updated.\n */\nexport const SupraPriceUpdateSchema = z.looseObject({\n\t\"pair\": moveSmallUint,\n\t\"value\": moveUint,\n\t\"decimal\": moveSmallUint,\n\t\"timestamp\": moveUint,\n\t\"round\": moveUint,\n});\nexport type SupraPriceUpdateEvent = z.infer<typeof SupraPriceUpdateSchema>;\n\n/**\n * Turbos — Add liquidity — turbos (liquidity)\n * Liquidity was minted into a Turbos position.\n */\nexport const TurbosAddLiquiditySchema = z.looseObject({\n\t\"pool\": moveAddress,\n\t\"owner\": moveAddress,\n\t\"amount_a\": moveUint,\n\t\"amount_b\": moveUint,\n\t\"liquidity_delta\": moveUint,\n});\nexport type TurbosAddLiquidityEvent = z.infer<typeof TurbosAddLiquiditySchema>;\n\n/**\n * Turbos — Pool created — turbos (pool)\n * A new Turbos CLMM pool was created.\n */\nexport const TurbosPoolCreatedSchema = z.looseObject({\n\t\"account\": moveAddress,\n\t\"pool\": moveAddress,\n\t\"fee\": moveSmallUint,\n\t\"tick_spacing\": moveSmallUint,\n\t\"sqrt_price\": moveUint,\n});\nexport type TurbosPoolCreatedEvent = z.infer<typeof TurbosPoolCreatedSchema>;\n\n/**\n * Turbos — Remove liquidity — turbos (liquidity)\n * Liquidity was burned from a Turbos position.\n */\nexport const TurbosRemoveLiquiditySchema = z.looseObject({\n\t\"pool\": moveAddress,\n\t\"owner\": moveAddress,\n\t\"amount_a\": moveUint,\n\t\"amount_b\": moveUint,\n\t\"liquidity_delta\": moveUint,\n});\nexport type TurbosRemoveLiquidityEvent = z.infer<typeof TurbosRemoveLiquiditySchema>;\n\n/**\n * Turbos — Swap — turbos (swap)\n * A swap was executed on a Turbos CLMM pool.\n */\nexport const TurbosSwapSchema = z.looseObject({\n\t\"pool\": moveAddress,\n\t\"recipient\": moveAddress,\n\t\"amount_a\": moveUint,\n\t\"amount_b\": moveUint,\n\t\"liquidity\": moveUint,\n\t\"sqrt_price\": moveUint,\n\t\"fee_amount\": moveUint,\n\t\"a_to_b\": moveBool,\n});\nexport type TurbosSwapEvent = z.infer<typeof TurbosSwapSchema>;\n\n/**\n * Typus — DOV auction started — typus (option)\n * A new Typus options-vault (DOV) auction round started.\n */\nexport const TypusDovAuctionSchema = z.looseObject({\n\t\"signer\": moveAddress,\n\t\"index\": moveUint,\n\t\"round\": moveUint,\n\t\"start_ts_ms\": moveUint,\n\t\"end_ts_ms\": moveUint,\n\t\"size\": moveUint,\n});\nexport type TypusDovAuctionEvent = z.infer<typeof TypusDovAuctionSchema>;\n\n/**\n * Typus — DOV bid — typus (option)\n * A bid was placed in a Typus options-vault auction.\n */\nexport const TypusDovBidSchema = z.looseObject({\n\t\"signer\": moveAddress,\n\t\"index\": moveUint,\n\t\"bid_index\": moveUint,\n\t\"price\": moveUint,\n\t\"size\": moveUint,\n\t\"ts_ms\": moveUint,\n});\nexport type TypusDovBidEvent = z.infer<typeof TypusDovBidSchema>;\n\n/**\n * Typus — DOV settled — typus (option)\n * A Typus options-vault round was settled.\n */\nexport const TypusDovSettleSchema = z.looseObject({\n\t\"signer\": moveAddress,\n\t\"index\": moveUint,\n\t\"round\": moveUint,\n\t\"oracle_price\": moveUint,\n\t\"settle_balance\": moveUint,\n\t\"settled_balance\": moveUint,\n});\nexport type TypusDovSettleEvent = z.infer<typeof TypusDovSettleSchema>;\n\n/**\n * Typus — Perp funding update — typus (funding)\n * A Typus perps market funding rate was updated.\n */\nexport const TypusPerpFundingSchema = z.looseObject({\n\t\"base_token\": moveTypeName,\n\t\"new_funding_ts_ms\": moveUint,\n\t\"cumulative_funding_rate_index\": moveUint,\n});\nexport type TypusPerpFundingEvent = z.infer<typeof TypusPerpFundingSchema>;\n\n/**\n * Typus — Perp liquidation — typus (liquidation)\n * A Typus perps position was liquidated.\n */\nexport const TypusPerpLiquidateSchema = z.looseObject({\n\t\"user\": moveAddress,\n\t\"position_id\": moveUint,\n\t\"collateral_price\": moveUint,\n\t\"trading_price\": moveUint,\n\t\"realized_liquidator_fee\": moveUint,\n});\nexport type TypusPerpLiquidateEvent = z.infer<typeof TypusPerpLiquidateSchema>;\n\n/**\n * Typus — TLP burn — typus (liquidity)\n * Liquidity was removed from the Typus perps LP (TLP).\n */\nexport const TypusPerpLpBurnSchema = z.looseObject({\n\t\"sender\": moveAddress,\n\t\"index\": moveUint,\n\t\"burn_lp_amount\": moveUint,\n\t\"withdraw_token_amount\": moveUint,\n});\nexport type TypusPerpLpBurnEvent = z.infer<typeof TypusPerpLpBurnSchema>;\n\n/**\n * Typus — TLP mint — typus (liquidity)\n * Liquidity was added to the Typus perps LP (TLP).\n */\nexport const TypusPerpLpMintSchema = z.looseObject({\n\t\"sender\": moveAddress,\n\t\"index\": moveUint,\n\t\"deposit_amount\": moveUint,\n\t\"minted_lp_amount\": moveUint,\n});\nexport type TypusPerpLpMintEvent = z.infer<typeof TypusPerpLpMintSchema>;\n\n/**\n * Typus — Perp order created — typus (perp)\n * A trading order was created on Typus perps.\n */\nexport const TypusPerpOrderSchema = z.looseObject({\n\t\"user\": moveAddress,\n\t\"market_index\": moveUint,\n\t\"pool_index\": moveUint,\n\t\"order_id\": moveUint,\n\t\"collateral_amount\": moveUint,\n\t\"leverage_mbp\": moveUint,\n\t\"is_long\": moveBool,\n\t\"size\": moveUint,\n\t\"trigger_price\": moveUint,\n});\nexport type TypusPerpOrderEvent = z.infer<typeof TypusPerpOrderSchema>;\n\n/**\n * Volo — Staked — volo (stake)\n * SUI was staked with Volo in exchange for vSUI.\n */\nexport const VoloStakedSchema = z.looseObject({\n\t\"staker\": moveAddress,\n\t\"sui_amount\": moveUint,\n\t\"cert_amount\": moveUint,\n});\nexport type VoloStakedEvent = z.infer<typeof VoloStakedSchema>;\n\n/**\n * Volo — Unstaked — volo (unstake)\n * vSUI was burned to unstake SUI on Volo.\n */\nexport const VoloUnstakedSchema = z.looseObject({\n\t\"staker\": moveAddress,\n\t\"cert_amount\": moveUint,\n\t\"sui_amount\": moveUint,\n});\nexport type VoloUnstakedEvent = z.infer<typeof VoloUnstakedSchema>;\n\n/**\n * Walrus — Blob certified — walrus (storage)\n * A Walrus blob was certified available.\n */\nexport const WalrusBlobCertifiedSchema = z.looseObject({\n\t\"epoch\": moveSmallUint,\n\t\"blob_id\": moveUint,\n\t\"end_epoch\": moveSmallUint,\n\t\"deletable\": moveBool,\n\t\"object_id\": moveAddress,\n});\nexport type WalrusBlobCertifiedEvent = z.infer<typeof WalrusBlobCertifiedSchema>;\n\n/**\n * Walrus — Blob deleted — walrus (storage)\n * A Walrus blob was deleted.\n */\nexport const WalrusBlobDeletedSchema = z.looseObject({\n\t\"epoch\": moveSmallUint,\n\t\"blob_id\": moveUint,\n\t\"end_epoch\": moveSmallUint,\n\t\"object_id\": moveAddress,\n\t\"was_certified\": moveBool,\n});\nexport type WalrusBlobDeletedEvent = z.infer<typeof WalrusBlobDeletedSchema>;\n\n/**\n * Walrus — Blob registered — walrus (storage)\n * A new blob was registered for storage on Walrus.\n */\nexport const WalrusBlobRegisteredSchema = z.looseObject({\n\t\"epoch\": moveSmallUint,\n\t\"blob_id\": moveUint,\n\t\"size\": moveUint,\n\t\"end_epoch\": moveSmallUint,\n\t\"deletable\": moveBool,\n\t\"object_id\": moveAddress,\n});\nexport type WalrusBlobRegisteredEvent = z.infer<typeof WalrusBlobRegisteredSchema>;\n\n/** Every catalog event: metadata, verified deployments, and payload schema. */\nexport const catalogEvents = {\n\t\"7k.confirm-swap\": {\n\t\tid: \"7k.confirm-swap\",\n\t\tprotocolId: \"7k\",\n\t\tlabel: \"7K — Swap confirmed\",\n\t\tcategory: \"swap\",\n\t\tdescription: \"A completed 7K aggregator trade (per-trade settlement summary).\",\n\t\tgeneric: false,\n\t\tschema: _7kConfirmSwapSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x33ec64e9bb369bf045ddc198c81adbf2acab424da37465d95296ee02045d2b17::router::ConfirmSwapEvent\", primary: true },\n\t\t],\n\t},\n\t\"7k.swap\": {\n\t\tid: \"7k.swap\",\n\t\tprotocolId: \"7k\",\n\t\tlabel: \"7K — Swap (route leg)\",\n\t\tcategory: \"swap\",\n\t\tdescription: \"A single routing-leg swap on the 7K aggregator (per pool/DEX).\",\n\t\tgeneric: false,\n\t\tschema: _7kSwapSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x33ec64e9bb369bf045ddc198c81adbf2acab424da37465d95296ee02045d2b17::router::SwapEvent\", primary: true },\n\t\t],\n\t},\n\t\"aftermath.deposit\": {\n\t\tid: \"aftermath.deposit\",\n\t\tprotocolId: \"aftermath\",\n\t\tlabel: \"Aftermath — Add liquidity\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was deposited into an Aftermath AMM pool.\",\n\t\tgeneric: false,\n\t\tschema: AftermathDepositSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xc4049b2d1cc0f6e017fda8260e4377cecd236bd7f56a54fee120816e72e2e0dd::events::DepositEventV2\", primary: true },\n\t\t],\n\t},\n\t\"aftermath.perp-funding\": {\n\t\tid: \"aftermath.perp-funding\",\n\t\tprotocolId: \"aftermath\",\n\t\tlabel: \"Aftermath — Funding settled (Perps)\",\n\t\tcategory: \"funding\",\n\t\tdescription: \"Funding was settled for an Aftermath perpetuals account.\",\n\t\tgeneric: false,\n\t\tschema: AftermathPerpFundingSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x21d001e8b07da2e3facb3e2d636bbaef43ba3c978bd84810368840b7d57c5068::events::SettledFunding\", primary: true },\n\t\t],\n\t},\n\t\"aftermath.perp-liquidated\": {\n\t\tid: \"aftermath.perp-liquidated\",\n\t\tprotocolId: \"aftermath\",\n\t\tlabel: \"Aftermath — Position liquidated (Perps)\",\n\t\tcategory: \"liquidation\",\n\t\tdescription: \"A perpetuals position was liquidated on Aftermath.\",\n\t\tgeneric: false,\n\t\tschema: AftermathPerpLiquidatedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x21d001e8b07da2e3facb3e2d636bbaef43ba3c978bd84810368840b7d57c5068::events::LiquidatedPosition\", primary: true },\n\t\t],\n\t},\n\t\"aftermath.swap\": {\n\t\tid: \"aftermath.swap\",\n\t\tprotocolId: \"aftermath\",\n\t\tlabel: \"Aftermath — Swap\",\n\t\tcategory: \"swap\",\n\t\tdescription: \"A swap was executed on an Aftermath AMM pool.\",\n\t\tgeneric: false,\n\t\tschema: AftermathSwapSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xc4049b2d1cc0f6e017fda8260e4377cecd236bd7f56a54fee120816e72e2e0dd::events::SwapEventV2\", primary: true },\n\t\t],\n\t},\n\t\"alphafi.liquidity-change\": {\n\t\tid: \"alphafi.liquidity-change\",\n\t\tprotocolId: \"alphafi\",\n\t\tlabel: \"AlphaFi — Vault deposit/withdraw\",\n\t\tcategory: \"vault\",\n\t\tdescription: \"A deposit or withdrawal on an AlphaFi vault (event_type: 1 = deposit, 0 = withdraw).\",\n\t\tgeneric: false,\n\t\tschema: AlphafiLiquidityChangeSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x754afbce8c72c8e491e3b9d536aa9d9766fdbc68650224ce01072189b235eee3::alphafi_bluefin_type_1_pool::LiquidityChangeEvent\", primary: true },\n\t\t],\n\t},\n\t\"alphafi.reward\": {\n\t\tid: \"alphafi.reward\",\n\t\tprotocolId: \"alphafi\",\n\t\tlabel: \"AlphaFi — Reward harvest\",\n\t\tcategory: \"reward\",\n\t\tdescription: \"An AlphaFi vault auto-compounded its rewards.\",\n\t\tgeneric: false,\n\t\tschema: AlphafiRewardSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x830ce657bd8547460bdb1a5e5a7607d4641a73593a23165c8630c0d310a3f306::alphafi_bluefin_type_1_pool::RewardEvent\", primary: true },\n\t\t],\n\t},\n\t\"bluefin.fee-collected\": {\n\t\tid: \"bluefin.fee-collected\",\n\t\tprotocolId: \"bluefin\",\n\t\tlabel: \"Bluefin — Fee collected\",\n\t\tcategory: \"fee\",\n\t\tdescription: \"Trading fees were collected from a Bluefin position.\",\n\t\tgeneric: false,\n\t\tschema: BluefinFeeCollectedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::events::UserFeeCollected\", primary: true },\n\t\t],\n\t},\n\t\"bluefin.liquidity-provided\": {\n\t\tid: \"bluefin.liquidity-provided\",\n\t\tprotocolId: \"bluefin\",\n\t\tlabel: \"Bluefin — Liquidity provided\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was provided to a Bluefin position.\",\n\t\tgeneric: false,\n\t\tschema: BluefinLiquidityProvidedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::events::LiquidityProvided\", primary: true },\n\t\t],\n\t},\n\t\"bluefin.liquidity-removed\": {\n\t\tid: \"bluefin.liquidity-removed\",\n\t\tprotocolId: \"bluefin\",\n\t\tlabel: \"Bluefin — Liquidity removed\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was removed from a Bluefin position.\",\n\t\tgeneric: false,\n\t\tschema: BluefinLiquidityRemovedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::events::LiquidityRemoved\", primary: true },\n\t\t],\n\t},\n\t\"bluefin.pool-created\": {\n\t\tid: \"bluefin.pool-created\",\n\t\tprotocolId: \"bluefin\",\n\t\tlabel: \"Bluefin — Pool created\",\n\t\tcategory: \"pool\",\n\t\tdescription: \"A new Bluefin spot pool was created.\",\n\t\tgeneric: false,\n\t\tschema: BluefinPoolCreatedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::events::PoolCreated\", primary: true },\n\t\t],\n\t},\n\t\"bluefin.position-closed\": {\n\t\tid: \"bluefin.position-closed\",\n\t\tprotocolId: \"bluefin\",\n\t\tlabel: \"Bluefin — Position closed\",\n\t\tcategory: \"position\",\n\t\tdescription: \"A Bluefin liquidity position was closed.\",\n\t\tgeneric: false,\n\t\tschema: BluefinPositionClosedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::events::PositionClosed\", primary: true },\n\t\t],\n\t},\n\t\"bluefin.position-opened\": {\n\t\tid: \"bluefin.position-opened\",\n\t\tprotocolId: \"bluefin\",\n\t\tlabel: \"Bluefin — Position opened\",\n\t\tcategory: \"position\",\n\t\tdescription: \"A new Bluefin liquidity position was opened.\",\n\t\tgeneric: false,\n\t\tschema: BluefinPositionOpenedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::events::PositionOpened\", primary: true },\n\t\t],\n\t},\n\t\"bluefin.reward-collected\": {\n\t\tid: \"bluefin.reward-collected\",\n\t\tprotocolId: \"bluefin\",\n\t\tlabel: \"Bluefin — Reward collected\",\n\t\tcategory: \"reward\",\n\t\tdescription: \"Incentive rewards were collected from a Bluefin position.\",\n\t\tgeneric: false,\n\t\tschema: BluefinRewardCollectedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::events::UserRewardCollected\", primary: true },\n\t\t],\n\t},\n\t\"bluefin.swap\": {\n\t\tid: \"bluefin.swap\",\n\t\tprotocolId: \"bluefin\",\n\t\tlabel: \"Bluefin — Swap\",\n\t\tcategory: \"swap\",\n\t\tdescription: \"An asset swap was executed on a Bluefin spot pool.\",\n\t\tgeneric: false,\n\t\tschema: BluefinSwapSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::events::AssetSwap\", primary: true },\n\t\t],\n\t},\n\t\"bucket.borrow\": {\n\t\tid: \"bucket.borrow\",\n\t\tprotocolId: \"bucket\",\n\t\tlabel: \"Bucket — Borrow (mint BUCK)\",\n\t\tcategory: \"borrow\",\n\t\tdescription: \"BUCK was minted against collateral in a Bucket CDP.\",\n\t\tgeneric: false,\n\t\tschema: BucketBorrowSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::buck_events::BuckMinted\", primary: true },\n\t\t],\n\t},\n\t\"bucket.deposit-collateral\": {\n\t\tid: \"bucket.deposit-collateral\",\n\t\tprotocolId: \"bucket\",\n\t\tlabel: \"Bucket — Deposit collateral\",\n\t\tcategory: \"supply\",\n\t\tdescription: \"Collateral was added to a Bucket CDP.\",\n\t\tgeneric: false,\n\t\tschema: BucketDepositCollateralSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::buck_events::CollateralIncreased\", primary: true },\n\t\t],\n\t},\n\t\"bucket.position-updated\": {\n\t\tid: \"bucket.position-updated\",\n\t\tprotocolId: \"bucket\",\n\t\tlabel: \"Bucket — Position updated\",\n\t\tcategory: \"position\",\n\t\tdescription: \"A Bucket CDP position (bottle) changed state.\",\n\t\tgeneric: false,\n\t\tschema: BucketPositionUpdatedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::bucket_events::BottleUpdated\", primary: true },\n\t\t],\n\t},\n\t\"bucket.redeem\": {\n\t\tid: \"bucket.redeem\",\n\t\tprotocolId: \"bucket\",\n\t\tlabel: \"Bucket — Redeem\",\n\t\tcategory: \"liquidation\",\n\t\tdescription: \"BUCK was redeemed for collateral on a Bucket CDP.\",\n\t\tgeneric: false,\n\t\tschema: BucketRedeemSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::bucket_events::Redeem\", primary: true },\n\t\t],\n\t},\n\t\"bucket.repay\": {\n\t\tid: \"bucket.repay\",\n\t\tprotocolId: \"bucket\",\n\t\tlabel: \"Bucket — Repay (burn BUCK)\",\n\t\tcategory: \"repay\",\n\t\tdescription: \"BUCK was burned to repay debt in a Bucket CDP.\",\n\t\tgeneric: false,\n\t\tschema: BucketRepaySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::buck_events::BuckBurnt\", primary: true },\n\t\t],\n\t},\n\t\"bucket.sbuck-deposit\": {\n\t\tid: \"bucket.sbuck-deposit\",\n\t\tprotocolId: \"bucket\",\n\t\tlabel: \"Bucket — sBUCK deposit\",\n\t\tcategory: \"supply\",\n\t\tdescription: \"BUCK was deposited into the sBUCK savings vault.\",\n\t\tgeneric: false,\n\t\tschema: BucketSbuckDepositSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1798f84ee72176114ddbf5525a6d964c5f8ea1b3738d08d50d0d3de4cf584884::event::Deposit\", primary: true },\n\t\t],\n\t},\n\t\"bucket.sbuck-rewards\": {\n\t\tid: \"bucket.sbuck-rewards\",\n\t\tprotocolId: \"bucket\",\n\t\tlabel: \"Bucket — sBUCK rewards collected\",\n\t\tcategory: \"reward\",\n\t\tdescription: \"Rewards were collected from the sBUCK savings vault.\",\n\t\tgeneric: false,\n\t\tschema: BucketSbuckRewardsSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1798f84ee72176114ddbf5525a6d964c5f8ea1b3738d08d50d0d3de4cf584884::event::CollectRewards\", primary: true },\n\t\t],\n\t},\n\t\"bucket.withdraw-collateral\": {\n\t\tid: \"bucket.withdraw-collateral\",\n\t\tprotocolId: \"bucket\",\n\t\tlabel: \"Bucket — Withdraw collateral\",\n\t\tcategory: \"withdraw\",\n\t\tdescription: \"Collateral was removed from a Bucket CDP.\",\n\t\tgeneric: false,\n\t\tschema: BucketWithdrawCollateralSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::buck_events::CollateralDecreased\", primary: true },\n\t\t],\n\t},\n\t\"cetus.add-liquidity\": {\n\t\tid: \"cetus.add-liquidity\",\n\t\tprotocolId: \"cetus\",\n\t\tlabel: \"Cetus — Add liquidity\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was added to a Cetus position.\",\n\t\tgeneric: false,\n\t\tschema: CetusAddLiquiditySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::pool::AddLiquidityEvent\", primary: true },\n\t\t],\n\t},\n\t\"cetus.close-position\": {\n\t\tid: \"cetus.close-position\",\n\t\tprotocolId: \"cetus\",\n\t\tlabel: \"Cetus — Close position\",\n\t\tcategory: \"position\",\n\t\tdescription: \"A Cetus liquidity position was closed.\",\n\t\tgeneric: false,\n\t\tschema: CetusClosePositionSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::pool::ClosePositionEvent\", primary: true },\n\t\t],\n\t},\n\t\"cetus.collect-fee\": {\n\t\tid: \"cetus.collect-fee\",\n\t\tprotocolId: \"cetus\",\n\t\tlabel: \"Cetus — Collect fee\",\n\t\tcategory: \"fee\",\n\t\tdescription: \"Accrued swap fees were collected from a Cetus position.\",\n\t\tgeneric: false,\n\t\tschema: CetusCollectFeeSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::pool::CollectFeeEvent\", primary: true },\n\t\t],\n\t},\n\t\"cetus.create-pool\": {\n\t\tid: \"cetus.create-pool\",\n\t\tprotocolId: \"cetus\",\n\t\tlabel: \"Cetus — Create pool\",\n\t\tcategory: \"pool\",\n\t\tdescription: \"A new Cetus CLMM pool was created via the factory.\",\n\t\tgeneric: false,\n\t\tschema: CetusCreatePoolSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::factory::CreatePoolEvent\", primary: true },\n\t\t],\n\t},\n\t\"cetus.open-position\": {\n\t\tid: \"cetus.open-position\",\n\t\tprotocolId: \"cetus\",\n\t\tlabel: \"Cetus — Open position\",\n\t\tcategory: \"position\",\n\t\tdescription: \"A new Cetus liquidity position was opened.\",\n\t\tgeneric: false,\n\t\tschema: CetusOpenPositionSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::pool::OpenPositionEvent\", primary: true },\n\t\t],\n\t},\n\t\"cetus.remove-liquidity\": {\n\t\tid: \"cetus.remove-liquidity\",\n\t\tprotocolId: \"cetus\",\n\t\tlabel: \"Cetus — Remove liquidity\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was removed from a Cetus position.\",\n\t\tgeneric: false,\n\t\tschema: CetusRemoveLiquiditySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::pool::RemoveLiquidityEvent\", primary: true },\n\t\t],\n\t},\n\t\"cetus.swap\": {\n\t\tid: \"cetus.swap\",\n\t\tprotocolId: \"cetus\",\n\t\tlabel: \"Cetus — Swap\",\n\t\tcategory: \"swap\",\n\t\tdescription: \"A token swap was executed on a Cetus CLMM pool.\",\n\t\tgeneric: false,\n\t\tschema: CetusSwapSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::pool::SwapEvent\", primary: true },\n\t\t],\n\t},\n\t\"current.borrow\": {\n\t\tid: \"current.borrow\",\n\t\tprotocolId: \"current\",\n\t\tlabel: \"Current — Borrow\",\n\t\tcategory: \"borrow\",\n\t\tdescription: \"Assets were borrowed from a Current lending market.\",\n\t\tgeneric: false,\n\t\tschema: CurrentBorrowSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xfe1d8929d13b00aaecd7642dec1c6d41cab82882a1b139efa46bf61dfd6380bf::borrow::BorrowEvent\", primary: true },\n\t\t],\n\t},\n\t\"current.deposit\": {\n\t\tid: \"current.deposit\",\n\t\tprotocolId: \"current\",\n\t\tlabel: \"Current — Deposit\",\n\t\tcategory: \"supply\",\n\t\tdescription: \"Assets were deposited (supplied) to a Current lending market.\",\n\t\tgeneric: false,\n\t\tschema: CurrentDepositSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xfe1d8929d13b00aaecd7642dec1c6d41cab82882a1b139efa46bf61dfd6380bf::deposit::DepositEvent\", primary: true },\n\t\t],\n\t},\n\t\"current.liquidate\": {\n\t\tid: \"current.liquidate\",\n\t\tprotocolId: \"current\",\n\t\tlabel: \"Current — Liquidation\",\n\t\tcategory: \"liquidation\",\n\t\tdescription: \"A Current obligation was liquidated.\",\n\t\tgeneric: false,\n\t\tschema: CurrentLiquidateSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xfe1d8929d13b00aaecd7642dec1c6d41cab82882a1b139efa46bf61dfd6380bf::liquidate::LiquidateEvent\", primary: true },\n\t\t],\n\t},\n\t\"current.repay\": {\n\t\tid: \"current.repay\",\n\t\tprotocolId: \"current\",\n\t\tlabel: \"Current — Repay\",\n\t\tcategory: \"repay\",\n\t\tdescription: \"A Current loan was repaid.\",\n\t\tgeneric: false,\n\t\tschema: CurrentRepaySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xfe1d8929d13b00aaecd7642dec1c6d41cab82882a1b139efa46bf61dfd6380bf::repay::RepayEvent\", primary: true },\n\t\t],\n\t},\n\t\"current.withdraw\": {\n\t\tid: \"current.withdraw\",\n\t\tprotocolId: \"current\",\n\t\tlabel: \"Current — Withdraw\",\n\t\tcategory: \"withdraw\",\n\t\tdescription: \"Assets were withdrawn from a Current lending market.\",\n\t\tgeneric: false,\n\t\tschema: CurrentWithdrawSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xfe1d8929d13b00aaecd7642dec1c6d41cab82882a1b139efa46bf61dfd6380bf::withdraw::WithdrawEvent\", primary: true },\n\t\t],\n\t},\n\t\"deepbook.balance\": {\n\t\tid: \"deepbook.balance\",\n\t\tprotocolId: \"deepbook\",\n\t\tlabel: \"DeepBook — Balance change\",\n\t\tcategory: \"fee\",\n\t\tdescription: \"A deposit or withdrawal on a DeepBook balance manager.\",\n\t\tgeneric: false,\n\t\tschema: DeepbookBalanceSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809::balance_manager::BalanceEvent\", primary: true },\n\t\t],\n\t},\n\t\"deepbook.flash-loan\": {\n\t\tid: \"deepbook.flash-loan\",\n\t\tprotocolId: \"deepbook\",\n\t\tlabel: \"DeepBook — Flash loan borrowed\",\n\t\tcategory: \"fee\",\n\t\tdescription: \"A flash loan was borrowed from a DeepBook pool.\",\n\t\tgeneric: false,\n\t\tschema: DeepbookFlashLoanSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809::vault::FlashLoanBorrowed\", primary: true },\n\t\t],\n\t},\n\t\"deepbook.order-canceled\": {\n\t\tid: \"deepbook.order-canceled\",\n\t\tprotocolId: \"deepbook\",\n\t\tlabel: \"DeepBook — Order canceled\",\n\t\tcategory: \"order\",\n\t\tdescription: \"A DeepBook maker order was canceled.\",\n\t\tgeneric: false,\n\t\tschema: DeepbookOrderCanceledSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809::order::OrderCanceled\", primary: true },\n\t\t],\n\t},\n\t\"deepbook.order-filled\": {\n\t\tid: \"deepbook.order-filled\",\n\t\tprotocolId: \"deepbook\",\n\t\tlabel: \"DeepBook — Order filled\",\n\t\tcategory: \"order\",\n\t\tdescription: \"A DeepBook order was filled (partially or fully).\",\n\t\tgeneric: false,\n\t\tschema: DeepbookOrderFilledSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809::order_info::OrderFilled\", primary: true },\n\t\t],\n\t},\n\t\"deepbook.order-info\": {\n\t\tid: \"deepbook.order-info\",\n\t\tprotocolId: \"deepbook\",\n\t\tlabel: \"DeepBook — Order update\",\n\t\tcategory: \"order\",\n\t\tdescription: \"An order's lifecycle update on a DeepBook pool (placed/filled/status).\",\n\t\tgeneric: false,\n\t\tschema: DeepbookOrderInfoSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809::order_info::OrderInfo\", primary: true },\n\t\t],\n\t},\n\t\"deepbook.order-placed\": {\n\t\tid: \"deepbook.order-placed\",\n\t\tprotocolId: \"deepbook\",\n\t\tlabel: \"DeepBook — Order placed\",\n\t\tcategory: \"order\",\n\t\tdescription: \"A maker limit order was placed on a DeepBook pool.\",\n\t\tgeneric: false,\n\t\tschema: DeepbookOrderPlacedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809::order_info::OrderPlaced\", primary: true },\n\t\t],\n\t},\n\t\"ember.deposit\": {\n\t\tid: \"ember.deposit\",\n\t\tprotocolId: \"ember\",\n\t\tlabel: \"Ember — Vault deposit\",\n\t\tcategory: \"vault\",\n\t\tdescription: \"A deposit into an Ember vault (matches all deposit coin types).\",\n\t\tgeneric: true,\n\t\tschema: EmberDepositSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xc83d5406fd355f34d3ce87b35ab2c0b099af9d309ba96c17e40309502a49976f::events::VaultDepositEvent\", primary: true },\n\t\t],\n\t},\n\t\"ember.rate-updated\": {\n\t\tid: \"ember.rate-updated\",\n\t\tprotocolId: \"ember\",\n\t\tlabel: \"Ember — Vault rate updated\",\n\t\tcategory: \"reward\",\n\t\tdescription: \"An Ember vault's share rate (price) was updated.\",\n\t\tgeneric: false,\n\t\tschema: EmberRateUpdatedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xc83d5406fd355f34d3ce87b35ab2c0b099af9d309ba96c17e40309502a49976f::events::VaultRateUpdatedEvent\", primary: true },\n\t\t],\n\t},\n\t\"ember.redeem-processed\": {\n\t\tid: \"ember.redeem-processed\",\n\t\tprotocolId: \"ember\",\n\t\tlabel: \"Ember — Redeem processed\",\n\t\tcategory: \"withdraw\",\n\t\tdescription: \"A queued Ember redeem request was processed.\",\n\t\tgeneric: true,\n\t\tschema: EmberRedeemProcessedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xc83d5406fd355f34d3ce87b35ab2c0b099af9d309ba96c17e40309502a49976f::events::RequestProcessedEvent\", primary: true },\n\t\t],\n\t},\n\t\"ember.redeem-request\": {\n\t\tid: \"ember.redeem-request\",\n\t\tprotocolId: \"ember\",\n\t\tlabel: \"Ember — Redeem requested\",\n\t\tcategory: \"withdraw\",\n\t\tdescription: \"A redeem (withdrawal) was requested from an Ember vault.\",\n\t\tgeneric: true,\n\t\tschema: EmberRedeemRequestSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xc83d5406fd355f34d3ce87b35ab2c0b099af9d309ba96c17e40309502a49976f::events::RequestRedeemedEvent\", primary: true },\n\t\t],\n\t},\n\t\"flowx.amm-pair-created\": {\n\t\tid: \"flowx.amm-pair-created\",\n\t\tprotocolId: \"flowx\",\n\t\tlabel: \"FlowX — Pair created (AMM)\",\n\t\tcategory: \"pool\",\n\t\tdescription: \"A new FlowX AMM trading pair was created.\",\n\t\tgeneric: false,\n\t\tschema: FlowxAmmPairCreatedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xba153169476e8c3114962261d1edc70de5ad9781b83cc617ecc8c1923191cae0::factory::PairCreated\", primary: true },\n\t\t],\n\t},\n\t\"flowx.amm-swap\": {\n\t\tid: \"flowx.amm-swap\",\n\t\tprotocolId: \"flowx\",\n\t\tlabel: \"FlowX — Swap (AMM)\",\n\t\tcategory: \"swap\",\n\t\tdescription: \"A swap was executed on a FlowX AMM pair.\",\n\t\tgeneric: false,\n\t\tschema: FlowxAmmSwapSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xba153169476e8c3114962261d1edc70de5ad9781b83cc617ecc8c1923191cae0::pair::Swapped\", primary: true },\n\t\t],\n\t},\n\t\"flowx.clmm-pool-created\": {\n\t\tid: \"flowx.clmm-pool-created\",\n\t\tprotocolId: \"flowx\",\n\t\tlabel: \"FlowX — Pool created (CLMM)\",\n\t\tcategory: \"pool\",\n\t\tdescription: \"A new FlowX CLMM pool was created.\",\n\t\tgeneric: false,\n\t\tschema: FlowxClmmPoolCreatedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x25929e7f29e0a30eb4e692952ba1b5b65a3a4d65ab5f2a32e1ba3edcb587f26d::pool_manager::PoolCreated\", primary: true },\n\t\t],\n\t},\n\t\"flowx.clmm-swap\": {\n\t\tid: \"flowx.clmm-swap\",\n\t\tprotocolId: \"flowx\",\n\t\tlabel: \"FlowX — Swap (CLMM)\",\n\t\tcategory: \"swap\",\n\t\tdescription: \"A swap was executed on a FlowX CLMM pool.\",\n\t\tgeneric: false,\n\t\tschema: FlowxClmmSwapSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x25929e7f29e0a30eb4e692952ba1b5b65a3a4d65ab5f2a32e1ba3edcb587f26d::pool::Swap\", primary: true },\n\t\t],\n\t},\n\t\"haedal.instant-unstaked\": {\n\t\tid: \"haedal.instant-unstaked\",\n\t\tprotocolId: \"haedal\",\n\t\tlabel: \"Haedal — Instant unstaked\",\n\t\tcategory: \"unstake\",\n\t\tdescription: \"An instant unstake was performed on Haedal.\",\n\t\tgeneric: false,\n\t\tschema: HaedalInstantUnstakedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::staking::UserInstantUnstaked\", primary: true },\n\t\t],\n\t},\n\t\"haedal.staked\": {\n\t\tid: \"haedal.staked\",\n\t\tprotocolId: \"haedal\",\n\t\tlabel: \"Haedal — Staked\",\n\t\tcategory: \"stake\",\n\t\tdescription: \"SUI was staked with Haedal in exchange for haSUI.\",\n\t\tgeneric: false,\n\t\tschema: HaedalStakedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::staking::UserStaked\", primary: true },\n\t\t],\n\t},\n\t\"haedal.unstaked\": {\n\t\tid: \"haedal.unstaked\",\n\t\tprotocolId: \"haedal\",\n\t\tlabel: \"Haedal — Unstaked\",\n\t\tcategory: \"unstake\",\n\t\tdescription: \"A delayed unstake was initiated on Haedal.\",\n\t\tgeneric: false,\n\t\tschema: HaedalUnstakedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::staking::UserNormalUnstaked\", primary: true },\n\t\t],\n\t},\n\t\"kai.add-liquidity\": {\n\t\tid: \"kai.add-liquidity\",\n\t\tprotocolId: \"kai\",\n\t\tlabel: \"Kai — Increase position\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was added to a Kai leveraged position.\",\n\t\tgeneric: false,\n\t\tschema: KaiAddLiquiditySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x51e0ccce48f0763f98f1cb4856847c2e1531adacada99cdd7626ab999db57523::position_core_clmm::AddLiquidityInfo\", primary: true },\n\t\t],\n\t},\n\t\"kai.deleverage\": {\n\t\tid: \"kai.deleverage\",\n\t\tprotocolId: \"kai\",\n\t\tlabel: \"Kai — Deleverage\",\n\t\tcategory: \"repay\",\n\t\tdescription: \"A Kai leveraged position was deleveraged (debt repaid).\",\n\t\tgeneric: false,\n\t\tschema: KaiDeleverageSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x51e0ccce48f0763f98f1cb4856847c2e1531adacada99cdd7626ab999db57523::position_core_clmm::DeleverageInfo\", primary: true },\n\t\t],\n\t},\n\t\"kai.liquidation\": {\n\t\tid: \"kai.liquidation\",\n\t\tprotocolId: \"kai\",\n\t\tlabel: \"Kai — Liquidation\",\n\t\tcategory: \"liquidation\",\n\t\tdescription: \"A Kai leveraged position was liquidated.\",\n\t\tgeneric: false,\n\t\tschema: KaiLiquidationSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x51e0ccce48f0763f98f1cb4856847c2e1531adacada99cdd7626ab999db57523::position_core_clmm::LiquidationInfo\", primary: true },\n\t\t],\n\t},\n\t\"kai.position-open\": {\n\t\tid: \"kai.position-open\",\n\t\tprotocolId: \"kai\",\n\t\tlabel: \"Kai — Open leveraged position\",\n\t\tcategory: \"borrow\",\n\t\tdescription: \"A new Kai leveraged CLMM position was opened.\",\n\t\tgeneric: false,\n\t\tschema: KaiPositionOpenSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x51e0ccce48f0763f98f1cb4856847c2e1531adacada99cdd7626ab999db57523::position_core_clmm::PositionCreationInfo\", primary: true },\n\t\t],\n\t},\n\t\"kai.reduce\": {\n\t\tid: \"kai.reduce\",\n\t\tprotocolId: \"kai\",\n\t\tlabel: \"Kai — Reduce position\",\n\t\tcategory: \"withdraw\",\n\t\tdescription: \"A Kai leveraged position was reduced / partially withdrawn.\",\n\t\tgeneric: false,\n\t\tschema: KaiReduceSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x51e0ccce48f0763f98f1cb4856847c2e1531adacada99cdd7626ab999db57523::position_core_clmm::ReductionInfo\", primary: true },\n\t\t],\n\t},\n\t\"kai.supply\": {\n\t\tid: \"kai.supply\",\n\t\tprotocolId: \"kai\",\n\t\tlabel: \"Kai — Supply to pool\",\n\t\tcategory: \"lend\",\n\t\tdescription: \"Liquidity was supplied to a Kai lending pool.\",\n\t\tgeneric: false,\n\t\tschema: KaiSupplySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x51e0ccce48f0763f98f1cb4856847c2e1531adacada99cdd7626ab999db57523::supply_pool::SupplyInfo\", primary: true },\n\t\t],\n\t},\n\t\"kai.supply-withdraw\": {\n\t\tid: \"kai.supply-withdraw\",\n\t\tprotocolId: \"kai\",\n\t\tlabel: \"Kai — Withdraw from pool\",\n\t\tcategory: \"withdraw\",\n\t\tdescription: \"Supplied liquidity was withdrawn from a Kai lending pool.\",\n\t\tgeneric: false,\n\t\tschema: KaiSupplyWithdrawSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x51e0ccce48f0763f98f1cb4856847c2e1531adacada99cdd7626ab999db57523::supply_pool::WithdrawInfo\", primary: true },\n\t\t],\n\t},\n\t\"kriya.add-liquidity\": {\n\t\tid: \"kriya.add-liquidity\",\n\t\tprotocolId: \"kriya\",\n\t\tlabel: \"Kriya — Add liquidity\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was provided to a Kriya pool.\",\n\t\tgeneric: false,\n\t\tschema: KriyaAddLiquiditySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xa0eba10b173538c8fecca1dff298e488402cc9ff374f8a12ca7758eebe830b66::spot_dex::LiquidityAddedEvent\", primary: true },\n\t\t],\n\t},\n\t\"kriya.swap\": {\n\t\tid: \"kriya.swap\",\n\t\tprotocolId: \"kriya\",\n\t\tlabel: \"Kriya — Swap\",\n\t\tcategory: \"swap\",\n\t\tdescription: \"A token swap was executed on a Kriya spot pool (matches all token types).\",\n\t\tgeneric: true,\n\t\tschema: KriyaSwapSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xa0eba10b173538c8fecca1dff298e488402cc9ff374f8a12ca7758eebe830b66::spot_dex::SwapEvent\", primary: true },\n\t\t],\n\t},\n\t\"magma.add-liquidity\": {\n\t\tid: \"magma.add-liquidity\",\n\t\tprotocolId: \"magma\",\n\t\tlabel: \"Magma — Add liquidity\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was added to a Magma CLMM pool.\",\n\t\tgeneric: false,\n\t\tschema: MagmaAddLiquiditySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x4a35d3dfef55ed3631b7158544c6322a23bc434fe4fca1234cb680ce0505f82d::pool::AddLiquidityEvent\", primary: true },\n\t\t],\n\t},\n\t\"magma.collect-fee\": {\n\t\tid: \"magma.collect-fee\",\n\t\tprotocolId: \"magma\",\n\t\tlabel: \"Magma — Collect fee\",\n\t\tcategory: \"fee\",\n\t\tdescription: \"Trading fees were collected from a Magma position.\",\n\t\tgeneric: false,\n\t\tschema: MagmaCollectFeeSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x4a35d3dfef55ed3631b7158544c6322a23bc434fe4fca1234cb680ce0505f82d::pool::CollectFeeEvent\", primary: true },\n\t\t],\n\t},\n\t\"magma.collect-reward\": {\n\t\tid: \"magma.collect-reward\",\n\t\tprotocolId: \"magma\",\n\t\tlabel: \"Magma — Collect reward\",\n\t\tcategory: \"reward\",\n\t\tdescription: \"Incentive rewards were collected from a Magma position.\",\n\t\tgeneric: false,\n\t\tschema: MagmaCollectRewardSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x4a35d3dfef55ed3631b7158544c6322a23bc434fe4fca1234cb680ce0505f82d::pool::CollectRewardEvent\", primary: true },\n\t\t],\n\t},\n\t\"magma.create-pool\": {\n\t\tid: \"magma.create-pool\",\n\t\tprotocolId: \"magma\",\n\t\tlabel: \"Magma — Create pool\",\n\t\tcategory: \"pool\",\n\t\tdescription: \"A new Magma CLMM pool was created.\",\n\t\tgeneric: false,\n\t\tschema: MagmaCreatePoolSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x4a35d3dfef55ed3631b7158544c6322a23bc434fe4fca1234cb680ce0505f82d::factory::CreatePoolEvent\", primary: true },\n\t\t],\n\t},\n\t\"magma.remove-liquidity\": {\n\t\tid: \"magma.remove-liquidity\",\n\t\tprotocolId: \"magma\",\n\t\tlabel: \"Magma — Remove liquidity\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was removed from a Magma CLMM pool.\",\n\t\tgeneric: false,\n\t\tschema: MagmaRemoveLiquiditySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x4a35d3dfef55ed3631b7158544c6322a23bc434fe4fca1234cb680ce0505f82d::pool::RemoveLiquidityEvent\", primary: true },\n\t\t],\n\t},\n\t\"magma.swap\": {\n\t\tid: \"magma.swap\",\n\t\tprotocolId: \"magma\",\n\t\tlabel: \"Magma — Swap\",\n\t\tcategory: \"swap\",\n\t\tdescription: \"A token swap was executed on a Magma CLMM pool.\",\n\t\tgeneric: false,\n\t\tschema: MagmaSwapSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x4a35d3dfef55ed3631b7158544c6322a23bc434fe4fca1234cb680ce0505f82d::pool::SwapEvent\", primary: true },\n\t\t],\n\t},\n\t\"mole.add-debt\": {\n\t\tid: \"mole.add-debt\",\n\t\tprotocolId: \"mole\",\n\t\tlabel: \"Mole — Add debt (leverage)\",\n\t\tcategory: \"borrow\",\n\t\tdescription: \"Debt was added to a Mole leveraged-farm position.\",\n\t\tgeneric: true,\n\t\tschema: MoleAddDebtSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x5ffa69ee4ee14d899dcc750df92de12bad4bacf81efa1ae12ee76406804dda7f::vault::AddDebtEvent\", primary: true },\n\t\t],\n\t},\n\t\"mole.deposit\": {\n\t\tid: \"mole.deposit\",\n\t\tprotocolId: \"mole\",\n\t\tlabel: \"Mole — Vault deposit\",\n\t\tcategory: \"vault\",\n\t\tdescription: \"A deposit into a Mole savings vault (matches all coin types).\",\n\t\tgeneric: true,\n\t\tschema: MoleDepositSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x5ffa69ee4ee14d899dcc750df92de12bad4bacf81efa1ae12ee76406804dda7f::vault::DepositEvent\", primary: true },\n\t\t],\n\t},\n\t\"mole.harvest\": {\n\t\tid: \"mole.harvest\",\n\t\tprotocolId: \"mole\",\n\t\tlabel: \"Mole — Harvest rewards\",\n\t\tcategory: \"reward\",\n\t\tdescription: \"Rewards were harvested from a Mole vault/farm.\",\n\t\tgeneric: true,\n\t\tschema: MoleHarvestSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xc4dc6948a7d0a58f32fadd44e45efb201f44383bfab1cb6c48b9c186a92cc762::sui_incentive::HarvestEvent\", primary: true },\n\t\t],\n\t},\n\t\"mole.kill\": {\n\t\tid: \"mole.kill\",\n\t\tprotocolId: \"mole\",\n\t\tlabel: \"Mole — Position liquidation (kill)\",\n\t\tcategory: \"liquidation\",\n\t\tdescription: \"A Mole leveraged-farm position was liquidated.\",\n\t\tgeneric: true,\n\t\tschema: MoleKillSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x5ffa69ee4ee14d899dcc750df92de12bad4bacf81efa1ae12ee76406804dda7f::vault::KillEvent\", primary: true },\n\t\t],\n\t},\n\t\"mole.withdraw\": {\n\t\tid: \"mole.withdraw\",\n\t\tprotocolId: \"mole\",\n\t\tlabel: \"Mole — Vault withdraw\",\n\t\tcategory: \"withdraw\",\n\t\tdescription: \"A withdrawal from a Mole savings vault (matches all coin types).\",\n\t\tgeneric: true,\n\t\tschema: MoleWithdrawSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x5ffa69ee4ee14d899dcc750df92de12bad4bacf81efa1ae12ee76406804dda7f::vault::WithdrawEvent\", primary: true },\n\t\t],\n\t},\n\t\"mole.work\": {\n\t\tid: \"mole.work\",\n\t\tprotocolId: \"mole\",\n\t\tlabel: \"Mole — Open/adjust farm position\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"A Mole leveraged-farm position was opened or adjusted.\",\n\t\tgeneric: true,\n\t\tschema: MoleWorkSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x5ffa69ee4ee14d899dcc750df92de12bad4bacf81efa1ae12ee76406804dda7f::vault::WorkEvent\", primary: true },\n\t\t],\n\t},\n\t\"momentum.add-liquidity\": {\n\t\tid: \"momentum.add-liquidity\",\n\t\tprotocolId: \"momentum\",\n\t\tlabel: \"Momentum — Add liquidity\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was added to a Momentum position.\",\n\t\tgeneric: false,\n\t\tschema: MomentumAddLiquiditySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x70285592c97965e811e0c6f98dccc3a9c2b4ad854b3594faab9597ada267b860::liquidity::AddLiquidityEvent\", primary: true },\n\t\t],\n\t},\n\t\"momentum.collect-fee\": {\n\t\tid: \"momentum.collect-fee\",\n\t\tprotocolId: \"momentum\",\n\t\tlabel: \"Momentum — Collect fee\",\n\t\tcategory: \"fee\",\n\t\tdescription: \"Trading fees were collected from a Momentum position.\",\n\t\tgeneric: false,\n\t\tschema: MomentumCollectFeeSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x70285592c97965e811e0c6f98dccc3a9c2b4ad854b3594faab9597ada267b860::collect::FeeCollectedEvent\", primary: true },\n\t\t],\n\t},\n\t\"momentum.collect-reward\": {\n\t\tid: \"momentum.collect-reward\",\n\t\tprotocolId: \"momentum\",\n\t\tlabel: \"Momentum — Collect reward\",\n\t\tcategory: \"reward\",\n\t\tdescription: \"Incentive rewards were collected from a Momentum position.\",\n\t\tgeneric: false,\n\t\tschema: MomentumCollectRewardSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x70285592c97965e811e0c6f98dccc3a9c2b4ad854b3594faab9597ada267b860::collect::CollectPoolRewardEvent\", primary: true },\n\t\t],\n\t},\n\t\"momentum.pool-created\": {\n\t\tid: \"momentum.pool-created\",\n\t\tprotocolId: \"momentum\",\n\t\tlabel: \"Momentum — Pool created\",\n\t\tcategory: \"pool\",\n\t\tdescription: \"A new Momentum pool was created.\",\n\t\tgeneric: false,\n\t\tschema: MomentumPoolCreatedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x70285592c97965e811e0c6f98dccc3a9c2b4ad854b3594faab9597ada267b860::create_pool::PoolCreatedEvent\", primary: true },\n\t\t],\n\t},\n\t\"momentum.remove-liquidity\": {\n\t\tid: \"momentum.remove-liquidity\",\n\t\tprotocolId: \"momentum\",\n\t\tlabel: \"Momentum — Remove liquidity\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was removed from a Momentum position.\",\n\t\tgeneric: false,\n\t\tschema: MomentumRemoveLiquiditySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x70285592c97965e811e0c6f98dccc3a9c2b4ad854b3594faab9597ada267b860::liquidity::RemoveLiquidityEvent\", primary: true },\n\t\t],\n\t},\n\t\"momentum.repay-flash-swap\": {\n\t\tid: \"momentum.repay-flash-swap\",\n\t\tprotocolId: \"momentum\",\n\t\tlabel: \"Momentum — Repay flash swap\",\n\t\tcategory: \"fee\",\n\t\tdescription: \"A Momentum flash swap was repaid.\",\n\t\tgeneric: false,\n\t\tschema: MomentumRepayFlashSwapSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x70285592c97965e811e0c6f98dccc3a9c2b4ad854b3594faab9597ada267b860::trade::RepayFlashSwapEvent\", primary: true },\n\t\t],\n\t},\n\t\"momentum.swap\": {\n\t\tid: \"momentum.swap\",\n\t\tprotocolId: \"momentum\",\n\t\tlabel: \"Momentum — Swap\",\n\t\tcategory: \"swap\",\n\t\tdescription: \"A swap was executed on a Momentum CLMM pool.\",\n\t\tgeneric: false,\n\t\tschema: MomentumSwapSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x70285592c97965e811e0c6f98dccc3a9c2b4ad854b3594faab9597ada267b860::trade::SwapEvent\", primary: true },\n\t\t],\n\t},\n\t\"navi.borrow\": {\n\t\tid: \"navi.borrow\",\n\t\tprotocolId: \"navi\",\n\t\tlabel: \"NAVI — Borrow\",\n\t\tcategory: \"borrow\",\n\t\tdescription: \"Assets were borrowed from a NAVI pool.\",\n\t\tgeneric: false,\n\t\tschema: NaviBorrowSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1e4a13a0494d5facdbe8473e74127b838c2d446ecec0ce262e2eddafa77259cb::event::BorrowEvent\", primary: true },\n\t\t],\n\t},\n\t\"navi.deposit\": {\n\t\tid: \"navi.deposit\",\n\t\tprotocolId: \"navi\",\n\t\tlabel: \"NAVI — Deposit\",\n\t\tcategory: \"supply\",\n\t\tdescription: \"Assets were supplied to a NAVI lending pool.\",\n\t\tgeneric: false,\n\t\tschema: NaviDepositSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1e4a13a0494d5facdbe8473e74127b838c2d446ecec0ce262e2eddafa77259cb::event::DepositEvent\", primary: true },\n\t\t],\n\t},\n\t\"navi.liquidation\": {\n\t\tid: \"navi.liquidation\",\n\t\tprotocolId: \"navi\",\n\t\tlabel: \"NAVI — Liquidation\",\n\t\tcategory: \"liquidation\",\n\t\tdescription: \"An undercollateralized NAVI position was liquidated.\",\n\t\tgeneric: false,\n\t\tschema: NaviLiquidationSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1e4a13a0494d5facdbe8473e74127b838c2d446ecec0ce262e2eddafa77259cb::event::LiquidationEvent\", primary: true },\n\t\t],\n\t},\n\t\"navi.repay\": {\n\t\tid: \"navi.repay\",\n\t\tprotocolId: \"navi\",\n\t\tlabel: \"NAVI — Repay\",\n\t\tcategory: \"repay\",\n\t\tdescription: \"Borrowed assets were repaid to a NAVI pool.\",\n\t\tgeneric: false,\n\t\tschema: NaviRepaySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1e4a13a0494d5facdbe8473e74127b838c2d446ecec0ce262e2eddafa77259cb::event::RepayEvent\", primary: true },\n\t\t],\n\t},\n\t\"navi.withdraw\": {\n\t\tid: \"navi.withdraw\",\n\t\tprotocolId: \"navi\",\n\t\tlabel: \"NAVI — Withdraw\",\n\t\tcategory: \"withdraw\",\n\t\tdescription: \"Supplied assets were withdrawn from a NAVI pool.\",\n\t\tgeneric: false,\n\t\tschema: NaviWithdrawSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x1e4a13a0494d5facdbe8473e74127b838c2d446ecec0ce262e2eddafa77259cb::event::WithdrawEvent\", primary: true },\n\t\t],\n\t},\n\t\"pyth.price-feed-update\": {\n\t\tid: \"pyth.price-feed-update\",\n\t\tprotocolId: \"pyth\",\n\t\tlabel: \"Pyth — Price feed update\",\n\t\tcategory: \"oracle\",\n\t\tdescription: \"A Pyth price feed was updated with new price data.\",\n\t\tgeneric: false,\n\t\tschema: PythPriceFeedUpdateSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e::event::PriceFeedUpdateEvent\", primary: true },\n\t\t\t{ network: \"testnet\", eventType: \"0xabf837e98c26087cba0883c0a7a28326b1fa3c5e1e2c5abdb486f9e8f594c837::event::PriceFeedUpdateEvent\", primary: true },\n\t\t],\n\t},\n\t\"scallop.borrow\": {\n\t\tid: \"scallop.borrow\",\n\t\tprotocolId: \"scallop\",\n\t\tlabel: \"Scallop — Borrow\",\n\t\tcategory: \"borrow\",\n\t\tdescription: \"Assets were borrowed from a Scallop lending market.\",\n\t\tgeneric: false,\n\t\tschema: ScallopBorrowSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x6e641f0dca8aedab3101d047e96439178f16301bf0b57fe8745086ff1195eb3e::borrow::BorrowEventV3\", primary: true },\n\t\t],\n\t},\n\t\"scallop.collateral-deposit\": {\n\t\tid: \"scallop.collateral-deposit\",\n\t\tprotocolId: \"scallop\",\n\t\tlabel: \"Scallop — Deposit collateral\",\n\t\tcategory: \"supply\",\n\t\tdescription: \"Collateral was deposited into a Scallop obligation.\",\n\t\tgeneric: false,\n\t\tschema: ScallopCollateralDepositSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xefe8b36d5b2e43728cc323298626b83177803521d195cfb11e15b910e892fddf::deposit_collateral::CollateralDepositEvent\", primary: true },\n\t\t],\n\t},\n\t\"scallop.collateral-withdraw\": {\n\t\tid: \"scallop.collateral-withdraw\",\n\t\tprotocolId: \"scallop\",\n\t\tlabel: \"Scallop — Withdraw collateral\",\n\t\tcategory: \"withdraw\",\n\t\tdescription: \"Collateral was withdrawn from a Scallop obligation.\",\n\t\tgeneric: false,\n\t\tschema: ScallopCollateralWithdrawSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xefe8b36d5b2e43728cc323298626b83177803521d195cfb11e15b910e892fddf::withdraw_collateral::CollateralWithdrawEvent\", primary: true },\n\t\t],\n\t},\n\t\"scallop.liquidation\": {\n\t\tid: \"scallop.liquidation\",\n\t\tprotocolId: \"scallop\",\n\t\tlabel: \"Scallop — Liquidation\",\n\t\tcategory: \"liquidation\",\n\t\tdescription: \"A Scallop obligation was liquidated.\",\n\t\tgeneric: false,\n\t\tschema: ScallopLiquidationSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x6e641f0dca8aedab3101d047e96439178f16301bf0b57fe8745086ff1195eb3e::liquidate::LiquidateEventV2\", primary: true },\n\t\t],\n\t},\n\t\"scallop.repay\": {\n\t\tid: \"scallop.repay\",\n\t\tprotocolId: \"scallop\",\n\t\tlabel: \"Scallop — Repay\",\n\t\tcategory: \"repay\",\n\t\tdescription: \"Borrowed assets were repaid to a Scallop market.\",\n\t\tgeneric: false,\n\t\tschema: ScallopRepaySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xefe8b36d5b2e43728cc323298626b83177803521d195cfb11e15b910e892fddf::repay::RepayEvent\", primary: true },\n\t\t],\n\t},\n\t\"springsui.epoch-changed\": {\n\t\tid: \"springsui.epoch-changed\",\n\t\tprotocolId: \"springsui\",\n\t\tlabel: \"SpringSui — Epoch changed (rewards)\",\n\t\tcategory: \"reward\",\n\t\tdescription: \"SpringSui accrued staking rewards at an epoch change.\",\n\t\tgeneric: false,\n\t\tschema: SpringsuiEpochChangedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xb0575765166030556a6eafd3b1b970eba8183ff748860680245b9edd41c716e7::events::Event<0xb0575765166030556a6eafd3b1b970eba8183ff748860680245b9edd41c716e7::liquid_staking::EpochChangedEvent>\", primary: true },\n\t\t],\n\t},\n\t\"springsui.stake\": {\n\t\tid: \"springsui.stake\",\n\t\tprotocolId: \"springsui\",\n\t\tlabel: \"SpringSui — Stake (mint LST)\",\n\t\tcategory: \"stake\",\n\t\tdescription: \"SUI was staked to mint a SpringSui liquid-staking token.\",\n\t\tgeneric: false,\n\t\tschema: SpringsuiStakeSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xb0575765166030556a6eafd3b1b970eba8183ff748860680245b9edd41c716e7::events::Event<0xb0575765166030556a6eafd3b1b970eba8183ff748860680245b9edd41c716e7::liquid_staking::MintEvent>\", primary: true },\n\t\t],\n\t},\n\t\"springsui.unstake\": {\n\t\tid: \"springsui.unstake\",\n\t\tprotocolId: \"springsui\",\n\t\tlabel: \"SpringSui — Unstake (redeem LST)\",\n\t\tcategory: \"unstake\",\n\t\tdescription: \"A SpringSui liquid-staking token was redeemed for SUI.\",\n\t\tgeneric: false,\n\t\tschema: SpringsuiUnstakeSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xb0575765166030556a6eafd3b1b970eba8183ff748860680245b9edd41c716e7::events::Event<0xb0575765166030556a6eafd3b1b970eba8183ff748860680245b9edd41c716e7::liquid_staking::RedeemEvent>\", primary: true },\n\t\t],\n\t},\n\t\"steamm.bank-deposit\": {\n\t\tid: \"steamm.bank-deposit\",\n\t\tprotocolId: \"steamm\",\n\t\tlabel: \"Steamm — Bank deposit (mint bToken)\",\n\t\tcategory: \"supply\",\n\t\tdescription: \"Funds were deposited into a Steamm bank, minting bTokens.\",\n\t\tgeneric: false,\n\t\tschema: SteammBankDepositSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x4fb1cf45dffd6230305f1d269dd1816678cc8e3ba0b747a813a556921219f261::events::Event<0x4fb1cf45dffd6230305f1d269dd1816678cc8e3ba0b747a813a556921219f261::bank::MintBTokenEvent>\", primary: true },\n\t\t],\n\t},\n\t\"steamm.bank-withdraw\": {\n\t\tid: \"steamm.bank-withdraw\",\n\t\tprotocolId: \"steamm\",\n\t\tlabel: \"Steamm — Bank withdraw (burn bToken)\",\n\t\tcategory: \"withdraw\",\n\t\tdescription: \"bTokens were burned to withdraw funds from a Steamm bank.\",\n\t\tgeneric: false,\n\t\tschema: SteammBankWithdrawSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x4fb1cf45dffd6230305f1d269dd1816678cc8e3ba0b747a813a556921219f261::events::Event<0x4fb1cf45dffd6230305f1d269dd1816678cc8e3ba0b747a813a556921219f261::bank::BurnBTokenEvent>\", primary: true },\n\t\t],\n\t},\n\t\"suilend.borrow\": {\n\t\tid: \"suilend.borrow\",\n\t\tprotocolId: \"suilend\",\n\t\tlabel: \"Suilend — Borrow\",\n\t\tcategory: \"borrow\",\n\t\tdescription: \"Assets were borrowed from a Suilend market.\",\n\t\tgeneric: false,\n\t\tschema: SuilendBorrowSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf::lending_market::BorrowEvent\", primary: true },\n\t\t],\n\t},\n\t\"suilend.claim-reward\": {\n\t\tid: \"suilend.claim-reward\",\n\t\tprotocolId: \"suilend\",\n\t\tlabel: \"Suilend — Claim reward\",\n\t\tcategory: \"reward\",\n\t\tdescription: \"Rewards were claimed from a Suilend market.\",\n\t\tgeneric: false,\n\t\tschema: SuilendClaimRewardSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf::lending_market::ClaimRewardEvent\", primary: true },\n\t\t],\n\t},\n\t\"suilend.deposit\": {\n\t\tid: \"suilend.deposit\",\n\t\tprotocolId: \"suilend\",\n\t\tlabel: \"Suilend — Deposit\",\n\t\tcategory: \"supply\",\n\t\tdescription: \"Assets were deposited into a Suilend reserve.\",\n\t\tgeneric: false,\n\t\tschema: SuilendDepositSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf::lending_market::DepositEvent\", primary: true },\n\t\t],\n\t},\n\t\"suilend.liquidate\": {\n\t\tid: \"suilend.liquidate\",\n\t\tprotocolId: \"suilend\",\n\t\tlabel: \"Suilend — Liquidation\",\n\t\tcategory: \"liquidation\",\n\t\tdescription: \"A Suilend obligation was liquidated.\",\n\t\tgeneric: false,\n\t\tschema: SuilendLiquidateSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf::lending_market::LiquidateEvent\", primary: true },\n\t\t],\n\t},\n\t\"suilend.repay\": {\n\t\tid: \"suilend.repay\",\n\t\tprotocolId: \"suilend\",\n\t\tlabel: \"Suilend — Repay\",\n\t\tcategory: \"repay\",\n\t\tdescription: \"Borrowed assets were repaid to a Suilend market.\",\n\t\tgeneric: false,\n\t\tschema: SuilendRepaySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf::lending_market::RepayEvent\", primary: true },\n\t\t],\n\t},\n\t\"suilend.withdraw\": {\n\t\tid: \"suilend.withdraw\",\n\t\tprotocolId: \"suilend\",\n\t\tlabel: \"Suilend — Withdraw\",\n\t\tcategory: \"withdraw\",\n\t\tdescription: \"Assets were withdrawn from a Suilend reserve.\",\n\t\tgeneric: false,\n\t\tschema: SuilendWithdrawSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf::lending_market::WithdrawEvent\", primary: true },\n\t\t],\n\t},\n\t\"supra.price-update\": {\n\t\tid: \"supra.price-update\",\n\t\tprotocolId: \"supra\",\n\t\tlabel: \"Supra — Price update\",\n\t\tcategory: \"oracle\",\n\t\tdescription: \"A Supra oracle price feed (pair) was updated.\",\n\t\tgeneric: false,\n\t\tschema: SupraPriceUpdateSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x4979543452f609ff272d504755966ff5e70122256101c17adbe8bd27d35116c3::SupraSValueFeed::PairDataUpdateEvent\", primary: true },\n\t\t],\n\t},\n\t\"turbos.add-liquidity\": {\n\t\tid: \"turbos.add-liquidity\",\n\t\tprotocolId: \"turbos\",\n\t\tlabel: \"Turbos — Add liquidity\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was minted into a Turbos position.\",\n\t\tgeneric: false,\n\t\tschema: TurbosAddLiquiditySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x91bfbc386a41afcfd9b2533058d7e915a1d3829089cc268ff4333d54d6339ca1::pool::MintEvent\", primary: true },\n\t\t],\n\t},\n\t\"turbos.pool-created\": {\n\t\tid: \"turbos.pool-created\",\n\t\tprotocolId: \"turbos\",\n\t\tlabel: \"Turbos — Pool created\",\n\t\tcategory: \"pool\",\n\t\tdescription: \"A new Turbos CLMM pool was created.\",\n\t\tgeneric: false,\n\t\tschema: TurbosPoolCreatedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x91bfbc386a41afcfd9b2533058d7e915a1d3829089cc268ff4333d54d6339ca1::pool_factory::PoolCreatedEvent\", primary: true },\n\t\t],\n\t},\n\t\"turbos.remove-liquidity\": {\n\t\tid: \"turbos.remove-liquidity\",\n\t\tprotocolId: \"turbos\",\n\t\tlabel: \"Turbos — Remove liquidity\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was burned from a Turbos position.\",\n\t\tgeneric: false,\n\t\tschema: TurbosRemoveLiquiditySchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x91bfbc386a41afcfd9b2533058d7e915a1d3829089cc268ff4333d54d6339ca1::pool::BurnEvent\", primary: true },\n\t\t],\n\t},\n\t\"turbos.swap\": {\n\t\tid: \"turbos.swap\",\n\t\tprotocolId: \"turbos\",\n\t\tlabel: \"Turbos — Swap\",\n\t\tcategory: \"swap\",\n\t\tdescription: \"A swap was executed on a Turbos CLMM pool.\",\n\t\tgeneric: false,\n\t\tschema: TurbosSwapSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x91bfbc386a41afcfd9b2533058d7e915a1d3829089cc268ff4333d54d6339ca1::pool::SwapEvent\", primary: true },\n\t\t],\n\t},\n\t\"typus.dov-auction\": {\n\t\tid: \"typus.dov-auction\",\n\t\tprotocolId: \"typus\",\n\t\tlabel: \"Typus — DOV auction started\",\n\t\tcategory: \"option\",\n\t\tdescription: \"A new Typus options-vault (DOV) auction round started.\",\n\t\tgeneric: false,\n\t\tschema: TypusDovAuctionSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x321848bf1ae327a9e022ccb3701940191e02fa193ab160d9c0e49cd3c003de3a::typus_dov_single::NewAuctionEvent\", primary: true },\n\t\t],\n\t},\n\t\"typus.dov-bid\": {\n\t\tid: \"typus.dov-bid\",\n\t\tprotocolId: \"typus\",\n\t\tlabel: \"Typus — DOV bid\",\n\t\tcategory: \"option\",\n\t\tdescription: \"A bid was placed in a Typus options-vault auction.\",\n\t\tgeneric: false,\n\t\tschema: TypusDovBidSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x321848bf1ae327a9e022ccb3701940191e02fa193ab160d9c0e49cd3c003de3a::typus_dov_single::NewBidEvent\", primary: true },\n\t\t],\n\t},\n\t\"typus.dov-settle\": {\n\t\tid: \"typus.dov-settle\",\n\t\tprotocolId: \"typus\",\n\t\tlabel: \"Typus — DOV settled\",\n\t\tcategory: \"option\",\n\t\tdescription: \"A Typus options-vault round was settled.\",\n\t\tgeneric: false,\n\t\tschema: TypusDovSettleSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x321848bf1ae327a9e022ccb3701940191e02fa193ab160d9c0e49cd3c003de3a::typus_dov_single::SettleEvent\", primary: true },\n\t\t],\n\t},\n\t\"typus.perp-funding\": {\n\t\tid: \"typus.perp-funding\",\n\t\tprotocolId: \"typus\",\n\t\tlabel: \"Typus — Perp funding update\",\n\t\tcategory: \"funding\",\n\t\tdescription: \"A Typus perps market funding rate was updated.\",\n\t\tgeneric: false,\n\t\tschema: TypusPerpFundingSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x9003219180252ae6b81d2893b41d430488669027219537236675c0c2924c94d9::trading::UpdateFundingRateEvent\", primary: true },\n\t\t],\n\t},\n\t\"typus.perp-liquidate\": {\n\t\tid: \"typus.perp-liquidate\",\n\t\tprotocolId: \"typus\",\n\t\tlabel: \"Typus — Perp liquidation\",\n\t\tcategory: \"liquidation\",\n\t\tdescription: \"A Typus perps position was liquidated.\",\n\t\tgeneric: false,\n\t\tschema: TypusPerpLiquidateSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x9003219180252ae6b81d2893b41d430488669027219537236675c0c2924c94d9::trading::LiquidateEvent\", primary: true },\n\t\t],\n\t},\n\t\"typus.perp-lp-burn\": {\n\t\tid: \"typus.perp-lp-burn\",\n\t\tprotocolId: \"typus\",\n\t\tlabel: \"Typus — TLP burn\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was removed from the Typus perps LP (TLP).\",\n\t\tgeneric: false,\n\t\tschema: TypusPerpLpBurnSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x9003219180252ae6b81d2893b41d430488669027219537236675c0c2924c94d9::lp_pool::BurnLpEvent\", primary: true },\n\t\t],\n\t},\n\t\"typus.perp-lp-mint\": {\n\t\tid: \"typus.perp-lp-mint\",\n\t\tprotocolId: \"typus\",\n\t\tlabel: \"Typus — TLP mint\",\n\t\tcategory: \"liquidity\",\n\t\tdescription: \"Liquidity was added to the Typus perps LP (TLP).\",\n\t\tgeneric: false,\n\t\tschema: TypusPerpLpMintSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x9003219180252ae6b81d2893b41d430488669027219537236675c0c2924c94d9::lp_pool::MintLpEvent\", primary: true },\n\t\t],\n\t},\n\t\"typus.perp-order\": {\n\t\tid: \"typus.perp-order\",\n\t\tprotocolId: \"typus\",\n\t\tlabel: \"Typus — Perp order created\",\n\t\tcategory: \"perp\",\n\t\tdescription: \"A trading order was created on Typus perps.\",\n\t\tgeneric: false,\n\t\tschema: TypusPerpOrderSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x9003219180252ae6b81d2893b41d430488669027219537236675c0c2924c94d9::trading::CreateTradingOrderEvent\", primary: true },\n\t\t],\n\t},\n\t\"volo.staked\": {\n\t\tid: \"volo.staked\",\n\t\tprotocolId: \"volo\",\n\t\tlabel: \"Volo — Staked\",\n\t\tcategory: \"stake\",\n\t\tdescription: \"SUI was staked with Volo in exchange for vSUI.\",\n\t\tgeneric: false,\n\t\tschema: VoloStakedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::native_pool::StakedEvent\", primary: true },\n\t\t],\n\t},\n\t\"volo.unstaked\": {\n\t\tid: \"volo.unstaked\",\n\t\tprotocolId: \"volo\",\n\t\tlabel: \"Volo — Unstaked\",\n\t\tcategory: \"unstake\",\n\t\tdescription: \"vSUI was burned to unstake SUI on Volo.\",\n\t\tgeneric: false,\n\t\tschema: VoloUnstakedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::native_pool::UnstakedEvent\", primary: true },\n\t\t],\n\t},\n\t\"walrus.blob-certified\": {\n\t\tid: \"walrus.blob-certified\",\n\t\tprotocolId: \"walrus\",\n\t\tlabel: \"Walrus — Blob certified\",\n\t\tcategory: \"storage\",\n\t\tdescription: \"A Walrus blob was certified available.\",\n\t\tgeneric: false,\n\t\tschema: WalrusBlobCertifiedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xfdc88f7d7cf30afab2f82e8380d11ee8f70efb90e863d1de8616fae1bb09ea77::events::BlobCertified\", primary: true },\n\t\t],\n\t},\n\t\"walrus.blob-deleted\": {\n\t\tid: \"walrus.blob-deleted\",\n\t\tprotocolId: \"walrus\",\n\t\tlabel: \"Walrus — Blob deleted\",\n\t\tcategory: \"storage\",\n\t\tdescription: \"A Walrus blob was deleted.\",\n\t\tgeneric: false,\n\t\tschema: WalrusBlobDeletedSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xfdc88f7d7cf30afab2f82e8380d11ee8f70efb90e863d1de8616fae1bb09ea77::events::BlobDeleted\", primary: true },\n\t\t],\n\t},\n\t\"walrus.blob-registered\": {\n\t\tid: \"walrus.blob-registered\",\n\t\tprotocolId: \"walrus\",\n\t\tlabel: \"Walrus — Blob registered\",\n\t\tcategory: \"storage\",\n\t\tdescription: \"A new blob was registered for storage on Walrus.\",\n\t\tgeneric: false,\n\t\tschema: WalrusBlobRegisteredSchema,\n\t\tdeployments: [\n\t\t\t{ network: \"mainnet\", eventType: \"0xfdc88f7d7cf30afab2f82e8380d11ee8f70efb90e863d1de8616fae1bb09ea77::events::BlobRegistered\", primary: true },\n\t\t],\n\t},\n} as const;\n\nexport type CatalogEventId = keyof typeof catalogEvents;\n\n/** Decoded, validated payload type for a catalog event id. */\nexport type CatalogEventPayload<Id extends CatalogEventId> = z.infer<\n\t(typeof catalogEvents)[Id][\"schema\"]\n>;\n","/**\n * Runtime pieces shared by the generated event schemas (`src/generated/events.ts`)\n * and the typed-event helpers: Move-primitive zod schemas and the Warp/webhook\n * delivery envelopes.\n *\n * Encoding notes — decoded Move event JSON as delivered by Inodra:\n * - u8/u16/u32 arrive as JSON numbers; u64/u128/u256 as strings (precision).\n * Some decode paths emit small u64s as numbers, so unsigned ints accept both\n * and normalize to string.\n * - `Option<T>` flattens to `T | null`.\n * - `TypeName` may arrive as `{ name: string }` or a bare string; normalized\n * to string.\n * - `Balance<T>` may arrive as `{ value: string }` or a bare string;\n * normalized to its value string.\n * - `vector<u8>` may arrive as a byte array or a base64/hex string.\n * All object schemas are loose: protocols add fields in package upgrades and\n * unknown keys must never make a consumer pipeline throw.\n */\nimport { z } from \"zod\";\n\n// ---------------------------------------------------------------------------\n// Move primitive schemas\n// ---------------------------------------------------------------------------\n\n/** u8 / u16 / u32 — safe as JSON numbers. */\nexport const moveSmallUint = z.number();\n\n/** u64 / u128 / u256 — normalized to decimal string. */\nexport const moveUint = z\n\t.union([z.string(), z.number()])\n\t.transform((value) => String(value));\n\nexport const moveBool = z.boolean();\n\n/** address / 0x2::object::ID — 0x-prefixed hex string. */\nexport const moveAddress = z.string();\n\n/** 0x1::string::String / 0x1::ascii::String */\nexport const moveString = z.string();\n\n/** 0x1::type_name::TypeName — normalized to the type string. */\nexport const moveTypeName = z\n\t.union([z.string(), z.looseObject({ name: z.string() })])\n\t.transform((value) => (typeof value === \"string\" ? value : value.name));\n\n/** 0x2::balance::Balance<T> — normalized to its u64 value string. */\nexport const moveBalance = z\n\t.union([\n\t\tz.string(),\n\t\tz.number(),\n\t\tz.looseObject({ value: z.union([z.string(), z.number()]) }),\n\t])\n\t.transform((value) =>\n\t\ttypeof value === \"object\" ? String(value.value) : String(value),\n\t);\n\n/** vector<u8> — byte array or base64/hex string, left as received. */\nexport const moveBytes = z.union([z.string(), z.array(z.number())]);\n\n// ---------------------------------------------------------------------------\n// Delivery envelopes (Warp SSE/WS + webhooks)\n// ---------------------------------------------------------------------------\n\n/** Move package event as delivered on Warp streams (`type: \"event\"`). */\nexport const warpEventPayloadSchema = z.looseObject({\n\tactivityType: z.literal(\"package_event\"),\n\ttxDigest: z.string(),\n\teventSequence: z.number(),\n\tcheckpoint: z.number(),\n\ttimestamp: z.number(),\n\t/** Full concrete Move event type. */\n\ttype: z.string(),\n\tsender: z.string(),\n\t/** Decoded Move event payload — type with the generated catalog schemas. */\n\tdata: z.unknown(),\n});\nexport type WarpEventPayload = z.infer<typeof warpEventPayloadSchema>;\n\n/** Address activity as delivered on Warp streams (`type: \"address\"`). */\nexport const warpAddressPayloadSchema = z.looseObject({\n\taddress: z.string(),\n\tactivityType: z.string(),\n\ttxDigest: z.string(),\n\tcheckpoint: z.number(),\n\ttimestamp: z.number(),\n\tobjectId: z.string().optional(),\n\tobjectType: z.string().optional(),\n});\nexport type WarpAddressPayload = z.infer<typeof warpAddressPayloadSchema>;\n\n/** Coin/balance change as delivered on Warp streams (`type: \"coin\"`). */\nexport const warpCoinPayloadSchema = z.looseObject({\n\tactivityType: z.literal(\"balance_change\"),\n\taddress: z.string(),\n\tcoin_type: z.string(),\n\t/** Signed amount, string for precision. */\n\tamount: z.string(),\n\ttxDigest: z.string(),\n\tcheckpoint: z.number(),\n\ttimestamp: z.number(),\n});\nexport type WarpCoinPayload = z.infer<typeof warpCoinPayloadSchema>;\n\n/** Object change as delivered on Warp streams (`type: \"object\"`). */\nexport const warpObjectPayloadSchema = z.looseObject({\n\tactivityType: z.literal(\"object_change\"),\n\tobject_id: z.string(),\n\ttransactionDirection: z.string(),\n\twriteKind: z.string(),\n\towner: z.string().optional(),\n\tpreviousOwner: z.string().optional(),\n\ttxDigest: z.string(),\n\tcheckpoint: z.number(),\n\ttimestamp: z.number(),\n});\nexport type WarpObjectPayload = z.infer<typeof warpObjectPayloadSchema>;\n\n/**\n * Webhook delivery body for event webhooks:\n * `{ payloadVersion: 1, payload: { webhookId, ...warp event payload } }`.\n */\nexport const webhookEventBodySchema = z.looseObject({\n\tpayloadVersion: z.number(),\n\tpayload: warpEventPayloadSchema.extend({ webhookId: z.string() }),\n});\nexport type WebhookEventBody = z.infer<typeof webhookEventBodySchema>;\n\n// ---------------------------------------------------------------------------\n// Event-type matching (mirrors the server's catalog matching)\n// ---------------------------------------------------------------------------\n\n/** Strip generic parameters: `a::b::C<...>` → `a::b::C`. */\nexport function baseEventType(eventType: string): string {\n\tconst idx = eventType.indexOf(\"<\");\n\treturn idx === -1 ? eventType : eventType.slice(0, idx);\n}\n\n/** Extract the inner type of a wrapped event: `Outer<Inner>` → `Inner`. */\nexport function innerEventType(eventType: string): string | undefined {\n\tconst start = eventType.indexOf(\"<\");\n\tif (start === -1 || !eventType.endsWith(\">\")) {\n\t\treturn undefined;\n\t}\n\treturn eventType.slice(start + 1, -1);\n}\n\n/** A concrete on-chain deployment of a catalog event. */\nexport interface CatalogDeployment {\n\tnetwork: string;\n\t/** Canonical event type (base form for generic events). */\n\teventType: string;\n\tprimary?: boolean;\n}\n\n/**\n * Whether a raw on-chain event type string matches a deployment.\n * Generic events are cataloged in base form and matched by base type;\n * everything else (including wrapped `Outer<Inner>` events) matches exactly.\n */\nexport function eventTypeMatches(\n\trawEventType: string,\n\tdeployment: CatalogDeployment,\n\tgeneric: boolean,\n): boolean {\n\tif (generic) {\n\t\treturn baseEventType(rawEventType) === deployment.eventType;\n\t}\n\treturn rawEventType === deployment.eventType;\n}\n","/**\n * Move type-string parsing and the shared Move→schema mapping used by both\n * runtime reflection (build zod schemas for arbitrary events on the fly) and\n * the codegen CLI (emit source for them).\n *\n * Encoding rules match the generated catalog schemas — see runtime.ts.\n */\nimport { z } from \"zod\";\nimport {\n\tmoveAddress,\n\tmoveBalance,\n\tmoveBool,\n\tmoveBytes,\n\tmoveSmallUint,\n\tmoveString,\n\tmoveTypeName,\n\tmoveUint,\n} from \"./runtime.js\";\n\n// ---------------------------------------------------------------------------\n// Parsing\n// ---------------------------------------------------------------------------\n\nexport type MoveTypeNode =\n\t| { kind: \"prim\"; prim: string }\n\t| { kind: \"vector\"; inner: MoveTypeNode }\n\t| {\n\t\t\tkind: \"struct\";\n\t\t\taddress: string;\n\t\t\tmodule: string;\n\t\t\tname: string;\n\t\t\targs: MoveTypeNode[];\n\t }\n\t/** `$0`-style placeholder in a struct definition (GraphQL OpenMoveType). */\n\t| { kind: \"param\"; index: number }\n\t/** Anything unparseable (bare `T` in hand-written data, malformed input). */\n\t| { kind: \"opaque\"; raw: string };\n\nconst PRIMITIVES = new Set([\n\t\"u8\",\n\t\"u16\",\n\t\"u32\",\n\t\"u64\",\n\t\"u128\",\n\t\"u256\",\n\t\"bool\",\n\t\"address\",\n\t\"signer\",\n]);\n\n/** Split `a, b<c, d>, e` at top-level commas. */\nfunction splitArgs(inner: string): string[] {\n\tconst parts: string[] = [];\n\tlet depth = 0;\n\tlet current = \"\";\n\tfor (const char of inner) {\n\t\tif (char === \"<\") depth++;\n\t\tif (char === \">\") depth--;\n\t\tif (char === \",\" && depth === 0) {\n\t\t\tparts.push(current.trim());\n\t\t\tcurrent = \"\";\n\t\t\tcontinue;\n\t\t}\n\t\tcurrent += char;\n\t}\n\tif (current.trim()) parts.push(current.trim());\n\treturn parts;\n}\n\nexport function parseMoveType(input: string): MoveTypeNode {\n\tconst type = input.trim();\n\tif (PRIMITIVES.has(type)) {\n\t\treturn { kind: \"prim\", prim: type };\n\t}\n\tif (type.startsWith(\"vector<\") && type.endsWith(\">\")) {\n\t\treturn { kind: \"vector\", inner: parseMoveType(type.slice(7, -1)) };\n\t}\n\tconst param = /^\\$(\\d+)$/.exec(type);\n\tif (param) {\n\t\treturn { kind: \"param\", index: Number(param[1]) };\n\t}\n\tconst generic = type.indexOf(\"<\");\n\tconst base = generic === -1 ? type : type.slice(0, generic);\n\tconst args =\n\t\tgeneric === -1 || !type.endsWith(\">\")\n\t\t\t? []\n\t\t\t: splitArgs(type.slice(generic + 1, -1)).map(parseMoveType);\n\tconst [address, module, name, ...rest] = base.split(\"::\");\n\tif (address?.startsWith(\"0x\") && module && name && rest.length === 0) {\n\t\treturn {\n\t\t\tkind: \"struct\",\n\t\t\taddress: normalizeAddress(address),\n\t\t\tmodule,\n\t\t\tname,\n\t\t\targs,\n\t\t};\n\t}\n\treturn { kind: \"opaque\", raw: type };\n}\n\n/** 0x000…002 → 0x2 */\nexport function normalizeAddress(address: string): string {\n\treturn address.replace(/^0x0+(?=[0-9a-fA-F])/, \"0x\");\n}\n\nexport function formatMoveType(node: MoveTypeNode): string {\n\tswitch (node.kind) {\n\t\tcase \"prim\":\n\t\t\treturn node.prim;\n\t\tcase \"vector\":\n\t\t\treturn `vector<${formatMoveType(node.inner)}>`;\n\t\tcase \"param\":\n\t\t\treturn `$${node.index}`;\n\t\tcase \"opaque\":\n\t\t\treturn node.raw;\n\t\tcase \"struct\": {\n\t\t\tconst base = `${node.address}::${node.module}::${node.name}`;\n\t\t\treturn node.args.length === 0\n\t\t\t\t? base\n\t\t\t\t: `${base}<${node.args.map(formatMoveType).join(\", \")}>`;\n\t\t}\n\t}\n}\n\n/** Replace `$n` placeholders with the instantiation's concrete type args. */\nexport function substituteTypeParams(\n\tnode: MoveTypeNode,\n\targs: MoveTypeNode[],\n): MoveTypeNode {\n\tswitch (node.kind) {\n\t\tcase \"param\":\n\t\t\treturn args[node.index] ?? node;\n\t\tcase \"vector\":\n\t\t\treturn { kind: \"vector\", inner: substituteTypeParams(node.inner, args) };\n\t\tcase \"struct\":\n\t\t\treturn {\n\t\t\t\t...node,\n\t\t\t\targs: node.args.map((a) => substituteTypeParams(a, args)),\n\t\t\t};\n\t\tdefault:\n\t\t\treturn node;\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Schema shapes — the resolved, encoding-aware intermediate form\n// ---------------------------------------------------------------------------\n\nexport type SchemaShape =\n\t| { kind: \"smallUint\" }\n\t| { kind: \"uint\" }\n\t| { kind: \"bool\" }\n\t| { kind: \"address\" }\n\t| { kind: \"string\" }\n\t| { kind: \"typeName\" }\n\t| { kind: \"balance\" }\n\t| { kind: \"bytes\" }\n\t| { kind: \"option\"; inner: SchemaShape }\n\t| { kind: \"vector\"; inner: SchemaShape }\n\t| { kind: \"object\"; fields: { name: string; value: SchemaShape }[] }\n\t| { kind: \"unknown\" };\n\nexport interface StructField {\n\tname: string;\n\t/** Field type as written in the struct definition (may contain `$n`). */\n\ttype: MoveTypeNode;\n}\n\n/** Fetches the field layout of a struct definition (no type args applied). */\nexport type StructResolver = (struct: {\n\taddress: string;\n\tmodule: string;\n\tname: string;\n}) => Promise<StructField[] | undefined>;\n\nconst MAX_DEPTH = 6;\n\n/**\n * Resolve a concrete Move type into a SchemaShape, recursing into nested\n * user structs via `resolveStruct`. Depth-capped and cycle-guarded — anything\n * beyond becomes `unknown` (schemas are loose, so this stays safe).\n */\nexport async function resolveShape(\n\tnode: MoveTypeNode,\n\tresolveStruct: StructResolver,\n\tdepth = 0,\n\tstack: string[] = [],\n): Promise<SchemaShape> {\n\tswitch (node.kind) {\n\t\tcase \"prim\":\n\t\t\tswitch (node.prim) {\n\t\t\t\tcase \"u8\":\n\t\t\t\tcase \"u16\":\n\t\t\t\tcase \"u32\":\n\t\t\t\t\treturn { kind: \"smallUint\" };\n\t\t\t\tcase \"u64\":\n\t\t\t\tcase \"u128\":\n\t\t\t\tcase \"u256\":\n\t\t\t\t\treturn { kind: \"uint\" };\n\t\t\t\tcase \"bool\":\n\t\t\t\t\treturn { kind: \"bool\" };\n\t\t\t\tcase \"address\":\n\t\t\t\tcase \"signer\":\n\t\t\t\t\treturn { kind: \"address\" };\n\t\t\t\tdefault:\n\t\t\t\t\treturn { kind: \"unknown\" };\n\t\t\t}\n\t\tcase \"vector\":\n\t\t\tif (node.inner.kind === \"prim\" && node.inner.prim === \"u8\") {\n\t\t\t\treturn { kind: \"bytes\" };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tkind: \"vector\",\n\t\t\t\tinner: await resolveShape(node.inner, resolveStruct, depth, stack),\n\t\t\t};\n\t\tcase \"param\":\n\t\tcase \"opaque\":\n\t\t\treturn { kind: \"unknown\" };\n\t\tcase \"struct\": {\n\t\t\tconst base = `${node.address}::${node.module}::${node.name}`;\n\t\t\tswitch (base) {\n\t\t\t\tcase \"0x1::string::String\":\n\t\t\t\tcase \"0x1::ascii::String\":\n\t\t\t\tcase \"0x2::url::Url\":\n\t\t\t\t\treturn { kind: \"string\" };\n\t\t\t\tcase \"0x1::type_name::TypeName\":\n\t\t\t\t\treturn { kind: \"typeName\" };\n\t\t\t\tcase \"0x2::object::ID\":\n\t\t\t\t\treturn { kind: \"address\" };\n\t\t\t\tcase \"0x2::balance::Balance\":\n\t\t\t\t\treturn { kind: \"balance\" };\n\t\t\t\tcase \"0x1::option::Option\": {\n\t\t\t\t\tconst inner = node.args[0];\n\t\t\t\t\tif (node.args.length === 1 && inner) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tkind: \"option\",\n\t\t\t\t\t\t\tinner: await resolveShape(inner, resolveStruct, depth, stack),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn { kind: \"unknown\" };\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst key = formatMoveType(node);\n\t\t\tif (depth >= MAX_DEPTH || stack.includes(key)) {\n\t\t\t\treturn { kind: \"unknown\" };\n\t\t\t}\n\t\t\tconst definition = await resolveStruct(node);\n\t\t\tif (!definition) {\n\t\t\t\treturn { kind: \"unknown\" };\n\t\t\t}\n\t\t\tconst fields = await Promise.all(\n\t\t\t\tdefinition.map(async (field) => ({\n\t\t\t\t\tname: field.name,\n\t\t\t\t\tvalue: await resolveShape(\n\t\t\t\t\t\tsubstituteTypeParams(field.type, node.args),\n\t\t\t\t\t\tresolveStruct,\n\t\t\t\t\t\tdepth + 1,\n\t\t\t\t\t\t[...stack, key],\n\t\t\t\t\t),\n\t\t\t\t})),\n\t\t\t);\n\t\t\treturn { kind: \"object\", fields };\n\t\t}\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Consumers: runtime zod builder + codegen expression emitter\n// ---------------------------------------------------------------------------\n\nexport function shapeToZod(shape: SchemaShape): z.ZodTypeAny {\n\tswitch (shape.kind) {\n\t\tcase \"smallUint\":\n\t\t\treturn moveSmallUint;\n\t\tcase \"uint\":\n\t\t\treturn moveUint;\n\t\tcase \"bool\":\n\t\t\treturn moveBool;\n\t\tcase \"address\":\n\t\t\treturn moveAddress;\n\t\tcase \"string\":\n\t\t\treturn moveString;\n\t\tcase \"typeName\":\n\t\t\treturn moveTypeName;\n\t\tcase \"balance\":\n\t\t\treturn moveBalance;\n\t\tcase \"bytes\":\n\t\t\treturn moveBytes;\n\t\tcase \"option\":\n\t\t\treturn shapeToZod(shape.inner).nullable();\n\t\tcase \"vector\":\n\t\t\treturn z.array(shapeToZod(shape.inner));\n\t\tcase \"object\":\n\t\t\treturn z.looseObject(\n\t\t\t\tObject.fromEntries(\n\t\t\t\t\tshape.fields.map((f) => [f.name, shapeToZod(f.value)]),\n\t\t\t\t),\n\t\t\t);\n\t\tcase \"unknown\":\n\t\t\treturn z.unknown();\n\t}\n}\n\nconst PRIMITIVE_EXPRS: Record<string, string> = {\n\tsmallUint: \"moveSmallUint\",\n\tuint: \"moveUint\",\n\tbool: \"moveBool\",\n\taddress: \"moveAddress\",\n\tstring: \"moveString\",\n\ttypeName: \"moveTypeName\",\n\tbalance: \"moveBalance\",\n\tbytes: \"moveBytes\",\n};\n\n/**\n * Emit a zod source expression for a shape (codegen CLI). `used` collects\n * the runtime primitive names the emitted code imports.\n */\nexport function shapeToExpr(\n\tshape: SchemaShape,\n\tused: Set<string>,\n\tindent = \"\",\n): string {\n\tconst primitive = PRIMITIVE_EXPRS[shape.kind];\n\tif (primitive) {\n\t\tused.add(primitive);\n\t\treturn primitive;\n\t}\n\tswitch (shape.kind) {\n\t\tcase \"option\":\n\t\t\treturn `${shapeToExpr(shape.inner, used, indent)}.nullable()`;\n\t\tcase \"vector\":\n\t\t\treturn `z.array(${shapeToExpr(shape.inner, used, indent)})`;\n\t\tcase \"object\": {\n\t\t\tconst lines = [\"z.looseObject({\"];\n\t\t\tfor (const field of shape.fields) {\n\t\t\t\tlines.push(\n\t\t\t\t\t`${indent}\\t${JSON.stringify(field.name)}: ${shapeToExpr(field.value, used, `${indent}\\t`)},`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tlines.push(`${indent}})`);\n\t\t\treturn lines.join(\"\\n\");\n\t\t}\n\t\tdefault:\n\t\t\treturn \"z.unknown()\";\n\t}\n}\n","/**\n * Pluggable authentication for every Inodra transport.\n *\n * Most users pass an API key. The provider shape exists so future credential\n * types (x402 wallet session tokens, refreshing vault-issued keys) slot in\n * without changing any client constructor.\n */\n\nexport interface AuthCredentials {\n\t/** Sent as HTTP headers (REST, SSE, GraphQL) and gRPC metadata. */\n\theaders: Record<string, string>;\n\t/**\n\t * Sent as URL query parameters on transports that cannot carry headers\n\t * (WebSocket upgrades in browsers). Omit to disallow such transports.\n\t */\n\tqueryParams?: Record<string, string>;\n}\n\nexport type InodraAuth =\n\t| string\n\t| { apiKey: string }\n\t| { sessionToken: string }\n\t| {\n\t\t\tgetCredentials: () => AuthCredentials | Promise<AuthCredentials>;\n\t };\n\n/** Normalized auth handle used internally by every transport. */\nexport interface ResolvedAuth {\n\t/** Resolve credentials. Called per request on REST/SSE, per connect on WS. */\n\tcredentials(): Promise<AuthCredentials>;\n\t/**\n\t * Resolve credentials synchronously, or undefined for dynamic providers.\n\t * Used by clients whose underlying transport takes static headers\n\t * (gRPC, GraphQL).\n\t */\n\tstaticCredentials(): AuthCredentials | undefined;\n}\n\nexport function resolveAuth(auth: InodraAuth): ResolvedAuth {\n\tif (typeof auth === \"string\") {\n\t\treturn staticAuth(apiKeyCredentials(auth));\n\t}\n\tif (\"apiKey\" in auth) {\n\t\treturn staticAuth(apiKeyCredentials(auth.apiKey));\n\t}\n\tif (\"sessionToken\" in auth) {\n\t\treturn staticAuth({\n\t\t\theaders: { authorization: `Bearer ${auth.sessionToken}` },\n\t\t});\n\t}\n\treturn {\n\t\tcredentials: async () => auth.getCredentials(),\n\t\tstaticCredentials: () => undefined,\n\t};\n}\n\n/**\n * Resolve auth from an options bag that accepts both the modern `auth` field\n * and the original `apiKey` shorthand.\n */\nexport function authFromOptions(\n\toptions: { auth?: InodraAuth; apiKey?: string },\n\tcontext: string,\n): ResolvedAuth {\n\tif (options.auth !== undefined) {\n\t\treturn resolveAuth(options.auth);\n\t}\n\tif (options.apiKey) {\n\t\treturn resolveAuth(options.apiKey);\n\t}\n\tthrow new Error(`${context} requires auth (or the apiKey shorthand)`);\n}\n\n/**\n * Headers for clients whose transports take static headers (gRPC, GraphQL).\n * Dynamic providers are rejected: the underlying Mysten clients cannot\n * re-resolve credentials per call, so a snapshot would silently go stale.\n */\nexport function staticAuthHeaders(\n\toptions: { auth?: InodraAuth; apiKey?: string },\n\tcontext: string,\n): Record<string, string> {\n\tconst credentials = authFromOptions(options, context).staticCredentials();\n\tif (!credentials) {\n\t\tthrow new Error(\n\t\t\t`${context} does not support dynamic credential providers — pass an apiKey or sessionToken`,\n\t\t);\n\t}\n\treturn credentials.headers;\n}\n\nfunction apiKeyCredentials(apiKey: string): AuthCredentials {\n\tif (!apiKey) {\n\t\tthrow new Error(\"Inodra auth: apiKey must be a non-empty string\");\n\t}\n\treturn {\n\t\theaders: { \"x-api-key\": apiKey },\n\t\tqueryParams: { api_key: apiKey },\n\t};\n}\n\nfunction staticAuth(credentials: AuthCredentials): ResolvedAuth {\n\treturn {\n\t\tcredentials: async () => credentials,\n\t\tstaticCredentials: () => credentials,\n\t};\n}\n","export type InodraNetwork = \"mainnet\" | \"testnet\";\n\n/**\n * Canonical Inodra endpoints per network and protocol.\n */\nexport const INODRA_ENDPOINTS = {\n\tmainnet: {\n\t\trest: \"https://mainnet-api.inodra.com/v1\",\n\t\tgraphql: \"https://mainnet-api.inodra.com/v1/graphql\",\n\t\t/** host:port for native gRPC transports */\n\t\tgrpc: \"mainnet-grpc.inodra.com:443\",\n\t\t/** base URL for gRPC-Web transports */\n\t\tgrpcWeb: \"https://mainnet-grpc.inodra.com\",\n\t\twarpWs: \"wss://mainnet-api.inodra.com/v1\",\n\t},\n\ttestnet: {\n\t\trest: \"https://testnet-api.inodra.com/v1\",\n\t\tgraphql: \"https://testnet-api.inodra.com/v1/graphql\",\n\t\tgrpc: \"testnet-grpc.inodra.com:443\",\n\t\tgrpcWeb: \"https://testnet-grpc.inodra.com\",\n\t\twarpWs: \"wss://testnet-api.inodra.com/v1\",\n\t},\n} as const satisfies Record<\n\tInodraNetwork,\n\t{ rest: string; graphql: string; grpc: string; grpcWeb: string; warpWs: string }\n>;\n\nexport function restBaseUrl(network: InodraNetwork): string {\n\treturn INODRA_ENDPOINTS[network].rest;\n}\n\nexport function graphqlUrl(network: InodraNetwork): string {\n\treturn INODRA_ENDPOINTS[network].graphql;\n}\n\n/** Base URL for gRPC-Web / Connect transports. */\nexport function grpcBaseUrl(network: InodraNetwork): string {\n\treturn INODRA_ENDPOINTS[network].grpcWeb;\n}\n\n/** host:port for native gRPC transports. */\nexport function grpcHost(network: InodraNetwork): string {\n\treturn INODRA_ENDPOINTS[network].grpc;\n}\n\nexport function warpStreamUrl(\n\tnetwork: InodraNetwork,\n\tsubscriptionId: string,\n): string {\n\treturn `${INODRA_ENDPOINTS[network].rest}/warp/${subscriptionId}/stream`;\n}\n\nexport function warpWebSocketUrl(\n\tnetwork: InodraNetwork,\n\tsubscriptionId: string,\n): string {\n\treturn `${INODRA_ENDPOINTS[network].warpWs}/warp/${subscriptionId}/ws`;\n}\n","export const SDK_VERSION = \"0.1.0\";\n\n/**\n * Identifies the SDK to Inodra on every request, alongside the API key.\n * Sent on REST, GraphQL, SSE (headers) and gRPC (metadata). Browsers cannot\n * attach headers to WebSocket upgrades, so the Warp WS client omits it.\n */\nexport const SDK_HEADER_NAME = \"x-inodra-sdk\";\nexport const SDK_HEADER_VALUE = `inodra-sdk-ts/${SDK_VERSION}`;\n","/**\n * Runtime schema reflection for ARBITRARY Move event types — not just the\n * curated catalog. Fetches struct layouts from Sui GraphQL (Inodra's gateway\n * with your API key, or any Sui GraphQL endpoint), substitutes concrete\n * generics, and builds the same loose, normalizing zod schemas the generated\n * catalog uses.\n *\n * ```ts\n * import { EventSchemaReflector } from \"@inodra/sui/events\";\n *\n * const reflector = new EventSchemaReflector({ apiKey, network: \"mainnet\" });\n * const schema = await reflector.schemaFor(\"0xpkg::vault::Deposit<0x2::sui::SUI>\");\n * const payload = schema.parse(event.data);\n * ```\n */\nimport type { z } from \"zod\";\nimport { authFromOptions, type InodraAuth } from \"../core/auth.js\";\nimport { graphqlUrl, type InodraNetwork } from \"../core/network.js\";\nimport { SDK_HEADER_NAME, SDK_HEADER_VALUE } from \"../core/version.js\";\nimport {\n\tformatMoveType,\n\ttype MoveTypeNode,\n\tparseMoveType,\n\tresolveShape,\n\ttype SchemaShape,\n\tshapeToZod,\n\ttype StructField,\n} from \"./move-types.js\";\nimport { baseEventType } from \"./runtime.js\";\n\nexport interface EventSchemaReflectorOptions {\n\t/** Credentials for Inodra's GraphQL gateway. Omit when using a public url. */\n\tauth?: InodraAuth;\n\t/** Shorthand for `auth: { apiKey }`. */\n\tapiKey?: string;\n\t/** Defaults to \"mainnet\". Ignored when url is set. */\n\tnetwork?: InodraNetwork;\n\t/** GraphQL endpoint override (e.g. a public Sui GraphQL for keyless use). */\n\turl?: string;\n\t/** Custom fetch implementation. */\n\tfetch?: typeof globalThis.fetch;\n}\n\nconst STRUCT_QUERY = `query($pkg: SuiAddress!, $module: String!, $struct: String!) {\n\tpackage(address: $pkg) {\n\t\tmodule(name: $module) { struct(name: $struct) { fields { name type { repr } } } }\n\t}\n}`;\n\ninterface StructQueryResult {\n\tpackage: {\n\t\tmodule: {\n\t\t\tstruct: { fields: { name: string; type: { repr: string } }[] } | null;\n\t\t} | null;\n\t} | null;\n}\n\nexport class EventSchemaReflector {\n\tprivate readonly url: string;\n\tprivate readonly headers: Record<string, string>;\n\tprivate readonly fetchImpl: typeof globalThis.fetch;\n\t/** Struct-definition cache, keyed by `address::module::name`. */\n\tprivate readonly structs = new Map<\n\t\tstring,\n\t\tPromise<StructField[] | undefined>\n\t>();\n\t/** Resolved shape cache, keyed by the canonical concrete type string. */\n\tprivate readonly shapes = new Map<string, Promise<SchemaShape>>();\n\tprivate readonly schemas = new Map<string, Promise<z.ZodTypeAny>>();\n\n\tconstructor(options: EventSchemaReflectorOptions = {}) {\n\t\tthis.url = options.url ?? graphqlUrl(options.network ?? \"mainnet\");\n\t\tthis.fetchImpl = options.fetch ?? globalThis.fetch;\n\t\tconst headers: Record<string, string> = {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t[SDK_HEADER_NAME]: SDK_HEADER_VALUE,\n\t\t};\n\t\tif (options.auth !== undefined || options.apiKey) {\n\t\t\tconst credentials = authFromOptions(\n\t\t\t\toptions,\n\t\t\t\t\"EventSchemaReflector\",\n\t\t\t).staticCredentials();\n\t\t\tif (!credentials) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"EventSchemaReflector does not support dynamic credential providers\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tObject.assign(headers, credentials.headers);\n\t\t}\n\t\tthis.headers = headers;\n\t}\n\n\t/**\n\t * Resolved schema shape for a concrete Move type (cached). Useful for\n\t * codegen and introspection; most callers want {@link schemaFor}.\n\t */\n\tshapeFor(type: string): Promise<SchemaShape> {\n\t\tconst node = parseMoveType(type);\n\t\tconst key = formatMoveType(node);\n\t\tlet pending = this.shapes.get(key);\n\t\tif (!pending) {\n\t\t\tpending = resolveShape(node, (struct) => this.structFields(struct));\n\t\t\tthis.shapes.set(key, pending);\n\t\t\tpending.catch(() => this.shapes.delete(key));\n\t\t}\n\t\treturn pending;\n\t}\n\n\t/**\n\t * Build (and cache) a loose, normalizing zod schema for any concrete Move\n\t * event type. Same encoding rules as the generated catalog schemas.\n\t */\n\tschemaFor(type: string): Promise<z.ZodTypeAny> {\n\t\tconst key = formatMoveType(parseMoveType(type));\n\t\tlet pending = this.schemas.get(key);\n\t\tif (!pending) {\n\t\t\tpending = this.shapeFor(type).then((shape) => {\n\t\t\t\tif (shape.kind !== \"object\") {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`${type} did not resolve to a struct — is it a Move event type on this network?`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn shapeToZod(shape);\n\t\t\t});\n\t\t\tthis.schemas.set(key, pending);\n\t\t\tpending.catch(() => this.schemas.delete(key));\n\t\t}\n\t\treturn pending;\n\t}\n\n\t/**\n\t * Validate + normalize an event payload against the reflected schema.\n\t * Accepts a Warp stream message, a bare `{type, data}` event payload, or\n\t * a webhook body. Returns undefined when the message carries a different\n\t * event type; throws when the payload doesn't fit the reflected schema.\n\t *\n\t * Matching: exact when `type` is fully instantiated; base-type when\n\t * `type` has no generics (all instantiations match).\n\t */\n\tasync parseEvent(\n\t\tmessage: unknown,\n\t\ttype: string,\n\t): Promise<Record<string, unknown> | undefined> {\n\t\tconst payload = extractEventPayload(message);\n\t\tif (!payload) {\n\t\t\treturn undefined;\n\t\t}\n\t\t// Canonicalize both sides — on-chain type strings use full-width\n\t\t// addresses (0x000…2::…), user input is usually short-form (0x2::…).\n\t\tconst canonical = (t: string) => formatMoveType(parseMoveType(t));\n\t\tconst requested = canonical(type);\n\t\tconst matches = type.includes(\"<\")\n\t\t\t? canonical(payload.type) === requested\n\t\t\t: canonical(baseEventType(payload.type)) === requested;\n\t\tif (!matches) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst schema = await this.schemaFor(\n\t\t\ttype.includes(\"<\") ? type : payload.type,\n\t\t);\n\t\treturn schema.parse(payload.data) as Record<string, unknown>;\n\t}\n\n\tprivate structFields(struct: {\n\t\taddress: string;\n\t\tmodule: string;\n\t\tname: string;\n\t}): Promise<StructField[] | undefined> {\n\t\tconst key = `${struct.address}::${struct.module}::${struct.name}`;\n\t\tlet pending = this.structs.get(key);\n\t\tif (!pending) {\n\t\t\tpending = this.fetchStruct(struct);\n\t\t\tthis.structs.set(key, pending);\n\t\t\tpending.catch(() => this.structs.delete(key));\n\t\t}\n\t\treturn pending;\n\t}\n\n\tprivate async fetchStruct(struct: {\n\t\taddress: string;\n\t\tmodule: string;\n\t\tname: string;\n\t}): Promise<StructField[] | undefined> {\n\t\tlet lastError: unknown;\n\t\tfor (let attempt = 0; attempt < 3; attempt++) {\n\t\t\ttry {\n\t\t\t\tconst response = await this.fetchImpl(this.url, {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: this.headers,\n\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\tquery: STRUCT_QUERY,\n\t\t\t\t\t\tvariables: {\n\t\t\t\t\t\t\tpkg: struct.address,\n\t\t\t\t\t\t\tmodule: struct.module,\n\t\t\t\t\t\t\tstruct: struct.name,\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tthrow new Error(`GraphQL reflection failed: HTTP ${response.status}`);\n\t\t\t\t}\n\t\t\t\tconst body = (await response.json()) as {\n\t\t\t\t\tdata?: StructQueryResult;\n\t\t\t\t\terrors?: unknown;\n\t\t\t\t};\n\t\t\t\tif (body.errors) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`GraphQL reflection errors: ${JSON.stringify(body.errors)}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst fields = body.data?.package?.module?.struct?.fields;\n\t\t\t\tif (!fields) {\n\t\t\t\t\treturn undefined; // unknown struct — caller maps to z.unknown()\n\t\t\t\t}\n\t\t\t\treturn fields.map((field) => ({\n\t\t\t\t\tname: field.name,\n\t\t\t\t\ttype: parseMoveType(field.type.repr) as MoveTypeNode,\n\t\t\t\t}));\n\t\t\t} catch (error) {\n\t\t\t\tlastError = error;\n\t\t\t\tawait new Promise((r) => setTimeout(r, 300 * 2 ** attempt));\n\t\t\t}\n\t\t}\n\t\tthrow lastError;\n\t}\n}\n\n// Local copy of the delivery-shape extractor (index.ts owns the catalog-typed\n// variant; this one is untyped by design).\nfunction extractEventPayload(\n\tinput: unknown,\n\tdepth = 0,\n): { type: string; data: unknown } | undefined {\n\tif (depth > 3 || typeof input !== \"object\" || input === null) {\n\t\treturn undefined;\n\t}\n\tconst record = input as Record<string, unknown>;\n\tif (\n\t\ttypeof record.type === \"string\" &&\n\t\trecord.type.includes(\"::\") &&\n\t\t\"data\" in record\n\t) {\n\t\treturn { type: record.type, data: record.data };\n\t}\n\treturn (\n\t\textractEventPayload(record.payload, depth + 1) ??\n\t\textractEventPayload(record.data, depth + 1)\n\t);\n}\n"],"mappings":"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","names":["import_zod","import_zod","module","matches","extractEventPayload"]}
@@ -0,0 +1,47 @@
1
+ import { z } from 'zod';
2
+ import { C as CatalogEventId, c as catalogEvents, a as CatalogEventPayload } from './reflection-Cf7WFH6H.cjs';
3
+ export { A as AftermathDepositEvent, b as AftermathDepositSchema, d as AftermathPerpFundingEvent, e as AftermathPerpFundingSchema, f as AftermathPerpLiquidatedEvent, g as AftermathPerpLiquidatedSchema, h as AftermathSwapEvent, i as AftermathSwapSchema, j as AlphafiLiquidityChangeEvent, k as AlphafiLiquidityChangeSchema, l as AlphafiRewardEvent, m as AlphafiRewardSchema, B as BluefinFeeCollectedEvent, n as BluefinFeeCollectedSchema, o as BluefinLiquidityProvidedEvent, p as BluefinLiquidityProvidedSchema, q as BluefinLiquidityRemovedEvent, r as BluefinLiquidityRemovedSchema, s as BluefinPoolCreatedEvent, t as BluefinPoolCreatedSchema, u as BluefinPositionClosedEvent, v as BluefinPositionClosedSchema, w as BluefinPositionOpenedEvent, x as BluefinPositionOpenedSchema, y as BluefinRewardCollectedEvent, z as BluefinRewardCollectedSchema, D as BluefinSwapEvent, E as BluefinSwapSchema, F as BucketBorrowEvent, G as BucketBorrowSchema, H as BucketDepositCollateralEvent, I as BucketDepositCollateralSchema, J as BucketPositionUpdatedEvent, K as BucketPositionUpdatedSchema, L as BucketRedeemEvent, M as BucketRedeemSchema, N as BucketRepayEvent, O as BucketRepaySchema, P as BucketSbuckDepositEvent, Q as BucketSbuckDepositSchema, R as BucketSbuckRewardsEvent, S as BucketSbuckRewardsSchema, T as BucketWithdrawCollateralEvent, U as BucketWithdrawCollateralSchema, V as CatalogDeployment, W as CetusAddLiquidityEvent, X as CetusAddLiquiditySchema, Y as CetusClosePositionEvent, Z as CetusClosePositionSchema, _ as CetusCollectFeeEvent, $ as CetusCollectFeeSchema, a0 as CetusCreatePoolEvent, a1 as CetusCreatePoolSchema, a2 as CetusOpenPositionEvent, a3 as CetusOpenPositionSchema, a4 as CetusRemoveLiquidityEvent, a5 as CetusRemoveLiquiditySchema, a6 as CetusSwapEvent, a7 as CetusSwapSchema, a8 as CurrentBorrowEvent, a9 as CurrentBorrowSchema, aa as CurrentDepositEvent, ab as CurrentDepositSchema, ac as CurrentLiquidateEvent, ad as CurrentLiquidateSchema, ae as CurrentRepayEvent, af as CurrentRepaySchema, ag as CurrentWithdrawEvent, ah as CurrentWithdrawSchema, ai as DeepbookBalanceEvent, aj as DeepbookBalanceSchema, ak as DeepbookFlashLoanEvent, al as DeepbookFlashLoanSchema, am as DeepbookOrderCanceledEvent, an as DeepbookOrderCanceledSchema, ao as DeepbookOrderFilledEvent, ap as DeepbookOrderFilledSchema, aq as DeepbookOrderInfoEvent, ar as DeepbookOrderInfoSchema, as as DeepbookOrderPlacedEvent, at as DeepbookOrderPlacedSchema, au as EmberDepositEvent, av as EmberDepositSchema, aw as EmberRateUpdatedEvent, ax as EmberRateUpdatedSchema, ay as EmberRedeemProcessedEvent, az as EmberRedeemProcessedSchema, aA as EmberRedeemRequestEvent, aB as EmberRedeemRequestSchema, aC as EventSchemaReflector, aD as EventSchemaReflectorOptions, aE as FlowxAmmPairCreatedEvent, aF as FlowxAmmPairCreatedSchema, aG as FlowxAmmSwapEvent, aH as FlowxAmmSwapSchema, aI as FlowxClmmPoolCreatedEvent, aJ as FlowxClmmPoolCreatedSchema, aK as FlowxClmmSwapEvent, aL as FlowxClmmSwapSchema, aM as HaedalInstantUnstakedEvent, aN as HaedalInstantUnstakedSchema, aO as HaedalStakedEvent, aP as HaedalStakedSchema, aQ as HaedalUnstakedEvent, aR as HaedalUnstakedSchema, aS as KaiAddLiquidityEvent, aT as KaiAddLiquiditySchema, aU as KaiDeleverageEvent, aV as KaiDeleverageSchema, aW as KaiLiquidationEvent, aX as KaiLiquidationSchema, aY as KaiPositionOpenEvent, aZ as KaiPositionOpenSchema, a_ as KaiReduceEvent, a$ as KaiReduceSchema, b0 as KaiSupplyEvent, b1 as KaiSupplySchema, b2 as KaiSupplyWithdrawEvent, b3 as KaiSupplyWithdrawSchema, b4 as KriyaAddLiquidityEvent, b5 as KriyaAddLiquiditySchema, b6 as KriyaSwapEvent, b7 as KriyaSwapSchema, b8 as MagmaAddLiquidityEvent, b9 as MagmaAddLiquiditySchema, ba as MagmaCollectFeeEvent, bb as MagmaCollectFeeSchema, bc as MagmaCollectRewardEvent, bd as MagmaCollectRewardSchema, be as MagmaCreatePoolEvent, bf as MagmaCreatePoolSchema, bg as MagmaRemoveLiquidityEvent, bh as MagmaRemoveLiquiditySchema, bi as MagmaSwapEvent, bj as MagmaSwapSchema, bk as MoleAddDebtEvent, bl as MoleAddDebtSchema, bm as MoleDepositEvent, bn as MoleDepositSchema, bo as MoleHarvestEvent, bp as MoleHarvestSchema, bq as MoleKillEvent, br as MoleKillSchema, bs as MoleWithdrawEvent, bt as MoleWithdrawSchema, bu as MoleWorkEvent, bv as MoleWorkSchema, bw as MomentumAddLiquidityEvent, bx as MomentumAddLiquiditySchema, by as MomentumCollectFeeEvent, bz as MomentumCollectFeeSchema, bA as MomentumCollectRewardEvent, bB as MomentumCollectRewardSchema, bC as MomentumPoolCreatedEvent, bD as MomentumPoolCreatedSchema, bE as MomentumRemoveLiquidityEvent, bF as MomentumRemoveLiquiditySchema, bG as MomentumRepayFlashSwapEvent, bH as MomentumRepayFlashSwapSchema, bI as MomentumSwapEvent, bJ as MomentumSwapSchema, bK as MoveTypeNode, bL as NaviBorrowEvent, bM as NaviBorrowSchema, bN as NaviDepositEvent, bO as NaviDepositSchema, bP as NaviLiquidationEvent, bQ as NaviLiquidationSchema, bR as NaviRepayEvent, bS as NaviRepaySchema, bT as NaviWithdrawEvent, bU as NaviWithdrawSchema, bV as PythPriceFeedUpdateEvent, bW as PythPriceFeedUpdateSchema, bX as ScallopBorrowEvent, bY as ScallopBorrowSchema, bZ as ScallopCollateralDepositEvent, b_ as ScallopCollateralDepositSchema, b$ as ScallopCollateralWithdrawEvent, c0 as ScallopCollateralWithdrawSchema, c1 as ScallopLiquidationEvent, c2 as ScallopLiquidationSchema, c3 as ScallopRepayEvent, c4 as ScallopRepaySchema, c5 as SchemaShape, c6 as SpringsuiEpochChangedEvent, c7 as SpringsuiEpochChangedSchema, c8 as SpringsuiStakeEvent, c9 as SpringsuiStakeSchema, ca as SpringsuiUnstakeEvent, cb as SpringsuiUnstakeSchema, cc as SteammBankDepositEvent, cd as SteammBankDepositSchema, ce as SteammBankWithdrawEvent, cf as SteammBankWithdrawSchema, cg as StructField, ch as StructResolver, ci as SuilendBorrowEvent, cj as SuilendBorrowSchema, ck as SuilendClaimRewardEvent, cl as SuilendClaimRewardSchema, cm as SuilendDepositEvent, cn as SuilendDepositSchema, co as SuilendLiquidateEvent, cp as SuilendLiquidateSchema, cq as SuilendRepayEvent, cr as SuilendRepaySchema, cs as SuilendWithdrawEvent, ct as SuilendWithdrawSchema, cu as SupraPriceUpdateEvent, cv as SupraPriceUpdateSchema, cw as TurbosAddLiquidityEvent, cx as TurbosAddLiquiditySchema, cy as TurbosPoolCreatedEvent, cz as TurbosPoolCreatedSchema, cA as TurbosRemoveLiquidityEvent, cB as TurbosRemoveLiquiditySchema, cC as TurbosSwapEvent, cD as TurbosSwapSchema, cE as TypusDovAuctionEvent, cF as TypusDovAuctionSchema, cG as TypusDovBidEvent, cH as TypusDovBidSchema, cI as TypusDovSettleEvent, cJ as TypusDovSettleSchema, cK as TypusPerpFundingEvent, cL as TypusPerpFundingSchema, cM as TypusPerpLiquidateEvent, cN as TypusPerpLiquidateSchema, cO as TypusPerpLpBurnEvent, cP as TypusPerpLpBurnSchema, cQ as TypusPerpLpMintEvent, cR as TypusPerpLpMintSchema, cS as TypusPerpOrderEvent, cT as TypusPerpOrderSchema, cU as VoloStakedEvent, cV as VoloStakedSchema, cW as VoloUnstakedEvent, cX as VoloUnstakedSchema, cY as WalrusBlobCertifiedEvent, cZ as WalrusBlobCertifiedSchema, c_ as WalrusBlobDeletedEvent, c$ as WalrusBlobDeletedSchema, d0 as WalrusBlobRegisteredEvent, d1 as WalrusBlobRegisteredSchema, d2 as WarpAddressPayload, d3 as WarpCoinPayload, d4 as WarpEventPayload, d5 as WarpObjectPayload, d6 as WebhookEventBody, d7 as _7kConfirmSwapEvent, d8 as _7kConfirmSwapSchema, d9 as _7kSwapEvent, da as _7kSwapSchema, db as baseEventType, dc as eventTypeMatches, dd as formatMoveType, de as innerEventType, df as moveAddress, dg as moveBalance, dh as moveBool, di as moveBytes, dj as moveSmallUint, dk as moveString, dl as moveTypeName, dm as moveUint, dn as normalizeAddress, dp as parseMoveType, dq as resolveShape, dr as shapeToExpr, ds as shapeToZod, dt as substituteTypeParams, du as warpAddressPayloadSchema, dv as warpCoinPayloadSchema, dw as warpEventPayloadSchema, dx as warpObjectPayloadSchema, dy as webhookEventBodySchema } from './reflection-Cf7WFH6H.cjs';
4
+ import './network-CEg2MJY3.cjs';
5
+
6
+ /**
7
+ * Typed catalog event payloads.
8
+ *
9
+ * ```ts
10
+ * import { matchCatalogEvent, parseCatalogEvent } from "@inodra/sui/events";
11
+ *
12
+ * stream.on("message", (msg) => {
13
+ * const swap = parseCatalogEvent(msg, "cetus.swap");
14
+ * if (swap) console.log(swap.amount_in); // typed, validated, normalized
15
+ * });
16
+ * ```
17
+ */
18
+
19
+ /** Payload type BEFORE zod normalization (what's on the wire). */
20
+ type CatalogEventInput<Id extends CatalogEventId> = z.input<(typeof catalogEvents)[Id]["schema"]>;
21
+ interface MatchOptions {
22
+ /** Only match deployments on this network (default: any). */
23
+ network?: string;
24
+ }
25
+ /**
26
+ * Resolve which catalog event a raw on-chain event type belongs to, if any.
27
+ * Generic events match by base type; wrapped events match exactly — mirroring
28
+ * the server's subscription matching.
29
+ */
30
+ declare function resolveCatalogEvent(rawEventType: string, options?: MatchOptions): (typeof catalogEvents)[CatalogEventId] | undefined;
31
+ /**
32
+ * If the message carries the given catalog event, return its payload typed
33
+ * as received on the wire — no validation. Accepts a Warp stream message,
34
+ * an event payload, or a webhook body.
35
+ */
36
+ declare function matchCatalogEvent<Id extends CatalogEventId>(message: unknown, id: Id, options?: MatchOptions): CatalogEventInput<Id> | undefined;
37
+ /**
38
+ * Like {@link matchCatalogEvent}, but validates and normalizes the payload
39
+ * with the generated zod schema (u64→string, TypeName→string, …).
40
+ *
41
+ * Returns undefined when the message is a different event; THROWS when the
42
+ * event matches but its payload doesn't fit the schema — that means schema
43
+ * drift worth surfacing, not a message to skip silently.
44
+ */
45
+ declare function parseCatalogEvent<Id extends CatalogEventId>(message: unknown, id: Id, options?: MatchOptions): CatalogEventPayload<Id> | undefined;
46
+
47
+ export { CatalogEventId, type CatalogEventInput, CatalogEventPayload, type MatchOptions, catalogEvents, matchCatalogEvent, parseCatalogEvent, resolveCatalogEvent };