UNPKG

@parifi/synthetix-sdk-ts

Version:

A Typescript SDK for interactions with the Synthetix protocol

82 lines (79 loc) 2.3 kB
import { Address } from 'viem'; import { MarketIdOrName } from '../commonTypes.mjs'; import { PERPS_PERMISSIONS } from '../../constants/perpsPermissions.mjs'; import '../contractTypes.mjs'; interface GrantPermission { user: Address; permission: PERPS_PERMISSIONS; accountId?: bigint; } type GetPermissions = Omit<GrantPermission, 'permission' | 'user'>; type AccountPermissions = { /** * @dev The address for which all the permissions are granted. */ user: string; /** * @dev The array of permissions given to the associated address. */ permissions: string[]; }; type CommitOrder = { size: number; settlementStrategyId: number; marketIdOrName: MarketIdOrName; accountId?: bigint; desiredFillPrice?: number; maxPriceImpact?: number; }; type ModifyCollateral = { amount: number; collateralMarketIdOrName: MarketIdOrName; accountId?: bigint; }; type CreateAccountDepositAndCreateOrder = { amount: number; collateralMarketIdOrName: MarketIdOrName; accountId?: bigint; order: { marketIdOrName: MarketIdOrName; size: number; settlementStrategyId?: number; acceptablePrice?: number; trackingCode?: string; referrer?: string; }; }; type CreateIsolateOrder = { collateralAmount: number; collateralMarketId: number; size: number; marketIdOrName: MarketIdOrName; settlementStrategyId: number; accountId?: bigint; desiredFillPrice?: number; maxPriceImpact?: number; }; type GetPerpsQuote = { size: number; price?: number; marketIdOrName: MarketIdOrName; accountId?: bigint; settlementStrategyId?: number; includeRequiredMargin?: boolean; }; type PayDebt = { accountId?: bigint; amount: number; }; type CreateAccountAndDeposit = { amount: number; collateralMarketIdOrName: MarketIdOrName; accountId?: bigint; }; type CreateAccountAndDepositMany = { amounts: number[]; collateralMarketIdOrNames: MarketIdOrName[]; accountId?: bigint; }; export type { AccountPermissions, CommitOrder, CreateAccountAndDeposit, CreateAccountAndDepositMany, CreateAccountDepositAndCreateOrder, CreateIsolateOrder, GetPermissions, GetPerpsQuote, GrantPermission, ModifyCollateral, PayDebt };