perk-protocol 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,252 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import BN from "bn.js";
3
+ export declare enum OracleSource {
4
+ Pyth = 0,
5
+ PerkOracle = 1,
6
+ DexPool = 2
7
+ }
8
+ export declare enum Side {
9
+ Long = 0,
10
+ Short = 1
11
+ }
12
+ export declare enum SideState {
13
+ Normal = 0,
14
+ DrainOnly = 1,
15
+ ResetPending = 2
16
+ }
17
+ export declare enum TriggerOrderType {
18
+ Limit = 0,
19
+ StopLoss = 1,
20
+ TakeProfit = 2
21
+ }
22
+ export interface ProtocolAccount {
23
+ admin: PublicKey;
24
+ paused: boolean;
25
+ marketCount: BN;
26
+ protocolFeeVault: PublicKey;
27
+ creatorFeeShareBps: number;
28
+ minTradingFeeBps: number;
29
+ maxTradingFeeBps: number;
30
+ minInitialLiquidity: BN;
31
+ totalVolume: BN;
32
+ totalFeesCollected: BN;
33
+ totalUsers: BN;
34
+ bump: number;
35
+ marketCreationFee: BN;
36
+ pendingAdmin: PublicKey | null;
37
+ }
38
+ export interface MarketAccount {
39
+ marketIndex: BN;
40
+ tokenMint: PublicKey;
41
+ collateralMint: PublicKey;
42
+ creator: PublicKey;
43
+ vault: PublicKey;
44
+ vaultBump: number;
45
+ baseReserve: BN;
46
+ quoteReserve: BN;
47
+ k: BN;
48
+ pegMultiplier: BN;
49
+ totalLongPosition: BN;
50
+ totalShortPosition: BN;
51
+ maxLeverage: number;
52
+ tradingFeeBps: number;
53
+ liquidationFeeBps: number;
54
+ maintenanceMarginBps: number;
55
+ oracleSource: OracleSource;
56
+ oracleAddress: PublicKey;
57
+ insuranceFundBalance: BN;
58
+ haircutNumerator: BN;
59
+ haircutDenominator: BN;
60
+ longA: BN;
61
+ longKIndex: BN;
62
+ longEpoch: BN;
63
+ longState: SideState;
64
+ longEpochStartK: BN;
65
+ shortA: BN;
66
+ shortKIndex: BN;
67
+ shortEpoch: BN;
68
+ shortState: SideState;
69
+ shortEpochStartK: BN;
70
+ lastFundingTime: BN;
71
+ cumulativeLongFunding: BN;
72
+ cumulativeShortFunding: BN;
73
+ fundingPeriodSeconds: number;
74
+ fundingRateCapBps: number;
75
+ warmupPeriodSlots: BN;
76
+ creatorFeesEarned: BN;
77
+ protocolFeesEarned: BN;
78
+ totalVolume: BN;
79
+ active: boolean;
80
+ totalUsers: number;
81
+ totalPositions: number;
82
+ cTot: BN;
83
+ pnlPosTot: BN;
84
+ pnlMaturedPosTot: BN;
85
+ vaultBalance: BN;
86
+ oiEffLongQ: BN;
87
+ oiEffShortQ: BN;
88
+ storedPosCountLong: BN;
89
+ storedPosCountShort: BN;
90
+ bump: number;
91
+ createdAt: BN;
92
+ maxPositionSize: BN;
93
+ maxOi: BN;
94
+ lastPegUpdateSlot: BN;
95
+ lastMarkPriceForFunding: BN;
96
+ creatorClaimableFees: BN;
97
+ protocolClaimableFees: BN;
98
+ insuranceEpochStart: BN;
99
+ insuranceEpochPayout: BN;
100
+ lastOraclePrice: BN;
101
+ lastMarketSlot: BN;
102
+ currentSlot: BN;
103
+ fundingRateBpsPerSlotLast: BN;
104
+ fundingPriceSampleLast: BN;
105
+ insuranceFloor: BN;
106
+ staleAccountCountLong: BN;
107
+ staleAccountCountShort: BN;
108
+ phantomDustBoundLongQ: BN;
109
+ phantomDustBoundShortQ: BN;
110
+ insuranceFeeRevenue: BN;
111
+ pendingResetLong: boolean;
112
+ pendingResetShort: boolean;
113
+ markPriceAccumulator: BN;
114
+ twapObservationCount: number;
115
+ twapVolumeAccumulator: BN;
116
+ creationFeePaid: BN;
117
+ fallbackOracleSource: OracleSource;
118
+ fallbackOracleAddress: PublicKey;
119
+ }
120
+ export interface UserPositionAccount {
121
+ authority: PublicKey;
122
+ market: PublicKey;
123
+ depositedCollateral: BN;
124
+ baseSize: BN;
125
+ quoteEntryAmount: BN;
126
+ lastCumulativeFunding: BN;
127
+ pnl: BN;
128
+ reservedPnl: BN;
129
+ warmupStartedAtSlot: BN;
130
+ warmupSlope: BN;
131
+ basis: BN;
132
+ aSnapshot: BN;
133
+ kSnapshot: BN;
134
+ epochSnapshot: BN;
135
+ feeCredits: BN;
136
+ lastFeeSlot: BN;
137
+ openTriggerOrders: number;
138
+ maxTriggerOrders: number;
139
+ nextOrderId: BN;
140
+ lastActivitySlot: BN;
141
+ bump: number;
142
+ }
143
+ export interface TriggerOrderAccount {
144
+ authority: PublicKey;
145
+ market: PublicKey;
146
+ orderId: BN;
147
+ orderType: TriggerOrderType;
148
+ side: Side;
149
+ size: BN;
150
+ triggerPrice: BN;
151
+ leverage: number;
152
+ reduceOnly: boolean;
153
+ createdAt: BN;
154
+ expiry: BN;
155
+ bump: number;
156
+ }
157
+ export interface PerkOracleAccount {
158
+ bump: number;
159
+ tokenMint: PublicKey;
160
+ authority: PublicKey;
161
+ price: BN;
162
+ confidence: BN;
163
+ timestamp: BN;
164
+ numSources: number;
165
+ minSources: number;
166
+ lastSlot: BN;
167
+ emaPrice: BN;
168
+ maxStalenessSeconds: number;
169
+ isFrozen: boolean;
170
+ createdAt: BN;
171
+ totalUpdates: BN;
172
+ }
173
+ export interface InitPerkOracleParams {
174
+ minSources: number;
175
+ maxStalenessSeconds: number;
176
+ /** Max price change per update in basis points. 0 = no banding (memecoins). 3000 = 30%. */
177
+ maxPriceChangeBps: number;
178
+ /** Circuit breaker: max deviation from EMA in bps. 0 = disabled. Must be 0 or [500, 9999]. */
179
+ circuitBreakerDeviationBps: number;
180
+ }
181
+ export interface UpdatePerkOracleParams {
182
+ price: BN;
183
+ confidence: BN;
184
+ numSources: number;
185
+ }
186
+ export interface UpdateOracleConfigParams {
187
+ /** Max price change per update in basis points. 0 = no banding. null = don't change. */
188
+ maxPriceChangeBps: number | null;
189
+ /** Minimum sources required. null = don't change. */
190
+ minSources: number | null;
191
+ /** Max staleness in seconds. null = don't change. */
192
+ maxStalenessSeconds: number | null;
193
+ /** Circuit breaker: max deviation from EMA in bps. 0 = disabled. null = don't change. */
194
+ circuitBreakerDeviationBps: number | null;
195
+ }
196
+ export interface SetFallbackOracleParams {
197
+ fallbackOracleSource: OracleSource;
198
+ fallbackOracleAddress: PublicKey;
199
+ }
200
+ export interface CreateMarketParams {
201
+ oracleSource: OracleSource;
202
+ maxLeverage: number;
203
+ tradingFeeBps: number;
204
+ initialK: BN;
205
+ }
206
+ export interface AdminUpdateMarketParams {
207
+ oracleAddress: PublicKey | null;
208
+ active: boolean | null;
209
+ tradingFeeBps: number | null;
210
+ maxLeverage: number | null;
211
+ }
212
+ export interface TriggerOrderParams {
213
+ orderType: TriggerOrderType;
214
+ side: Side;
215
+ size: BN;
216
+ triggerPrice: BN;
217
+ leverage: number;
218
+ reduceOnly: boolean;
219
+ expiry: BN;
220
+ }
221
+ export interface PositionInfo {
222
+ side: Side | null;
223
+ sizeAbs: BN;
224
+ effectiveSize: BN;
225
+ notional: number;
226
+ entryPrice: number;
227
+ markPrice: number;
228
+ oraclePrice: number;
229
+ unrealizedPnl: number;
230
+ marginRatio: number;
231
+ leverage: number;
232
+ liquidationPrice: number | null;
233
+ isLiquidatable: boolean;
234
+ collateral: number;
235
+ warmupProgress: number;
236
+ }
237
+ export interface MarketInfo {
238
+ address: PublicKey;
239
+ tokenMint: PublicKey;
240
+ markPrice: number;
241
+ oraclePrice: number;
242
+ fundingRate: number;
243
+ longOI: number;
244
+ shortOI: number;
245
+ volume24h: number;
246
+ insuranceFund: number;
247
+ longState: SideState;
248
+ shortState: SideState;
249
+ maxLeverage: number;
250
+ tradingFeeBps: number;
251
+ }
252
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TriggerOrderType = exports.SideState = exports.Side = exports.OracleSource = void 0;
4
+ // ── Enums ──
5
+ var OracleSource;
6
+ (function (OracleSource) {
7
+ OracleSource[OracleSource["Pyth"] = 0] = "Pyth";
8
+ OracleSource[OracleSource["PerkOracle"] = 1] = "PerkOracle";
9
+ OracleSource[OracleSource["DexPool"] = 2] = "DexPool";
10
+ })(OracleSource || (exports.OracleSource = OracleSource = {}));
11
+ var Side;
12
+ (function (Side) {
13
+ Side[Side["Long"] = 0] = "Long";
14
+ Side[Side["Short"] = 1] = "Short";
15
+ })(Side || (exports.Side = Side = {}));
16
+ var SideState;
17
+ (function (SideState) {
18
+ SideState[SideState["Normal"] = 0] = "Normal";
19
+ SideState[SideState["DrainOnly"] = 1] = "DrainOnly";
20
+ SideState[SideState["ResetPending"] = 2] = "ResetPending";
21
+ })(SideState || (exports.SideState = SideState = {}));
22
+ var TriggerOrderType;
23
+ (function (TriggerOrderType) {
24
+ TriggerOrderType[TriggerOrderType["Limit"] = 0] = "Limit";
25
+ TriggerOrderType[TriggerOrderType["StopLoss"] = 1] = "StopLoss";
26
+ TriggerOrderType[TriggerOrderType["TakeProfit"] = 2] = "TakeProfit";
27
+ })(TriggerOrderType || (exports.TriggerOrderType = TriggerOrderType = {}));
28
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAGA,cAAc;AAEd,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,+CAAQ,CAAA;IACR,2DAAc,CAAA;IACd,qDAAW,CAAA;AACb,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AAED,IAAY,IAGX;AAHD,WAAY,IAAI;IACd,+BAAQ,CAAA;IACR,iCAAS,CAAA;AACX,CAAC,EAHW,IAAI,oBAAJ,IAAI,QAGf;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,6CAAU,CAAA;IACV,mDAAa,CAAA;IACb,yDAAgB,CAAA;AAClB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,yDAAS,CAAA;IACT,+DAAY,CAAA;IACZ,mEAAc,CAAA;AAChB,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B"}
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "perk-protocol",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript SDK for the Perk perpetual futures protocol on Solana",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/kai-builds-ai/perk-protocol"
10
+ },
11
+ "homepage": "https://docs.perk.fund/sdk",
12
+ "keywords": ["solana", "perpetuals", "defi", "trading", "perps", "perk"],
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "scripts": {
17
+ "build": "tsc",
18
+ "clean": "rimraf dist",
19
+ "prepublishOnly": "npm run build"
20
+ },
21
+ "dependencies": {
22
+ "@coral-xyz/anchor": "^0.30.1",
23
+ "@pythnetwork/pyth-solana-receiver": "^0.10.2",
24
+ "@solana/spl-token": "^0.4.0",
25
+ "@solana/web3.js": "^1.95.0",
26
+ "bn.js": "^5.2.1",
27
+ "rpc-websockets": "^7.11.0"
28
+ },
29
+ "devDependencies": {
30
+ "@types/bn.js": "^5.1.5",
31
+ "rimraf": "^5.0.0",
32
+ "typescript": "^5.5.0"
33
+ },
34
+ "license": "MIT",
35
+ "overrides": {}
36
+ }