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
| Parameter | Type | Description |
|---|---|---|
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.quoteId | string | - |
ack | (res) => void | - |
Returns
void
cancelRfq
cancelRfq: (payload, ack) => void;
Defined in: packages/overcast-core/src/rfq/events.ts:264
Parameters
| Parameter | Type |
|---|---|
payload | { rfqId: string; } |
payload.rfqId | string |
ack | (res) => void |
Returns
void
createRfq
createRfq: (payload, ack) => void;
Defined in: packages/overcast-core/src/rfq/events.ts:252
Parameters
| Parameter | Type | Description |
|---|---|---|
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.creator | string | - |
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
| Parameter | Type |
|---|---|
payload | { publicKey: string; role: "TAKER" | "MAKER"; } |
payload.publicKey | string |
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
| Parameter | Type | Description |
|---|---|---|
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.creator | string | - |
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.borrowAllowed | boolean | - |
payload.details.collateralAmount | string | - |
payload.details.collateralAsset | string | - |
payload.details.domain | number | - |
payload.details.endTimestamp | number | - |
payload.details.premiumAmount | string | - |
payload.details.premiumAsset | string | - |
payload.details.settlementAmount | string | - |
payload.details.settlementAsset | string | - |
payload.details.settlementLayer | string | - |
payload.details.startTimestamp | number | - |
payload.expiry | number | Expiry 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.digest | string | The digest that has been signed |
payload.operation.expiry | number | Unix seconds after which the operation is no longer valid. |
payload.operation.salt | string | Random per-operation salt (nonce) for replay protection. |
payload.operation.signature | string | ed25519 signature over the operation digest, base58-encoded. |
payload.operation.signingKey | string | The public key that produced signature. |
payload.rfqId | string | The RFQ that this quote responds to. |
payload.salt | string | The 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