UNPKG

@firefly-exchange/library-sui

Version:

Sui library housing helper methods, classes to interact with Bluefin protocol(s) deployed on Sui

93 lines (92 loc) 1.92 kB
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<Vault>; }; export type Vault = { id: ID; manager: Address; name: string; index: string; type: number; users?: Array<Address>; sequence_number?: string; }; export type Reserves = { id: ID; coinType: string; value: number; }; export type CreateVaultArgs = { name: string; type?: number; manager?: Address; users?: Array<Address>; }; 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<Address>; }; 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; };