0.0.1-alpha.5 • Published 6 months ago
@panoptic-xyz/sdk v0.0.1-alpha.5
Panoptic SDK
Typescript SDK for Panoptic.
Overview
This SDK aims to provide a developer friendly, performant, and robust way to access the Panoptic protocol. An extension is used to provide a seamless extension to Viem. The main entities of the SDK are:
- get functions: Gather data by reading from the blockchain
- utility functions: Perform off-chain calculations
- simulate functions: Estimate gas and return a formatted transaction for a specific action
Example
import { createPublicClient, http } from 'viem'
import { sepolia } from 'viem/chains'
import {
publicActionsPanoptic,
sepoliaPanoptic,
createPanopticPosition
} from '@panoptic-xyz/sdk'
export const publicClient = createPublicClient({
chain: mainnet,
transport: http(),
}).extend(publicActionsReverseMirage)
// Pass in or read a uniswap pool
const uniswapPool = ...
// Read the data from the corresponding panoptic pool
const panopticPool = await publicClient.getPanopticPool({
uniswapPool,
factory: sepoliaPanoptic.factory,
})
// Create a new position, specifying legs
const newPosition = createPanopticPosition(panopticPool, [
{
asset: "token0",
optionRatio: 1,
position: "long",
tokenType: "token0",
riskPartnerIndex: 0,
tickLower: 0,
tickUpper: 300
},
undefined,
undefined,
undefined,
])
// Mint the new position from the panoptic pool
const { result } = await publicClient.simulatePanopticMintOptions({
position: newPosition,
amount: 10n ** 18n
});
API
Entities
PanopticFactory
: The factory contract in the Panoptic protocolPanopticSemiFungiblePositionManager
: The semi-fungible position manager in the Panoptic protocolPanopticPool
: A pool created byPanopticFactory
PanopticPoolData
: The state of aPanopticPool
PanopticCollateral
: A collateral tracker in aPanopticPool
PanopticCollateralData
: The state of aPanopticCollateral
PanopticPosition
: A user position in aPanopticPool
PanopticPositionData
: The state of aPanopticPosition
PanopticCollateralPosition
: A user position in aPanopticCollateral
PanopticCollateralPositionData
: The state of aPanopticCollateralPosition
Utilities
createPanopticPool
createPanopticCollateral
createPanopticPosition
createPanopticSemiFungiblePosition
calculatePanopticTokenID
calculatePanopticPositionKey
Public Actions
getPanopticPool
getPanopticPoolData
getPanopticCollateralData
getPanopticCollateralPositionData
getPanoptionLegData
getPanopticPositionData
getPanopticSemiFungiblePositionData
getPanopticCheckCollateral
simulatePanopticDeployNewPool
simulatePanopticMintOptions
simulatePanopticBurnOptions
simulatePanopticRollOptions
simulatePanopticForceExercise
simulatePanopticLiquidateAccount
simulatePanopticCollateralMint
simulatePanopticCollateralDeposit
simulatePanopticCollateralRedeem
simulatePanopticCollateralWithdraw
simulatePanopticSFPMInitializeAMMPool
simulatePanopticSFPMMintTokenizedPosition
simulatePanopticSFPMBurnTokenizedPosition
simulatePanopticSFPMRollTokenizedPositions
Chains
sepoliaPanoptic
ABIs
panopticFactoryABI
panopticCollateralTrackerABI
panopticPoolABI
panopticSemiFuniblePositionManagerABI
0.0.1-alpha.5
6 months ago
0.0.1-alpha.4
7 months ago
0.0.1-alpha.3
7 months ago
0.0.1-alpha.2
7 months ago
0.0.1-alpha.1
7 months ago
0.0.1-alpha.0
7 months ago