Skip to main content

Interface: ServerToClientEvents

Defined in: packages/overcast-core/src/rfq/events.ts:313

Server→client broadcasts, keyed by event name. Use as the first type parameter on a client Socket<...> and the second on the server Server<...>, so .on(...) / .emit(...) are checked on both ends.

Properties

error

error: (payload) => void;

Defined in: packages/overcast-core/src/rfq/events.ts:321

Parameters

ParameterType
payload{ code: | "NOT_REGISTERED" | "WRONG_ROLE" | "VALIDATION_FAILED" | "RFQ_NOT_FOUND" | "RFQ_NOT_OPEN" | "QUOTE_NOT_FOUND" | "NOT_OWNER" | "ALREADY_ACCEPTED" | "BAD_SIGNATURE" | "SETTLEMENT_SUBMIT_FAILED" | "COLLATERAL_SUBMIT_FAILED" | "ACCEPT_OFFER_FAILED" | "INTERNAL"; message: string; }
payload.code| "NOT_REGISTERED" | "WRONG_ROLE" | "VALIDATION_FAILED" | "RFQ_NOT_FOUND" | "RFQ_NOT_OPEN" | "QUOTE_NOT_FOUND" | "NOT_OWNER" | "ALREADY_ACCEPTED" | "BAD_SIGNATURE" | "SETTLEMENT_SUBMIT_FAILED" | "COLLATERAL_SUBMIT_FAILED" | "ACCEPT_OFFER_FAILED" | "INTERNAL"
payload.messagestring

Returns

void


newQuote

newQuote: (payload) => void;

Defined in: packages/overcast-core/src/rfq/events.ts:315

Parameters

