@d8x/perpetuals-sdk 0.1.12 → 0.2.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.
- package/dist/cjs/abi/testnet/IPerpetualManager.json +5215 -0
- package/dist/cjs/abi/testnet/LimitOrderBook.json +1075 -0
- package/dist/cjs/abi/zkevmTestnet/IPerpetualManager.json +5215 -0
- package/dist/cjs/abi/zkevmTestnet/LimitOrderBook.json +1075 -0
- package/dist/cjs/abi/zkevmTestnet/LimitOrderBookFactory.json +135 -0
- package/dist/cjs/accountTrade.js +441 -0
- package/dist/cjs/accountTrade.js.map +1 -0
- package/dist/{src → cjs}/brokerTool.js +31 -84
- package/dist/cjs/brokerTool.js.map +1 -0
- package/dist/cjs/config/defaultConfig.json +47 -0
- package/dist/cjs/config/mockSwap.json +4 -0
- package/dist/cjs/config/priceFeedConfig.json +104 -0
- package/dist/cjs/config/symbolList.json +13 -0
- package/dist/cjs/d8XMath.js.map +1 -0
- package/dist/cjs/index.js +29 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/liquidatorTool.js +287 -0
- package/dist/cjs/liquidatorTool.js.map +1 -0
- package/dist/{src → cjs}/liquidityProviderTool.js +12 -65
- package/dist/cjs/liquidityProviderTool.js.map +1 -0
- package/dist/{src → cjs}/marketData.js +52 -134
- package/dist/cjs/marketData.js.map +1 -0
- package/dist/{src → cjs}/nodeSDKTypes.d.ts +5 -5
- package/dist/cjs/nodeSDKTypes.js +64 -0
- package/dist/cjs/nodeSDKTypes.js.map +1 -0
- package/dist/{src → cjs}/orderReferrerTool.d.ts +12 -5
- package/dist/{src → cjs}/orderReferrerTool.js +114 -112
- package/dist/cjs/orderReferrerTool.js.map +1 -0
- package/dist/{src → cjs}/perpetualDataHandler.d.ts +1 -1
- package/dist/{src → cjs}/perpetualDataHandler.js +47 -109
- package/dist/cjs/perpetualDataHandler.js.map +1 -0
- package/dist/{src → cjs}/perpetualEventHandler.d.ts +3 -3
- package/dist/{src → cjs}/perpetualEventHandler.js +12 -74
- package/dist/cjs/perpetualEventHandler.js.map +1 -0
- package/dist/cjs/priceFeeds.js +466 -0
- package/dist/cjs/priceFeeds.js.map +1 -0
- package/dist/{src → cjs}/traderDigests.js +7 -43
- package/dist/cjs/traderDigests.js.map +1 -0
- package/dist/{src → cjs}/traderInterface.js +13 -66
- package/dist/cjs/traderInterface.js.map +1 -0
- package/dist/{src → cjs}/triangulator.js +2 -17
- package/dist/cjs/triangulator.js.map +1 -0
- package/dist/{src → cjs}/utils.js +3 -29
- package/dist/cjs/utils.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -0
- package/dist/{src → cjs}/version.js +1 -1
- package/dist/cjs/version.js.map +1 -0
- package/dist/{src → cjs}/writeAccessHandler.js +12 -65
- package/dist/cjs/writeAccessHandler.js.map +1 -0
- package/dist/esm/abi/ERC20.json +288 -0
- package/dist/esm/abi/MockTokenSwap.json +186 -0
- package/dist/{abi/testnet → esm/abi/central-park}/IPerpetualManager.json +404 -214
- package/dist/{abi/testnet → esm/abi/central-park}/LimitOrderBook.json +197 -15
- package/dist/esm/abi/central-park/LimitOrderBookFactory.json +135 -0
- package/dist/esm/abi/testnet/IPerpetualManager.json +5215 -0
- package/dist/esm/abi/testnet/LimitOrderBook.json +1075 -0
- package/dist/esm/abi/testnet/LimitOrderBookFactory.json +135 -0
- package/dist/esm/abi/zkevmTestnet/IPerpetualManager.json +5215 -0
- package/dist/esm/abi/zkevmTestnet/LimitOrderBook.json +1075 -0
- package/dist/esm/abi/zkevmTestnet/LimitOrderBookFactory.json +135 -0
- package/dist/esm/accountTrade.d.ts +221 -0
- package/dist/{src → esm}/accountTrade.js +22 -93
- package/dist/esm/accountTrade.js.map +1 -0
- package/dist/esm/brokerTool.d.ts +318 -0
- package/dist/esm/brokerTool.js +572 -0
- package/dist/esm/brokerTool.js.map +1 -0
- package/dist/esm/config/defaultConfig.json +47 -0
- package/dist/esm/config/mockSwap.json +4 -0
- package/dist/esm/config/priceFeedConfig.json +104 -0
- package/dist/esm/config/symbolList.json +13 -0
- package/dist/esm/d8XMath.d.ts +122 -0
- package/dist/esm/d8XMath.js +247 -0
- package/dist/esm/d8XMath.js.map +1 -0
- package/{src/index.ts → dist/esm/index.d.ts} +1 -15
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/liquidatorTool.d.ts +158 -0
- package/dist/{src → esm}/liquidatorTool.js +10 -65
- package/dist/esm/liquidatorTool.js.map +1 -0
- package/dist/esm/liquidityProviderTool.d.ts +126 -0
- package/dist/esm/liquidityProviderTool.js +218 -0
- package/dist/esm/liquidityProviderTool.js.map +1 -0
- package/dist/esm/marketData.d.ts +309 -0
- package/dist/esm/marketData.js +1007 -0
- package/dist/esm/marketData.js.map +1 -0
- package/dist/esm/nodeSDKTypes.d.ts +266 -0
- package/dist/esm/nodeSDKTypes.js +60 -0
- package/dist/esm/nodeSDKTypes.js.map +1 -0
- package/dist/esm/orderReferrerTool.d.ts +196 -0
- package/dist/esm/orderReferrerTool.js +491 -0
- package/dist/esm/orderReferrerTool.js.map +1 -0
- package/dist/esm/perpetualDataHandler.d.ts +220 -0
- package/dist/esm/perpetualDataHandler.js +1060 -0
- package/dist/esm/perpetualDataHandler.js.map +1 -0
- package/dist/esm/perpetualEventHandler.d.ts +179 -0
- package/dist/esm/perpetualEventHandler.js +435 -0
- package/dist/esm/perpetualEventHandler.js.map +1 -0
- package/dist/esm/priceFeeds.d.ts +115 -0
- package/dist/{src → esm}/priceFeeds.js +16 -83
- package/dist/esm/priceFeeds.js.map +1 -0
- package/dist/esm/traderDigests.d.ts +21 -0
- package/dist/esm/traderDigests.js +80 -0
- package/dist/esm/traderDigests.js.map +1 -0
- package/dist/esm/traderInterface.d.ts +79 -0
- package/dist/esm/traderInterface.js +196 -0
- package/dist/esm/traderInterface.js.map +1 -0
- package/dist/esm/triangulator.d.ts +27 -0
- package/dist/esm/triangulator.js +110 -0
- package/dist/esm/triangulator.js.map +1 -0
- package/dist/esm/utils.d.ts +59 -0
- package/dist/esm/utils.js +138 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/esm/version.d.ts +1 -0
- package/dist/esm/version.js +2 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/esm/writeAccessHandler.d.ts +50 -0
- package/dist/esm/writeAccessHandler.js +157 -0
- package/dist/esm/writeAccessHandler.js.map +1 -0
- package/package.json +16 -26
- package/dist/bundle.js +0 -36793
- package/dist/config/defaultConfig.json +0 -47
- package/dist/config/mockSwap.json +0 -4
- package/dist/config/priceFeedConfig.json +0 -104
- package/dist/config/symbolList.json +0 -13
- package/dist/src/index.js +0 -45
- package/dist/src/nodeSDKTypes.js +0 -115
- package/dist/src/version.d.ts +0 -1
- package/module.d.ts +0 -1
- package/src/accountTrade.ts +0 -392
- package/src/brokerTool.ts +0 -507
- package/src/d8XMath.ts +0 -319
- package/src/liquidatorTool.ts +0 -258
- package/src/liquidityProviderTool.ts +0 -186
- package/src/marketData.ts +0 -946
- package/src/nodeSDKTypes.ts +0 -293
- package/src/orderReferrerTool.ts +0 -389
- package/src/perpetualDataHandler.ts +0 -1061
- package/src/perpetualEventHandler.ts +0 -455
- package/src/priceFeeds.ts +0 -381
- package/src/traderDigests.ts +0 -91
- package/src/traderInterface.ts +0 -159
- package/src/triangulator.ts +0 -105
- package/src/utils.ts +0 -134
- package/src/version.ts +0 -1
- package/src/writeAccessHandler.ts +0 -127
- /package/dist/{abi → cjs/abi}/ERC20.json +0 -0
- /package/dist/{abi → cjs/abi}/MockTokenSwap.json +0 -0
- /package/dist/{abi → cjs/abi}/central-park/IPerpetualManager.json +0 -0
- /package/dist/{abi → cjs/abi}/central-park/LimitOrderBook.json +0 -0
- /package/dist/{abi → cjs/abi}/central-park/LimitOrderBookFactory.json +0 -0
- /package/dist/{abi → cjs/abi}/testnet/LimitOrderBookFactory.json +0 -0
- /package/dist/{src → cjs}/accountTrade.d.ts +0 -0
- /package/dist/{src → cjs}/brokerTool.d.ts +0 -0
- /package/dist/{src → cjs}/d8XMath.d.ts +0 -0
- /package/dist/{src → cjs}/d8XMath.js +0 -0
- /package/dist/{src → cjs}/index.d.ts +0 -0
- /package/dist/{src → cjs}/liquidatorTool.d.ts +0 -0
- /package/dist/{src → cjs}/liquidityProviderTool.d.ts +0 -0
- /package/dist/{src → cjs}/marketData.d.ts +0 -0
- /package/dist/{src → cjs}/priceFeeds.d.ts +0 -0
- /package/dist/{src → cjs}/traderDigests.d.ts +0 -0
- /package/dist/{src → cjs}/traderInterface.d.ts +0 -0
- /package/dist/{src → cjs}/triangulator.d.ts +0 -0
- /package/dist/{src → cjs}/utils.d.ts +0 -0
- /package/dist/{src → cjs}/writeAccessHandler.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perpetualDataHandler.js","sourceRoot":"","sources":["../../src/perpetualDataHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { BigNumber } from "ethers";
|
|
2
|
+
import MarketData from "./marketData";
|
|
3
|
+
import { ExchangeInfo, MarginAccount, OrderStruct, PerpetualState, SmartContractOrder, TradeEvent } from "./nodeSDKTypes";
|
|
4
|
+
/**
|
|
5
|
+
* This class handles events and stores relevant variables
|
|
6
|
+
* as member variables. The events change the state of the member variables:
|
|
7
|
+
* mktData : MarketData relevant market data with current state (e.g. index price)
|
|
8
|
+
* ordersInPerpetual: Map<number, OrderStruct> all open orders for the given trader
|
|
9
|
+
* positionInPerpetual: Map<number, MarginAccount> all open positions for the given trader
|
|
10
|
+
*
|
|
11
|
+
*
|
|
12
|
+
* Get data:
|
|
13
|
+
* - getPerpetualData(perp id (string) or symbol) : PerpetualState. This is a reference!
|
|
14
|
+
* - getExchangeInfo() : ExchangeInfo. This is a reference!
|
|
15
|
+
* - getCurrentPositionRisk(perp id (string) or symbol) : MarginAccount. This is a reference!
|
|
16
|
+
* - getOrdersInPerpetualMap : Map<number, OrderStruct>. This is a reference!
|
|
17
|
+
* - getpositionInPerpetualMap : Map<number, MarginAccount>. This is a reference!
|
|
18
|
+
*
|
|
19
|
+
* Construct with a trader address and a marketData object
|
|
20
|
+
* Initialize to gather all the relevant data.
|
|
21
|
+
* Send event variables to event handler "on<EventName>" - this updates members
|
|
22
|
+
* - [x] onUpdateMarkPrice : emitted on proxy; updates markprice and index price data
|
|
23
|
+
* - [x] onUpdateUpdateFundingRate : emitted on proxy; sets funding rate
|
|
24
|
+
* - [x] onExecutionFailed : emitted on order book; removes an open order
|
|
25
|
+
* - [x] onPerpetualLimitOrderCancelled : emitted on order book; removes an open order
|
|
26
|
+
* - [x] onPerpetualLimitOrderCreated : emitted on order book; adds an open order to the data
|
|
27
|
+
* - [x] async onUpdateMarginAccount : emitted on proxy; updates position data and open interest
|
|
28
|
+
* - [x] onTrade : emitted on proxy; returns TradeEvent to be displayed
|
|
29
|
+
*/
|
|
30
|
+
export default class PerpetualEventHandler {
|
|
31
|
+
private mktData;
|
|
32
|
+
private traderAddr;
|
|
33
|
+
private ordersInPerpetual;
|
|
34
|
+
private positionInPerpetual;
|
|
35
|
+
private poolIndexForPerpetual;
|
|
36
|
+
private exchangeInfo;
|
|
37
|
+
constructor(mktData: MarketData, traderAddr: string);
|
|
38
|
+
/**
|
|
39
|
+
* Call this async function to initialize the
|
|
40
|
+
* market data
|
|
41
|
+
*/
|
|
42
|
+
initialize(): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Get the current exchange info
|
|
45
|
+
* @returns exchange info
|
|
46
|
+
*/
|
|
47
|
+
getExchangeInfo(): ExchangeInfo | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* getOrdersInPerpetualMap
|
|
50
|
+
* @returns this.ordersInPerpetual
|
|
51
|
+
*/
|
|
52
|
+
getOrdersInPerpetualMap(): Map<number, OrderStruct>;
|
|
53
|
+
/**
|
|
54
|
+
* getpositionInPerpetualMap
|
|
55
|
+
* @returns this.positionInPerpetual
|
|
56
|
+
*/
|
|
57
|
+
getpositionInPerpetualMap(): Map<number, MarginAccount>;
|
|
58
|
+
/**
|
|
59
|
+
* Get the data for a perpetual with a given index
|
|
60
|
+
* @param perpetualIdOrSymbol perpetual idx as string or symbol for which we want the data
|
|
61
|
+
* @returns perpetual data for this idx
|
|
62
|
+
*/
|
|
63
|
+
getPerpetualData(perpetualIdOrSymbol: string): PerpetualState | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* Get the trader's current position risk (margin account data)
|
|
66
|
+
* @param perpetualIdOrSymbol perpetual id as string ('100003') or symbol ('BTC-USD-MATIC')
|
|
67
|
+
* @returns undefined if no position or margin account (='position risk')
|
|
68
|
+
*/
|
|
69
|
+
getCurrentPositionRisk(perpetualIdOrSymbol: string): MarginAccount | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Update the following prices:
|
|
72
|
+
* - index price
|
|
73
|
+
* - collateral price
|
|
74
|
+
* - mid-price
|
|
75
|
+
* @param perpetualIdOrSymbol perpetual id as string ('100003') or symbol ('BTC-USD-MATIC')
|
|
76
|
+
*/
|
|
77
|
+
updatePrices(perpetualIdOrSymbol: string): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Handle the event UpdateMarkPrice and update relevant
|
|
80
|
+
* data
|
|
81
|
+
* @param perpetualId perpetual Id
|
|
82
|
+
* @param fMarkPricePremium premium rate in ABDK format
|
|
83
|
+
* @param fSpotIndexPrice spot index price in ABDK format
|
|
84
|
+
* @returns void
|
|
85
|
+
*/
|
|
86
|
+
onUpdateMarkPrice(perpetualId: number, fMidPricePremium: BigNumber, fMarkPricePremium: BigNumber, fSpotIndexPrice: BigNumber): void;
|
|
87
|
+
/**
|
|
88
|
+
* Handle the event UpdateFundingRate and update relevant
|
|
89
|
+
* data
|
|
90
|
+
* UpdateFundingRate(uint24 indexed perpetualId, int128 fFundingRate)
|
|
91
|
+
* @param fFundingRate funding rate in ABDK format
|
|
92
|
+
*/
|
|
93
|
+
onUpdateUpdateFundingRate(perpetualId: number, fFundingRate: BigNumber): void;
|
|
94
|
+
/**
|
|
95
|
+
* event ExecutionFailed(
|
|
96
|
+
uint24 indexed perpetualId,
|
|
97
|
+
address indexed trader,
|
|
98
|
+
bytes32 digest,
|
|
99
|
+
string reason
|
|
100
|
+
);
|
|
101
|
+
* @param perpetualId id of the perpetual
|
|
102
|
+
* @param trader address of the trader
|
|
103
|
+
* @param digest digest of the order/cancel order
|
|
104
|
+
* @param reason reason why the execution failed
|
|
105
|
+
*/
|
|
106
|
+
onExecutionFailed(perpetualId: number, trader: string, digest: string, reason: string): void;
|
|
107
|
+
/**
|
|
108
|
+
* Event emitted by perpetual proxy
|
|
109
|
+
* event PerpetualLimitOrderCancelled(bytes32 indexed orderHash);
|
|
110
|
+
* @param orderId string order id/digest
|
|
111
|
+
*/
|
|
112
|
+
onPerpetualLimitOrderCancelled(orderId: string): void;
|
|
113
|
+
/**
|
|
114
|
+
* event PerpetualLimitOrderCreated(
|
|
115
|
+
* uint24 indexed perpetualId,
|
|
116
|
+
* address indexed trader,
|
|
117
|
+
* address referrerAddr,
|
|
118
|
+
* address brokerAddr,
|
|
119
|
+
* Order order,
|
|
120
|
+
* bytes32 digest
|
|
121
|
+
*)
|
|
122
|
+
* @param perpetualId id of the perpetual
|
|
123
|
+
* @param trader address of the trader
|
|
124
|
+
* @param referrerAddr address of the referrer
|
|
125
|
+
* @param brokerAddr address of the broker
|
|
126
|
+
* @param Order order struct
|
|
127
|
+
* @param digest order id
|
|
128
|
+
*/
|
|
129
|
+
onPerpetualLimitOrderCreated(perpetualId: number, trader: string, _referrerAddr: string, _brokerAddr: string, Order: SmartContractOrder, digest: string): void;
|
|
130
|
+
/**
|
|
131
|
+
* This function is async -> queries the margin account
|
|
132
|
+
* @param perpetualId id of the perpetual
|
|
133
|
+
* @param trader trader address
|
|
134
|
+
* @param positionId position id
|
|
135
|
+
* @param fPositionBC position size in base currency
|
|
136
|
+
* @param fCashCC margin collateral in margin account
|
|
137
|
+
* @param fLockedInValueQC pos*average opening price
|
|
138
|
+
* @param fFundingPaymentCC funding payment made
|
|
139
|
+
* @param fOpenInterestBC open interest
|
|
140
|
+
*/
|
|
141
|
+
onUpdateMarginAccount(perpetualId: number, trader: string, _positionId: string, _fPositionBC: BigNumber, _fCashCC: BigNumber, _fLockedInValueQC: BigNumber, _fFundingPaymentCC: BigNumber, fOpenInterestBC: BigNumber): Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
*
|
|
144
|
+
* @param perpetualId perpetual id
|
|
145
|
+
* @param trader trader address
|
|
146
|
+
* @param positionId position id
|
|
147
|
+
* @param order order struct
|
|
148
|
+
* @param orderDigest order id
|
|
149
|
+
* @param newPositionSizeBC new pos size in base currency ABDK
|
|
150
|
+
* @param price price in ABDK format
|
|
151
|
+
* @returns trade event data in regular number format
|
|
152
|
+
*/
|
|
153
|
+
onTrade(perpetualId: number, _trader: string, positionId: string, _order: SmartContractOrder, orderDigest: string, newPositionSizeBC: BigNumber, _price: BigNumber): TradeEvent;
|
|
154
|
+
/**
|
|
155
|
+
* static function to find the number of the OrderStruct with given orderId
|
|
156
|
+
* @param orderId id/digest of order
|
|
157
|
+
* @param orderMap mapping for perpetualId->OrderStruct
|
|
158
|
+
* @returns id of perpetual that contains order with id = orderId or undefined
|
|
159
|
+
*/
|
|
160
|
+
private static findOrderForId;
|
|
161
|
+
/**
|
|
162
|
+
* Delete the order with given id from the class member data
|
|
163
|
+
* @param orderStructs array of order struct as stored for the trader and a given perpetual
|
|
164
|
+
* @param orderId digest/order id
|
|
165
|
+
* @returns void
|
|
166
|
+
*/
|
|
167
|
+
private static deleteOrder;
|
|
168
|
+
/**
|
|
169
|
+
* UpdateMarkPrice(
|
|
170
|
+
* uint24 indexed perpetualId,
|
|
171
|
+
* int128 fMarkPricePremium,
|
|
172
|
+
* int128 fSpotIndexPrice
|
|
173
|
+
* )
|
|
174
|
+
* @param fMarkPricePremium premium rate in ABDK format
|
|
175
|
+
* @param fSpotIndexPrice spot index price in ABDK format
|
|
176
|
+
* @returns mark price and spot index in float
|
|
177
|
+
*/
|
|
178
|
+
private static ConvertUpdateMarkPrice;
|
|
179
|
+
}
|