import { Pool } from "../spot/types"; import { BigNumberable } from "../types"; import { Address, ID } from "../types"; export type AuqadityContracts = { BasePackage: Address; CurrentPackage: Address; UpgradeCap: Address; AdminCap: Address; ProtocolConfig: Address; VaultStore: Address; Operators: { [key: string]: Address; }; Vaults?: Array; }; export type Vault = { id: ID; manager: Address; name: string; index: string; type: number; users?: Array
; sequence_number?: string; }; export type Reserves = { id: ID; coinType: string; value: number; }; export type CreateVaultArgs = { name: string; type?: number; manager?: Address; users?: Array
; }; export type FundVaultArgs = { vault: ID; coinType: string; amount: BigNumberable; }; export type WithdrawFundArgs = { vault: ID; coinType: string; amount: BigNumberable; }; export type UpdateUsersArgs = { vault: ID; add: boolean; users: Array
; }; export type OpenPositionArgs = { vault: ID; pool: Pool; lowerTickBits: number; upperTickBits: number; }; export type ProvideLiquidityArgs = { vault: ID; pool: Pool; position: ID; amount: BigNumberable; coinAMax: BigNumberable; coinBMax: BigNumberable; isFixedA: boolean; }; export type RemoveLiquidityArgs = { vault: ID; pool: Pool; position: ID; liquidity: BigNumberable; coinAMin: BigNumberable; coinBMin: BigNumberable; }; export type CollectFeeArgs = { vault: ID; pool: Pool; position: ID; destination: Address; }; export type CollectRewardArgs = { vault: ID; pool: Pool; position: ID; rewardCoinType: string; destination: Address; }; export type ClosePositionArgs = { vault: ID; pool: Pool; position: ID; destination: Address; };