Interface: ClientToServerEvents
Defined in: packages/overcast-core/src/rfq/events.ts:316
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:326
Parameters
| Parameter | Type | Description |
|---|---|---|
payload | { offer: | Bytes32 | { expiry: number; operation: { curve: SignatureCurve; digest: Bytes32; expiry: number; salt: Bytes32; signature: Hex; signingKey: Bytes32; }; salt: Bytes32; }; quoteId: string; } | - |
payload.offer | | Bytes32 | { expiry: number; operation: { curve: SignatureCurve; digest: Bytes32; expiry: number; salt: Bytes32; signature: Hex; signingKey: Bytes32; }; salt: Bytes32; } | 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:330
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:318
Parameters
| Parameter | Type | Description |
|---|---|---|
payload | { creator: Bytes32; domain: number; options?: { [key: string]: unknown; responder?: Bytes32[]; }; request: | { details: { borrowAllowed?: boolean; collateralAmount?: string; collateralAsset?: Bytes32; domain?: number; endTimestamp?: number; premiumAmount?: string; premiumAsset?: Bytes32; settlementAmount?: string; settlementAsset?: Bytes32; settlementLayer?: Bytes32; startTimestamp?: number; }; expiry?: number; type: "terms"; } | { offerId: Bytes32; type: "chainRef"; }; side: "TAKER" | "MAKER"; } | - |
payload.creator | Bytes32 | - |
payload.domain | number | The deployment this RFQ is for. Stamped by the RfqClient from the domain it registered under, so it cannot disagree with register. |
payload.options? | { [key: string]: unknown; responder?: Bytes32[]; } | RFQ options; there might be an unknown option in the future. |
payload.options.responder? | Bytes32[] | Optional list that are allowed to respond. If not provided, everyone can respond |
payload.request | | { details: { borrowAllowed?: boolean; collateralAmount?: string; collateralAsset?: Bytes32; domain?: number; endTimestamp?: number; premiumAmount?: string; premiumAsset?: Bytes32; settlementAmount?: string; settlementAsset?: Bytes32; settlementLayer?: Bytes32; startTimestamp?: number; }; expiry?: number; type: "terms"; } | { offerId: Bytes32; 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:317
Parameters
| Parameter | Type |
|---|---|
payload | { address: Address; domain: number; role: "TAKER" | "MAKER"; } |
payload.address | Address |
payload.domain | number |
payload.role | "TAKER" | "MAKER" |
ack | (res) => void |
Returns
void
submitQuote
submitQuote: (payload, ack) => void;
Defined in: packages/overcast-core/src/rfq/events.ts:322
Parameters
| Parameter | Type | Description |
|---|---|---|
payload | { creator: Bytes32; details: { borrowAllowed: boolean; collateralAmount: string; collateralAsset: Bytes32; domain: number; endTimestamp: number; premiumAmount: string; premiumAsset: Bytes32; settlementAmount: string; settlementAsset: Bytes32; settlementLayer: Bytes32; startTimestamp: number; }; expiry: number; operation: { curve: SignatureCurve; digest: Bytes32; expiry: number; salt: Bytes32; signature: Hex; signingKey: Bytes32; }; rfqId: string; salt: Bytes32; side: "TAKER" | "MAKER"; } | - |
payload.creator | Bytes32 | - |
payload.details | { borrowAllowed: boolean; collateralAmount: string; collateralAsset: Bytes32; domain: number; endTimestamp: number; premiumAmount: string; premiumAsset: Bytes32; settlementAmount: string; settlementAsset: Bytes32; settlementLayer: Bytes32; startTimestamp: number; } | Answer has to be with full details. |
payload.details.borrowAllowed | boolean | - |
payload.details.collateralAmount | string | - |
payload.details.collateralAsset | Bytes32 | - |
payload.details.domain | number | - |
payload.details.endTimestamp | number | - |
payload.details.premiumAmount | string | - |
payload.details.premiumAsset | Bytes32 | - |
payload.details.settlementAmount | string | - |
payload.details.settlementAsset | Bytes32 | - |
payload.details.settlementLayer | Bytes32 | - |
payload.details.startTimestamp | number | - |
payload.expiry | number | Expiry when this quote becomes invalid. |
payload.operation | { curve: SignatureCurve; digest: Bytes32; expiry: number; salt: Bytes32; signature: Hex; signingKey: Bytes32; } | The signed offer operation authorizing this quote. |
payload.operation.curve | SignatureCurve | The curve that was used to sign the digest |
payload.operation.digest | Bytes32 | The digest that has been signed |
payload.operation.expiry | number | Unix seconds after which the operation is no longer valid. |
payload.operation.salt | Bytes32 | Random per-operation salt (nonce) for replay protection. |
payload.operation.signature | Hex | ed25519 signature over the operation digest — 64 raw bytes in hex. |
payload.operation.signingKey | Bytes32 | The public key that produced signature. |
payload.rfqId | string | The RFQ that this quote responds to. |
payload.salt | Bytes32 | 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