UNPKG

@cowprotocol/cow-sdk

Version:

<p align="center"> <img width="400" src="https://github.com/cowprotocol/cow-sdk/raw/main/docs/images/CoW.png" /> </p>

101 lines (100 loc) 3.35 kB
import type { Address } from './Address'; import type { BigUint } from './BigUint'; import type { EthflowData } from './EthflowData'; import type { OnchainOrderData } from './OnchainOrderData'; import type { OrderClass } from './OrderClass'; import type { OrderStatus } from './OrderStatus'; import type { TokenAmount } from './TokenAmount'; import type { UID } from './UID'; /** * Extra order data that is returned to users when querying orders but not provided by users when creating orders. * */ export type OrderMetaData = { /** * Creation time of the order. Encoded as ISO 8601 UTC. */ creationDate: string; class: OrderClass; owner: Address; uid: UID; /** * Unused field that is currently always set to `null` and will be removed in the future. * * @deprecated */ availableBalance?: TokenAmount | null; /** * The total amount of `sellToken` that has been executed for this order including fees. * */ executedSellAmount: BigUint; /** * The total amount of `sellToken` that has been executed for this order without fees. * */ executedSellAmountBeforeFees: BigUint; /** * The total amount of `buyToken` that has been executed for this order. * */ executedBuyAmount: BigUint; /** * The total amount of fees that have been executed for this order. */ executedFeeAmount: BigUint; /** * Has this order been invalidated? */ invalidated: boolean; /** * Order status. */ status: OrderStatus; /** * Amount that the signed fee would be without subsidies. */ fullFeeAmount?: TokenAmount; /** * Liquidity orders are functionally the same as normal smart contract * orders but are not placed with the intent of actively getting * traded. Instead they facilitate the trade of normal orders by * allowing them to be matched against liquidity orders which uses less * gas and can have better prices than external liquidity. * * As such liquidity orders will only be used in order to improve * settlement of normal orders. They should not be expected to be * traded otherwise and should not expect to get surplus. */ isLiquidityOrder?: boolean; ethflowData?: EthflowData; /** * This represents the actual trader of an on-chain order. * ### ethflow orders * In this case, the `owner` would be the `EthFlow` contract and *not* the actual trader. * */ onchainUser?: Address; /** * There is some data only available for orders that are placed on-chain. This data can be found in this object. * */ onchainOrderData?: OnchainOrderData; /** * Surplus fee that the limit order was executed with. */ executedSurplusFee?: BigUint; /** * Total fee charged for execution of the order. Contains network fee and protocol fees. */ executedFee?: BigUint; /** * Token the executed fee was captured in. */ executedFeeToken?: Address; /** * Full `appData`, which the contract-level `appData` is a hash of. See `OrderCreation` for more information. * */ fullAppData?: string | null; };