@parifi/synthetix-sdk-ts
Version:
A Typescript SDK for interactions with the Synthetix protocol
82 lines (79 loc) • 2.3 kB
text/typescript
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 };