ParameterTypeDescription
payload{ creator: string; details: { borrowAllowed: boolean; collateralAmount: string; collateralAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; domain: number; endTimestamp: number; premiumAmount: string; premiumAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementAmount: string; settlementAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementLayer: string; startTimestamp: number; }; expiry: number; operation: { digest: string; expiry: number; salt: string; signature: string; signingKey: string; }; quoteId: string; rfqId: string; }-
payload.creatorstringThe creator of the quote.
payload.details{ borrowAllowed: boolean; collateralAmount: string; collateralAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; domain: number; endTimestamp: number; premiumAmount: string; premiumAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementAmount: string; settlementAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementLayer: string; startTimestamp: number; }-
payload.details.borrowAllowedboolean-
payload.details.collateralAmountstring-
payload.details.collateralAsset{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.collateralAsset.addressstringThe on-chain address (mint) that uniquely identifies the asset.
payload.details.collateralAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.collateralAsset.chain?stringThe chain the asset lives on.
payload.details.collateralAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.collateralAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.collateralAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.collateralAsset.logoUrl?stringLogo of the coin
payload.details.collateralAsset.name?stringHuman name of the asset.
payload.details.collateralAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.collateralAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.collateralAsset.volatility?numberVolatility of the asset
payload.details.domainnumber-
payload.details.endTimestampnumber-
payload.details.premiumAmountstring-
payload.details.premiumAsset{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.premiumAsset.addressstringThe on-chain address (mint) that uniquely identifies the asset.
payload.details.premiumAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.premiumAsset.chain?stringThe chain the asset lives on.
payload.details.premiumAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.premiumAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.premiumAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.premiumAsset.logoUrl?stringLogo of the coin
payload.details.premiumAsset.name?stringHuman name of the asset.
payload.details.premiumAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.premiumAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.premiumAsset.volatility?numberVolatility of the asset
payload.details.settlementAmountstring-
payload.details.settlementAsset{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.settlementAsset.addressstringThe on-chain address (mint) that uniquely identifies the asset.
payload.details.settlementAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.settlementAsset.chain?stringThe chain the asset lives on.
payload.details.settlementAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.settlementAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.settlementAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.settlementAsset.logoUrl?stringLogo of the coin
payload.details.settlementAsset.name?stringHuman name of the asset.
payload.details.settlementAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.settlementAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.settlementAsset.volatility?numberVolatility of the asset
payload.details.settlementLayerstring-
payload.details.startTimestampnumber-
payload.expirynumberWhen this quote becomes invalid.
payload.operation{ digest: string; expiry: number; salt: string; signature: string; signingKey: string; }The signed offer operation the quoter authorized this quote with.
payload.operation.digeststringThe digest that has been signed
payload.operation.expirynumberUnix seconds after which the operation is no longer valid.
payload.operation.saltstringRandom per-operation salt (nonce) for replay protection.
payload.operation.signaturestringed25519 signature over the operation digest, base58-encoded.
payload.operation.signingKeystringThe public key that produced signature.
payload.quoteIdstring-
payload.rfqIdstring-

Returns

void


newRfq

newRfq: (payload) => void;

Defined in: packages/overcast-core/src/rfq/events.ts:314

Parameters

ParameterTypeDescription
payload{ creator: string; details: { borrowAllowed?: boolean; collateralAmount?: string; collateralAsset?: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; domain?: number; endTimestamp?: number; premiumAmount?: string; premiumAsset?: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementAmount?: string; settlementAsset?: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementLayer?: string; startTimestamp?: number; }; expiry: number; options?: objectOutputType<{ responder: ZodOptional<ZodArray<ZodString, "many">>; }, ZodTypeAny, "passthrough">; rfqId: string; side: "TAKER" | "MAKER"; }-
payload.creatorstringThe creator of the RFQ.
payload.details{ borrowAllowed?: boolean; collateralAmount?: string; collateralAsset?: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; domain?: number; endTimestamp?: number; premiumAmount?: string; premiumAsset?: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementAmount?: string; settlementAsset?: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementLayer?: string; startTimestamp?: number; }Curated details of the RFQ.
payload.details.borrowAllowed?boolean-
payload.details.collateralAmount?string-
payload.details.collateralAsset?{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.collateralAsset.addressstringThe on-chain address (mint) that uniquely identifies the asset.
payload.details.collateralAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.collateralAsset.chain?stringThe chain the asset lives on.
payload.details.collateralAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.collateralAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.collateralAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.collateralAsset.logoUrl?stringLogo of the coin
payload.details.collateralAsset.name?stringHuman name of the asset.
payload.details.collateralAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.collateralAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.collateralAsset.volatility?numberVolatility of the asset
payload.details.domain?number-
payload.details.endTimestamp?number-
payload.details.premiumAmount?string-
payload.details.premiumAsset?{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.premiumAsset.addressstringThe on-chain address (mint) that uniquely identifies the asset.
payload.details.premiumAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.premiumAsset.chain?stringThe chain the asset lives on.
payload.details.premiumAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.premiumAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.premiumAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.premiumAsset.logoUrl?stringLogo of the coin
payload.details.premiumAsset.name?stringHuman name of the asset.
payload.details.premiumAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.premiumAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.premiumAsset.volatility?numberVolatility of the asset
payload.details.settlementAmount?string-
payload.details.settlementAsset?{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.settlementAsset.addressstringThe on-chain address (mint) that uniquely identifies the asset.
payload.details.settlementAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.settlementAsset.chain?stringThe chain the asset lives on.
payload.details.settlementAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.settlementAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.settlementAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.settlementAsset.logoUrl?stringLogo of the coin
payload.details.settlementAsset.name?stringHuman name of the asset.
payload.details.settlementAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.settlementAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.settlementAsset.volatility?numberVolatility of the asset
payload.details.settlementLayer?string-
payload.details.startTimestamp?number-
payload.expirynumberWhen this RFQ becomes invalid.
payload.options?objectOutputType<{ responder: ZodOptional<ZodArray<ZodString, "many">>; }, ZodTypeAny, "passthrough">RFQ options; there might be an unknown option in the future.
payload.rfqIdstring-
payload.side"TAKER" | "MAKER"RFQ is designed in a way that it is side un-aware. Both makers or takers of options can create RFQs.

Returns

void


quoteAccepted

quoteAccepted: (payload) => void;

Defined in: packages/overcast-core/src/rfq/events.ts:316

Parameters

ParameterTypeDescription
payload{ details: { borrowAllowed: boolean; collateralAmount: string; collateralAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; domain: number; endTimestamp: number; premiumAmount: string; premiumAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementAmount: string; settlementAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementLayer: string; startTimestamp: number; }; maker: string; optionId: string; quoteId: string; rfqId: string; taker: string; }-
payload.details{ borrowAllowed: boolean; collateralAmount: string; collateralAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; domain: number; endTimestamp: number; premiumAmount: string; premiumAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementAmount: string; settlementAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementLayer: string; startTimestamp: number; }-
payload.details.borrowAllowedboolean-
payload.details.collateralAmountstring-
payload.details.collateralAsset{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.collateralAsset.addressstringThe on-chain address (mint) that uniquely identifies the asset.
payload.details.collateralAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.collateralAsset.chain?stringThe chain the asset lives on.
payload.details.collateralAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.collateralAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.collateralAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.collateralAsset.logoUrl?stringLogo of the coin
payload.details.collateralAsset.name?stringHuman name of the asset.
payload.details.collateralAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.collateralAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.collateralAsset.volatility?numberVolatility of the asset
payload.details.domainnumber-
payload.details.endTimestampnumber-
payload.details.premiumAmountstring-
payload.details.premiumAsset{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.premiumAsset.addressstringThe on-chain address (mint) that uniquely identifies the asset.
payload.details.premiumAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.premiumAsset.chain?stringThe chain the asset lives on.
payload.details.premiumAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.premiumAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.premiumAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.premiumAsset.logoUrl?stringLogo of the coin
payload.details.premiumAsset.name?stringHuman name of the asset.
payload.details.premiumAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.premiumAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.premiumAsset.volatility?numberVolatility of the asset
payload.details.settlementAmountstring-
payload.details.settlementAsset{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.settlementAsset.addressstringThe on-chain address (mint) that uniquely identifies the asset.
payload.details.settlementAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.settlementAsset.chain?stringThe chain the asset lives on.
payload.details.settlementAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.settlementAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.settlementAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.settlementAsset.logoUrl?stringLogo of the coin
payload.details.settlementAsset.name?stringHuman name of the asset.
payload.details.settlementAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.settlementAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.settlementAsset.volatility?numberVolatility of the asset
payload.details.settlementLayerstring-
payload.details.startTimestampnumber-
payload.makerstring-
payload.optionIdstring-
payload.quoteIdstring-
payload.rfqIdstring-
payload.takerstring-

Returns

void


rfqCancelled

rfqCancelled: (payload) => void;

Defined in: packages/overcast-core/src/rfq/events.ts:318

An RFQ was cancelled by its creator (or its creator disconnected).

Parameters

ParameterType
payload{ rfqId: string; }
payload.rfqIdstring

Returns

void


rfqExpired

rfqExpired: (payload) => void;

Defined in: packages/overcast-core/src/rfq/events.ts:320

An RFQ reached its TTL without being accepted.

Parameters

ParameterType
payload{ rfqId: string; }
payload.rfqIdstring

Returns

void