Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

cancelPerpsOrder

Cancel one or all perps orders.

Cancelling releases the order's reserved margin back to the user's available margin and decrements open_order_count. If the user state becomes empty after all cancellations, it is deleted from storage. See protocol book: perps/2-order-matching §12.

Signature

function cancelPerpsOrder(
  client: Client<Signer>,
  parameters: {
    sender: Address
    request: PerpsCancelOrderRequest
  },
): Promise<{ hash: Uint8Array } & TxData>
 
type PerpsCancelOrderRequest =
  | { one: string }
  | { oneByClientOrderId: string }
  | "all"

Example

import { createSignerClient, createTransport, testnet, PrivateKeySigner } from "@left-curve/sdk"
import type { Address } from "@left-curve/sdk"
 
const client = createSignerClient({
  chain: testnet,
  transport: createTransport(),
  signer: PrivateKeySigner.fromMnemonic(process.env.DANGO_MNEMONIC!),
})
const sender: Address = "0x1234567890abcdef1234567890abcdef12345678"
 
await client.cancelPerpsOrder({ sender, request: { one: "12345" } })
await client.cancelPerpsOrder({ sender, request: { oneByClientOrderId: "my-order-1" } })
await client.cancelPerpsOrder({ sender, request: "all" })

Parameters

senderAddress. The trader.

requestPerpsCancelOrderRequest. "all", { one: orderId }, or { oneByClientOrderId }. The oneByClientOrderId form lets you cancel an order in the same block it was submitted.

Returns

{ hash: Uint8Array } & TxData — see broadcastTxSync.

See also