@d8x/perpetuals-sdk 2.0.1-alpha → 2.0.3-alpha
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/config/priceFeedConfig.json +2 -2
- package/dist/cjs/constants.d.ts +1 -1
- package/dist/cjs/constants.js +2 -2
- package/dist/cjs/perpetualDataHandler.d.ts +9 -3
- package/dist/cjs/perpetualDataHandler.js +18 -6
- package/dist/cjs/perpetualDataHandler.js.map +1 -1
- package/dist/cjs/traderInterface.js +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/config/priceFeedConfig.json +2 -2
- package/dist/esm/constants.d.ts +1 -1
- package/dist/esm/constants.js +1 -1
- package/dist/{cjs/contracts/factories/MockToken__factory.d.ts → esm/contracts/factories/PerpStorage__factory.d.ts} +115 -128
- package/dist/esm/contracts/factories/{MockToken__factory.js → PerpStorage__factory.js} +128 -139
- package/dist/esm/contracts/factories/PerpStorage__factory.js.map +1 -0
- package/dist/esm/perpetualDataHandler.d.ts +9 -3
- package/dist/esm/perpetualDataHandler.js +19 -7
- package/dist/esm/perpetualDataHandler.js.map +1 -1
- package/dist/esm/traderInterface.js +2 -2
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/doc/marketData.md +0 -775
- package/package.json +1 -1
- package/src/config/priceFeedConfig.json +2 -2
- package/src/constants.ts +1 -1
- package/src/perpetualDataHandler.ts +20 -7
- package/src/traderInterface.ts +2 -2
- package/src/version.ts +1 -1
- package/dist/cjs/abi/BeaconProxy.json +0 -71
- package/dist/cjs/abi/Maintainer.json +0 -774
- package/dist/cjs/abi/MockToken.json +0 -347
- package/dist/cjs/abi/UUPSUpgradeable.json +0 -104
- package/dist/cjs/abi/WeETH.json +0 -310
- package/dist/cjs/abi-zkevm/LimitOrderBook.json +0 -910
- package/dist/cjs/abi-zkevm/LimitOrderBookFactory.json +0 -236
- package/dist/cjs/contracts/BeaconProxy.d.ts +0 -63
- package/dist/cjs/contracts/BeaconProxy.js +0 -3
- package/dist/cjs/contracts/BeaconProxy.js.map +0 -1
- package/dist/cjs/contracts/Maintainer.d.ts +0 -799
- package/dist/cjs/contracts/Maintainer.js +0 -3
- package/dist/cjs/contracts/Maintainer.js.map +0 -1
- package/dist/cjs/contracts/MockToken.d.ts +0 -263
- package/dist/cjs/contracts/MockToken.js +0 -3
- package/dist/cjs/contracts/MockToken.js.map +0 -1
- package/dist/cjs/contracts/UUPSUpgradeable.d.ts +0 -118
- package/dist/cjs/contracts/UUPSUpgradeable.js +0 -3
- package/dist/cjs/contracts/UUPSUpgradeable.js.map +0 -1
- package/dist/cjs/contracts/WeETH.d.ts +0 -503
- package/dist/cjs/contracts/WeETH.js +0 -3
- package/dist/cjs/contracts/WeETH.js.map +0 -1
- package/dist/cjs/contracts/factories/BeaconProxy__factory.d.ts +0 -61
- package/dist/cjs/contracts/factories/BeaconProxy__factory.js +0 -89
- package/dist/cjs/contracts/factories/BeaconProxy__factory.js.map +0 -1
- package/dist/cjs/contracts/factories/Maintainer__factory.d.ts +0 -609
- package/dist/cjs/contracts/factories/Maintainer__factory.js +0 -792
- package/dist/cjs/contracts/factories/Maintainer__factory.js.map +0 -1
- package/dist/cjs/contracts/factories/MockToken__factory.js +0 -365
- package/dist/cjs/contracts/factories/MockToken__factory.js.map +0 -1
- package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
- package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js +0 -122
- package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
- package/dist/cjs/contracts/factories/WeETH__factory.d.ts +0 -545
- package/dist/cjs/contracts/factories/WeETH__factory.js +0 -721
- package/dist/cjs/contracts/factories/WeETH__factory.js.map +0 -1
- package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
- package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5324
- package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
- package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
- package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -254
- package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
- package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
- package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js +0 -928
- package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
- package/dist/cjs/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
- package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js +0 -456
- package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
- package/dist/cjs/contracts/factories/lean0/index.d.ts +0 -4
- package/dist/cjs/contracts/factories/lean0/index.js +0 -15
- package/dist/cjs/contracts/factories/lean0/index.js.map +0 -1
- package/dist/cjs/contracts/lean0/IPerpetualManager.d.ts +0 -2821
- package/dist/cjs/contracts/lean0/IPerpetualManager.js +0 -3
- package/dist/cjs/contracts/lean0/IPerpetualManager.js.map +0 -1
- package/dist/cjs/contracts/lean0/LimitOrderBook.d.ts +0 -533
- package/dist/cjs/contracts/lean0/LimitOrderBook.js +0 -3
- package/dist/cjs/contracts/lean0/LimitOrderBook.js.map +0 -1
- package/dist/cjs/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
- package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js +0 -3
- package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
- package/dist/cjs/contracts/lean0/ShareToken.d.ts +0 -320
- package/dist/cjs/contracts/lean0/ShareToken.js +0 -3
- package/dist/cjs/contracts/lean0/ShareToken.js.map +0 -1
- package/dist/cjs/contracts/lean0/index.d.ts +0 -4
- package/dist/cjs/contracts/lean0/index.js +0 -3
- package/dist/cjs/contracts/lean0/index.js.map +0 -1
- package/dist/esm/abi/BeaconProxy.json +0 -71
- package/dist/esm/abi/Maintainer.json +0 -774
- package/dist/esm/abi/MockToken.json +0 -347
- package/dist/esm/abi/UUPSUpgradeable.json +0 -104
- package/dist/esm/abi/WeETH.json +0 -310
- package/dist/esm/abi/lean0/IPerpetualManager.json +0 -5306
- package/dist/esm/abi/lean0/LimitOrderBook.json +0 -910
- package/dist/esm/abi/lean0/LimitOrderBookFactory.json +0 -236
- package/dist/esm/abi/lean0/ShareToken.json +0 -438
- package/dist/esm/abi-zkevm/LimitOrderBook.json +0 -910
- package/dist/esm/abi-zkevm/LimitOrderBookFactory.json +0 -236
- package/dist/esm/contracts/BeaconProxy.d.ts +0 -63
- package/dist/esm/contracts/BeaconProxy.js +0 -2
- package/dist/esm/contracts/BeaconProxy.js.map +0 -1
- package/dist/esm/contracts/Maintainer.d.ts +0 -799
- package/dist/esm/contracts/Maintainer.js +0 -2
- package/dist/esm/contracts/Maintainer.js.map +0 -1
- package/dist/esm/contracts/MockToken.d.ts +0 -263
- package/dist/esm/contracts/MockToken.js +0 -2
- package/dist/esm/contracts/MockToken.js.map +0 -1
- package/dist/esm/contracts/UUPSUpgradeable.d.ts +0 -118
- package/dist/esm/contracts/UUPSUpgradeable.js +0 -2
- package/dist/esm/contracts/UUPSUpgradeable.js.map +0 -1
- package/dist/esm/contracts/WeETH.d.ts +0 -503
- package/dist/esm/contracts/WeETH.js +0 -2
- package/dist/esm/contracts/WeETH.js.map +0 -1
- package/dist/esm/contracts/factories/BeaconProxy__factory.d.ts +0 -61
- package/dist/esm/contracts/factories/BeaconProxy__factory.js +0 -85
- package/dist/esm/contracts/factories/BeaconProxy__factory.js.map +0 -1
- package/dist/esm/contracts/factories/Maintainer__factory.d.ts +0 -609
- package/dist/esm/contracts/factories/Maintainer__factory.js +0 -788
- package/dist/esm/contracts/factories/Maintainer__factory.js.map +0 -1
- package/dist/esm/contracts/factories/MockToken__factory.d.ts +0 -273
- package/dist/esm/contracts/factories/MockToken__factory.js.map +0 -1
- package/dist/esm/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
- package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js +0 -118
- package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
- package/dist/esm/contracts/factories/WeETH__factory.d.ts +0 -545
- package/dist/esm/contracts/factories/WeETH__factory.js +0 -717
- package/dist/esm/contracts/factories/WeETH__factory.js.map +0 -1
- package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
- package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5320
- package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
- package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
- package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -250
- package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
- package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
- package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js +0 -924
- package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
- package/dist/esm/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
- package/dist/esm/contracts/factories/lean0/ShareToken__factory.js +0 -452
- package/dist/esm/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
- package/dist/esm/contracts/factories/lean0/index.d.ts +0 -4
- package/dist/esm/contracts/factories/lean0/index.js +0 -8
- package/dist/esm/contracts/factories/lean0/index.js.map +0 -1
- package/dist/esm/contracts/lean0/IPerpetualManager.d.ts +0 -2821
- package/dist/esm/contracts/lean0/IPerpetualManager.js +0 -2
- package/dist/esm/contracts/lean0/IPerpetualManager.js.map +0 -1
- package/dist/esm/contracts/lean0/LimitOrderBook.d.ts +0 -533
- package/dist/esm/contracts/lean0/LimitOrderBook.js +0 -2
- package/dist/esm/contracts/lean0/LimitOrderBook.js.map +0 -1
- package/dist/esm/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
- package/dist/esm/contracts/lean0/LimitOrderBookFactory.js +0 -2
- package/dist/esm/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
- package/dist/esm/contracts/lean0/ShareToken.d.ts +0 -320
- package/dist/esm/contracts/lean0/ShareToken.js +0 -2
- package/dist/esm/contracts/lean0/ShareToken.js.map +0 -1
- package/dist/esm/contracts/lean0/index.d.ts +0 -4
- package/dist/esm/contracts/lean0/index.js +0 -2
- package/dist/esm/contracts/lean0/index.js.map +0 -1
package/package.json
CHANGED
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
"writeEndpoints": ["https://hermes.pyth.network"]
|
|
161
161
|
},
|
|
162
162
|
{ "type": "onchain", "endpoints": [], "writeEndpoints": [] },
|
|
163
|
-
{ "type": "polymarket", "endpoints": [], "writeEndpoints": [] }
|
|
163
|
+
{ "type": "polymarket", "endpoints": [], "writeEndpoints": ["https://odin-poly.d8x.xyz"] }
|
|
164
164
|
]
|
|
165
165
|
},
|
|
166
166
|
{
|
|
@@ -247,7 +247,7 @@
|
|
|
247
247
|
],
|
|
248
248
|
"endpoints": [
|
|
249
249
|
{ "type": "odin", "endpoints": ["https://hermes.pyth.network"], "writeEndpoints": ["https://odin.d8x.xyz"] },
|
|
250
|
-
{ "type": "polymarket", "endpoints": [""], "writeEndpoints": [] }
|
|
250
|
+
{ "type": "polymarket", "endpoints": [""], "writeEndpoints": ["https://odin-poly.d8x.xyz"] }
|
|
251
251
|
]
|
|
252
252
|
}
|
|
253
253
|
]
|
package/src/constants.ts
CHANGED
|
@@ -30,7 +30,7 @@ export const MASK_LIMIT_ORDER = BigInt("0x04000000");
|
|
|
30
30
|
export const MASK_MARKET_ORDER = BigInt("0x40000000");
|
|
31
31
|
export const MASK_STOP_ORDER = BigInt("0x20000000");
|
|
32
32
|
export const MASK_KEEP_POS_LEVERAGE = BigInt("0x08000000");
|
|
33
|
-
export const
|
|
33
|
+
export const MASK_PREDICTION_MARKET = 2n;
|
|
34
34
|
|
|
35
35
|
export const ORDER_TYPE_LIMIT = "LIMIT";
|
|
36
36
|
export const ORDER_TYPE_MARKET = "MARKET";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
MASK_KEEP_POS_LEVERAGE,
|
|
21
21
|
MASK_LIMIT_ORDER,
|
|
22
22
|
MASK_MARKET_ORDER,
|
|
23
|
-
|
|
23
|
+
MASK_PREDICTION_MARKET,
|
|
24
24
|
MASK_STOP_ORDER,
|
|
25
25
|
MAX_64x64,
|
|
26
26
|
MULTICALL_ADDRESS,
|
|
@@ -1355,7 +1355,7 @@ export default class PerpetualDataHandler {
|
|
|
1355
1355
|
}
|
|
1356
1356
|
// adjust prices for market type
|
|
1357
1357
|
const sInfo = symbolToPerpInfoMap.get(symbol)!;
|
|
1358
|
-
if (PerpetualDataHandler.
|
|
1358
|
+
if (PerpetualDataHandler.isPredictionMarket(sInfo)) {
|
|
1359
1359
|
limitPrice = limitPrice !== undefined && limitPrice !== 0 ? priceToProb(limitPrice) : limitPrice;
|
|
1360
1360
|
stopPrice = stopPrice !== undefined && stopPrice !== 0 ? priceToProb(stopPrice) : stopPrice;
|
|
1361
1361
|
}
|
|
@@ -1408,7 +1408,7 @@ export default class PerpetualDataHandler {
|
|
|
1408
1408
|
} else {
|
|
1409
1409
|
throw Error(`invalid side in order spec, use ${BUY_SIDE} or ${SELL_SIDE}`);
|
|
1410
1410
|
}
|
|
1411
|
-
const isPred = PerpetualDataHandler.
|
|
1411
|
+
const isPred = PerpetualDataHandler.isPredictionMarket(perpStaticInfo.get(order.symbol)!);
|
|
1412
1412
|
let fLimitPrice: bigint;
|
|
1413
1413
|
if (order.limitPrice == undefined) {
|
|
1414
1414
|
// we need to set the limit price to infinity or zero for
|
|
@@ -1914,12 +1914,25 @@ export default class PerpetualDataHandler {
|
|
|
1914
1914
|
}
|
|
1915
1915
|
|
|
1916
1916
|
/**
|
|
1917
|
-
* Determines whether a given perpetual represents a
|
|
1917
|
+
* Determines whether a given perpetual represents a prediction market
|
|
1918
|
+
* @param symbol perpetual symbol of the form TRUMP24-USD-USDC
|
|
1919
|
+
* @returns True if this is a prediction market
|
|
1920
|
+
*/
|
|
1921
|
+
public isPredictionMarket(symbol: string): boolean {
|
|
1922
|
+
let staticInfo = this.symbolToPerpStaticInfo.get(symbol);
|
|
1923
|
+
if (staticInfo == undefined) {
|
|
1924
|
+
throw new Error(`Perpetual with symbol ${symbol} not found. Check symbol or use createProxyInstance().`);
|
|
1925
|
+
}
|
|
1926
|
+
return PerpetualDataHandler.isPredictionMarket(staticInfo);
|
|
1927
|
+
}
|
|
1928
|
+
|
|
1929
|
+
/**
|
|
1930
|
+
* Determines whether a given perpetual represents a prediction market
|
|
1918
1931
|
* @param staticInfo Perpetual static info
|
|
1919
|
-
* @returns True if this is a
|
|
1932
|
+
* @returns True if this is a prediction market
|
|
1920
1933
|
*/
|
|
1921
|
-
public static
|
|
1934
|
+
public static isPredictionMarket(staticInfo: PerpetualStaticInfo) {
|
|
1922
1935
|
// return true; // for testing
|
|
1923
|
-
return containsFlag(staticInfo.perpFlags,
|
|
1936
|
+
return containsFlag(staticInfo.perpFlags, MASK_PREDICTION_MARKET);
|
|
1924
1937
|
}
|
|
1925
1938
|
}
|
package/src/traderInterface.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Contract, ContractTransactionResponse, Overrides, Signer } from "ethers";
|
|
2
|
-
import {
|
|
2
|
+
import { MASK_PREDICTION_MARKET, ZERO_ORDER_ID } from "./constants";
|
|
3
3
|
import { ABK64x64ToFloat, floatToDec18, floatToDecN, priceToProb, probToPrice } from "./d8XMath";
|
|
4
4
|
import MarketData from "./marketData";
|
|
5
5
|
import type { ClientOrder, NodeSDKConfig, Order, SmartContractOrder } from "./nodeSDKTypes";
|
|
@@ -166,7 +166,7 @@ export default class TraderInterface extends MarketData {
|
|
|
166
166
|
if (!sInfo) {
|
|
167
167
|
throw new Error(`No perpetual static info found for symbol ${order.symbol}`);
|
|
168
168
|
}
|
|
169
|
-
if (containsFlag(BigInt(sInfo.perpFlags),
|
|
169
|
+
if (containsFlag(BigInt(sInfo.perpFlags), MASK_PREDICTION_MARKET)) {
|
|
170
170
|
// convert prob to actual price
|
|
171
171
|
if (order.limitPrice !== undefined) {
|
|
172
172
|
order.limitPrice = probToPrice(order.limitPrice);
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const D8X_SDK_VERSION = "2.0.
|
|
1
|
+
export const D8X_SDK_VERSION = "2.0.3-alpha";
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"inputs": [
|
|
4
|
-
{
|
|
5
|
-
"internalType": "address",
|
|
6
|
-
"name": "beacon",
|
|
7
|
-
"type": "address"
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"internalType": "bytes",
|
|
11
|
-
"name": "data",
|
|
12
|
-
"type": "bytes"
|
|
13
|
-
}
|
|
14
|
-
],
|
|
15
|
-
"stateMutability": "payable",
|
|
16
|
-
"type": "constructor"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"anonymous": false,
|
|
20
|
-
"inputs": [
|
|
21
|
-
{
|
|
22
|
-
"indexed": false,
|
|
23
|
-
"internalType": "address",
|
|
24
|
-
"name": "previousAdmin",
|
|
25
|
-
"type": "address"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"indexed": false,
|
|
29
|
-
"internalType": "address",
|
|
30
|
-
"name": "newAdmin",
|
|
31
|
-
"type": "address"
|
|
32
|
-
}
|
|
33
|
-
],
|
|
34
|
-
"name": "AdminChanged",
|
|
35
|
-
"type": "event"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"anonymous": false,
|
|
39
|
-
"inputs": [
|
|
40
|
-
{
|
|
41
|
-
"indexed": true,
|
|
42
|
-
"internalType": "address",
|
|
43
|
-
"name": "beacon",
|
|
44
|
-
"type": "address"
|
|
45
|
-
}
|
|
46
|
-
],
|
|
47
|
-
"name": "BeaconUpgraded",
|
|
48
|
-
"type": "event"
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"anonymous": false,
|
|
52
|
-
"inputs": [
|
|
53
|
-
{
|
|
54
|
-
"indexed": true,
|
|
55
|
-
"internalType": "address",
|
|
56
|
-
"name": "implementation",
|
|
57
|
-
"type": "address"
|
|
58
|
-
}
|
|
59
|
-
],
|
|
60
|
-
"name": "Upgraded",
|
|
61
|
-
"type": "event"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"stateMutability": "payable",
|
|
65
|
-
"type": "fallback"
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"stateMutability": "payable",
|
|
69
|
-
"type": "receive"
|
|
70
|
-
}
|
|
71
|
-
]
|