interface RfqSessionOpts {
    me: `${string}:${string}`;
    onProposal?: ((proposal: StandingProposal) => void);
    onStateChange?: ((outcome: RfqOutcome) => void);
    send: ((opts: {
        body: unknown;
        repliesTo?: number;
        type: ChannelMessageType;
    }) => Promise<ChannelMessage>);
}

Properties

me: `${string}:${string}`

This party's CCI primary claim.

onProposal?: ((proposal: StandingProposal) => void)

Fired when a fresh proposal (offer/counter) lands, ours or theirs.

onStateChange?: ((outcome: RfqOutcome) => void)

Fired on every state transition (including the terminal one).

send: ((opts: {
    body: unknown;
    repliesTo?: number;
    type: ChannelMessageType;
}) => Promise<ChannelMessage>)

Delivers a signed channel message. Wire to the transport's send (e.g. L2PSChannelTransport.send). Returns the signed envelope so the session can track the sequence it produced.