0.0.1-alpha.5 • Published 2 years 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 byPanopticFactoryPanopticPoolData: The state of aPanopticPoolPanopticCollateral: A collateral tracker in aPanopticPoolPanopticCollateralData: The state of aPanopticCollateralPanopticPosition: A user position in aPanopticPoolPanopticPositionData: The state of aPanopticPositionPanopticCollateralPosition: A user position in aPanopticCollateralPanopticCollateralPositionData: The state of aPanopticCollateralPosition
Utilities
createPanopticPoolcreatePanopticCollateralcreatePanopticPositioncreatePanopticSemiFungiblePositioncalculatePanopticTokenIDcalculatePanopticPositionKey
Public Actions
getPanopticPoolgetPanopticPoolDatagetPanopticCollateralDatagetPanopticCollateralPositionDatagetPanoptionLegDatagetPanopticPositionDatagetPanopticSemiFungiblePositionDatagetPanopticCheckCollateralsimulatePanopticDeployNewPoolsimulatePanopticMintOptionssimulatePanopticBurnOptionssimulatePanopticRollOptionssimulatePanopticForceExercisesimulatePanopticLiquidateAccountsimulatePanopticCollateralMintsimulatePanopticCollateralDepositsimulatePanopticCollateralRedeemsimulatePanopticCollateralWithdrawsimulatePanopticSFPMInitializeAMMPoolsimulatePanopticSFPMMintTokenizedPositionsimulatePanopticSFPMBurnTokenizedPositionsimulatePanopticSFPMRollTokenizedPositions
Chains
sepoliaPanoptic
ABIs
panopticFactoryABIpanopticCollateralTrackerABIpanopticPoolABIpanopticSemiFuniblePositionManagerABI
0.0.1-alpha.5
2 years ago
0.0.1-alpha.4
2 years ago
0.0.1-alpha.3
2 years ago
0.0.1-alpha.2
2 years ago
0.0.1-alpha.1
2 years ago
0.0.1-alpha.0
2 years ago