Skip to main content

Interface: ClientToServerEvents

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

Client→server events, keyed by event name. socket.io models request/response as a trailing ack callback argument; each here resolves to an RfqAck. Use as the second type parameter on a client Socket<...> and the first on the server Server<...>.

Properties

acceptQuote

acceptQuote: (payload, ack) => void;

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

Parameters

ParameterTypeDescription
payload{ offer: | string | { expiry: number; operation: { digest: string; expiry: number; salt: string; signature: string; signingKey: string; }; salt: string; }; quoteId: string; }-
payload.offer| string | { expiry: number; operation: { digest: string; expiry: number; salt: string; signature: string; signingKey: string; }; salt: string; }The user responds either with a signed offer operation to accept the quote, or an on-chain offer id.
payload.quoteIdstring-
ack(res) => void-

Returns

void


cancelRfq

cancelRfq: (payload, ack) => void;

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

Parameters

ParameterType
payload{ rfqId: string; }
payload.rfqIdstring
ack(res) => void

Returns

void


createRfq

createRfq: (payload, ack) => void;

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

Parameters

ParameterTypeDescription
payload{ creator: string; options?: objectOutputType<{ responder: ZodOptional<ZodArray<ZodString, "many">>; }, ZodTypeAny, "passthrough">; request: | { details: { borrowAllowed?: boolean; collateralAmount?: string; collateralAsset?: string; domain?: number; endTimestamp?: number; premiumAmount?: string; premiumAsset?: string; settlementAmount?: string; settlementAsset?: string; settlementLayer?: string; startTimestamp?: number; }; expiry?: number; type: "terms"; } | { offerId: string; type: "chainRef"; }; side: "TAKER" | "MAKER"; }-
payload.creatorstring-
payload.options?objectOutputType<{ responder: ZodOptional<ZodArray<ZodString, "many">>; }, ZodTypeAny, "passthrough">RFQ options; there might be an unknown option in the future.
payload.request| { details: { borrowAllowed?: boolean; collateralAmount?: string; collateralAsset?: string; domain?: number; endTimestamp?: number; premiumAmount?: string; premiumAsset?: string; settlementAmount?: string; settlementAsset?: string; settlementLayer?: string; startTimestamp?: number; }; expiry?: number; type: "terms"; } | { offerId: string; type: "chainRef"; }Either an off-chain request (partial details the creator asks for, plus an optional expiry), or an already on-chain quoteId.
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.
ack(res) => void-

Returns

void


register

register: (payload, ack) => void;

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

Parameters

ParameterType
payload{ publicKey: string; role: "TAKER" | "MAKER"; }
payload.publicKeystring
payload.role"TAKER" | "MAKER"
ack(res) => void

Returns

void


submitQuote

submitQuote: (payload, ack) => void;

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

Parameters

ParameterTypeDescription
payload{ creator: string; details: { borrowAllowed: boolean; collateralAmount: string; collateralAsset: string; domain: number; endTimestamp: number; premiumAmount: string; premiumAsset: string; settlementAmount: string; settlementAsset: string; settlementLayer: string; startTimestamp: number; }; expiry: number; operation: { digest: string; expiry: number; salt: string; signature: string; signingKey: string; }; rfqId: string; salt: string; side: "TAKER" | "MAKER"; }-
payload.creatorstring-
payload.details{ borrowAllowed: boolean; collateralAmount: string; collateralAsset: string; domain: number; endTimestamp: number; premiumAmount: string; premiumAsset: string; settlementAmount: string; settlementAsset: string; settlementLayer: string; startTimestamp: number; }Answer has to be with full details.
payload.details.borrowAllowedboolean-
payload.details.collateralAmountstring-
payload.details.collateralAssetstring-
payload.details.domainnumber-
payload.details.endTimestampnumber-
payload.details.premiumAmountstring-
payload.details.premiumAssetstring-
payload.details.settlementAmountstring-
payload.details.settlementAssetstring-
payload.details.settlementLayerstring-
payload.details.startTimestampnumber-
payload.expirynumberExpiry when this quote becomes invalid.
payload.operation{ digest: string; expiry: number; salt: string; signature: string; signingKey: string; }The signed offer operation authorizing this quote.
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.rfqIdstringThe RFQ that this quote responds to.
payload.saltstringThe salt to use for the offer object.
payload.side"TAKER" | "MAKER"The side is the opposite of the RFQ's side.
ack(res) => void-

Returns

void