@d8x/perpetuals-sdk 2.7.5 → 2.7.7
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/d8XMath.d.ts +2 -2
- package/dist/cjs/d8XMath.js +50 -30
- package/dist/cjs/d8XMath.js.map +1 -1
- package/dist/cjs/main.d.ts +1 -0
- package/dist/cjs/main.js +15 -0
- package/dist/cjs/main.js.map +1 -0
- package/dist/cjs/marketData.d.ts +12 -3
- package/dist/cjs/marketData.js +33 -7
- package/dist/cjs/marketData.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/d8XMath.d.ts +2 -2
- package/dist/esm/d8XMath.js +50 -30
- package/dist/esm/d8XMath.js.map +1 -1
- package/dist/esm/main.d.ts +1 -0
- package/dist/esm/main.js +13 -0
- package/dist/esm/main.js.map +1 -0
- package/dist/esm/main2.d.ts +1 -0
- package/dist/esm/main2.js +18 -0
- package/dist/esm/main2.js.map +1 -0
- package/dist/esm/marketData.d.ts +12 -3
- package/dist/esm/marketData.js +33 -7
- package/dist/esm/marketData.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/d8XMath.ts +67 -36
- package/src/marketData.ts +40 -8
- package/src/version.ts +1 -1
- package/dist/cjs/abi/AMMPerpLogic.json +0 -580
- package/dist/cjs/abi/BeaconProxy.json +0 -71
- package/dist/cjs/abi/IPerpetualManager copy.json +0 -5599
- package/dist/cjs/abi/IPerpetualMarginViewLogic.json +0 -286
- package/dist/cjs/abi/Maintainer.json +0 -774
- package/dist/cjs/abi/MockToken.json +0 -347
- package/dist/cjs/abi/MockUSD.json +0 -413
- package/dist/cjs/abi/UUPSUpgradeable.json +0 -104
- package/dist/cjs/abi/WeETH.json +0 -310
- package/dist/cjs/abi-zkevm/IPerpetualManager.json +0 -5366
- package/dist/cjs/abi-zkevm/LimitOrderBook.json +0 -910
- package/dist/cjs/abi-zkevm/LimitOrderBookFactory.json +0 -236
- package/dist/cjs/contracts/AMMPerpLogic.d.ts +0 -303
- package/dist/cjs/contracts/AMMPerpLogic.js +0 -3
- package/dist/cjs/contracts/AMMPerpLogic.js.map +0 -1
- 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/IPerpetualManagerCopy.d.ts +0 -3223
- package/dist/cjs/contracts/IPerpetualManagerCopy.js +0 -3
- package/dist/cjs/contracts/IPerpetualManagerCopy.js.map +0 -1
- package/dist/cjs/contracts/IPerpetualMarginViewLogic.d.ts +0 -183
- package/dist/cjs/contracts/IPerpetualMarginViewLogic.js +0 -3
- package/dist/cjs/contracts/IPerpetualMarginViewLogic.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/MockUSD.d.ts +0 -186
- package/dist/cjs/contracts/MockUSD.js +0 -3
- package/dist/cjs/contracts/MockUSD.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/AMMPerpLogic__factory.d.ts +0 -452
- package/dist/cjs/contracts/factories/AMMPerpLogic__factory.js +0 -598
- package/dist/cjs/contracts/factories/AMMPerpLogic__factory.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/IPerpetualManagerCopy__factory.d.ts +0 -4358
- package/dist/cjs/contracts/factories/IPerpetualManagerCopy__factory.js +0 -5617
- package/dist/cjs/contracts/factories/IPerpetualManagerCopy__factory.js.map +0 -1
- package/dist/cjs/contracts/factories/IPerpetualMarginViewLogic__factory.d.ts +0 -221
- package/dist/cjs/contracts/factories/IPerpetualMarginViewLogic__factory.js +0 -304
- package/dist/cjs/contracts/factories/IPerpetualMarginViewLogic__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.d.ts +0 -273
- 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/MockUSD__factory.d.ts +0 -320
- package/dist/cjs/contracts/factories/MockUSD__factory.js +0 -431
- package/dist/cjs/contracts/factories/MockUSD__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/AMMPerpLogic.json +0 -580
- package/dist/esm/abi/BeaconProxy.json +0 -71
- package/dist/esm/abi/IPerpetualManager copy.json +0 -5599
- package/dist/esm/abi/IPerpetualMarginViewLogic.json +0 -286
- package/dist/esm/abi/Maintainer.json +0 -774
- package/dist/esm/abi/MockToken.json +0 -347
- package/dist/esm/abi/MockUSD.json +0 -413
- 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/IPerpetualManager.json +0 -5366
- package/dist/esm/abi-zkevm/LimitOrderBook.json +0 -910
- package/dist/esm/abi-zkevm/LimitOrderBookFactory.json +0 -236
- package/dist/esm/contracts/AMMPerpLogic.d.ts +0 -303
- package/dist/esm/contracts/AMMPerpLogic.js +0 -2
- package/dist/esm/contracts/AMMPerpLogic.js.map +0 -1
- 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/IPerpetualManagerCopy.d.ts +0 -3223
- package/dist/esm/contracts/IPerpetualManagerCopy.js +0 -2
- package/dist/esm/contracts/IPerpetualManagerCopy.js.map +0 -1
- package/dist/esm/contracts/IPerpetualMarginViewLogic.d.ts +0 -183
- package/dist/esm/contracts/IPerpetualMarginViewLogic.js +0 -2
- package/dist/esm/contracts/IPerpetualMarginViewLogic.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/MockUSD.d.ts +0 -186
- package/dist/esm/contracts/MockUSD.js +0 -2
- package/dist/esm/contracts/MockUSD.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/AMMPerpLogic__factory.d.ts +0 -452
- package/dist/esm/contracts/factories/AMMPerpLogic__factory.js +0 -594
- package/dist/esm/contracts/factories/AMMPerpLogic__factory.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/IPerpetualManagerCopy__factory.d.ts +0 -4358
- package/dist/esm/contracts/factories/IPerpetualManagerCopy__factory.js +0 -5613
- package/dist/esm/contracts/factories/IPerpetualManagerCopy__factory.js.map +0 -1
- package/dist/esm/contracts/factories/IPerpetualMarginViewLogic__factory.d.ts +0 -221
- package/dist/esm/contracts/factories/IPerpetualMarginViewLogic__factory.js +0 -300
- package/dist/esm/contracts/factories/IPerpetualMarginViewLogic__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 +0 -361
- package/dist/esm/contracts/factories/MockToken__factory.js.map +0 -1
- package/dist/esm/contracts/factories/MockUSD__factory.d.ts +0 -320
- package/dist/esm/contracts/factories/MockUSD__factory.js +0 -427
- package/dist/esm/contracts/factories/MockUSD__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/src/contracts/IPerpetualMarginViewLogic.ts +0 -347
- package/src/contracts/MockUSD.ts +0 -378
- package/src/contracts/factories/IPerpetualMarginViewLogic__factory.ts +0 -313
- package/src/contracts/factories/MockUSD__factory.ts +0 -430
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MarketData, PerpetualDataHandler } from "@d8x/perpetuals-sdk";
|
|
2
|
+
async function main() {
|
|
3
|
+
console.log(MarketData);
|
|
4
|
+
// setup
|
|
5
|
+
const config = PerpetualDataHandler.readSDKConfig("zkevm");
|
|
6
|
+
let mktData = new MarketData(config);
|
|
7
|
+
await mktData.createProxyInstance();
|
|
8
|
+
// Get exchange info
|
|
9
|
+
let info = await mktData.exchangeInfo();
|
|
10
|
+
console.log(info);
|
|
11
|
+
const pools = info.pools;
|
|
12
|
+
pools.forEach((pool, index) => {
|
|
13
|
+
console.log(`Perpetuals in pool ${index} (${pool.poolSymbol}):`);
|
|
14
|
+
console.log(pool.perpetuals);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
main();
|
|
18
|
+
//# sourceMappingURL=main2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main2.js","sourceRoot":"","sources":["../../src/main2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACvE,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,QAAQ;IACR,MAAM,MAAM,GAAG,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC;IACpC,oBAAoB;IACpB,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAElB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEzB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AACD,IAAI,EAAE,CAAC"}
|
package/dist/esm/marketData.d.ts
CHANGED
|
@@ -230,9 +230,18 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
230
230
|
}>;
|
|
231
231
|
/**
|
|
232
232
|
* Fee is relative to base-currency amount (=trade amount)
|
|
233
|
-
* @
|
|
234
|
-
|
|
235
|
-
|
|
233
|
+
* @param {number} Sm Mark price
|
|
234
|
+
* @param {number} tradeAmtBC Signed trade amount in base currency (positive for buy, negative for sell)
|
|
235
|
+
* @param {number} traderPosBC Current trader position in base currency (signed, positive for long, negative for short)
|
|
236
|
+
* @param {number} traderLockedInQC Locked-in value in quote currency for existing position (entry price * position size)
|
|
237
|
+
* @param {number} collateralCC Collateral in CC for existing position (fCashCC from margin account)
|
|
238
|
+
* @param {number} traderLeverage Leverage for the new trade
|
|
239
|
+
* @param {number} mu_m maintenance margin rate
|
|
240
|
+
* @param {number} mu_i Initial margin rate, for pred markets this is the min cash per contract required to open
|
|
241
|
+
* @param {bigint} conf Configuration bigint encoding jump and sigt (volatility * sqrt(time))
|
|
242
|
+
* @returns {number} Exchange fee per unit of base currency (e.g., 0.05 = 5 cents per contract)
|
|
243
|
+
*/
|
|
244
|
+
static exchangeFeePrdMkts(Sm: number, tradeAmtBC: number, traderPosBC: number, traderLockedInQC: number, collateralCC: number, traderLeverage: number, mu_m: number, mu_i: number, conf: bigint): number;
|
|
236
245
|
/**
|
|
237
246
|
* Estimates what the position risk will be if given amount of collateral is added/removed from the account.
|
|
238
247
|
* @param {number} deltaCollateral Amount of collateral to add or remove (signed)
|
package/dist/esm/marketData.js
CHANGED
|
@@ -607,26 +607,52 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
607
607
|
}
|
|
608
608
|
/**
|
|
609
609
|
* Fee is relative to base-currency amount (=trade amount)
|
|
610
|
-
* @
|
|
610
|
+
* @param {number} Sm Mark price
|
|
611
|
+
* @param {number} tradeAmtBC Signed trade amount in base currency (positive for buy, negative for sell)
|
|
612
|
+
* @param {number} traderPosBC Current trader position in base currency (signed, positive for long, negative for short)
|
|
613
|
+
* @param {number} traderLockedInQC Locked-in value in quote currency for existing position (entry price * position size)
|
|
614
|
+
* @param {number} collateralCC Collateral in CC for existing position (fCashCC from margin account)
|
|
615
|
+
* @param {number} traderLeverage Leverage for the new trade
|
|
616
|
+
* @param {number} mu_m maintenance margin rate
|
|
617
|
+
* @param {number} mu_i Initial margin rate, for pred markets this is the min cash per contract required to open
|
|
618
|
+
* @param {bigint} conf Configuration bigint encoding jump and sigt (volatility * sqrt(time))
|
|
619
|
+
* @returns {number} Exchange fee per unit of base currency (e.g., 0.05 = 5 cents per contract)
|
|
611
620
|
*/
|
|
612
|
-
static exchangeFeePrdMkts(Sm, tradeAmtBC, traderPosBC, traderLockedInQC, traderLeverage, mu_m,
|
|
621
|
+
static exchangeFeePrdMkts(Sm, tradeAmtBC, traderPosBC, traderLockedInQC, collateralCC, traderLeverage, mu_m, mu_i, conf) {
|
|
613
622
|
const isClose = Math.sign(traderPosBC) != Math.sign(tradeAmtBC);
|
|
614
623
|
const isFlip = Math.abs(traderPosBC + tradeAmtBC) > 0.01 && Math.sign(traderPosBC + tradeAmtBC) != Math.sign(traderPosBC);
|
|
615
|
-
|
|
624
|
+
// varphi_0 is the entry mark price labeled varphiBar_0 on page 2 of the leveraged prediction markets paper used in equation (1)
|
|
625
|
+
const varphi_0 = tradeAmtBC > 0 ? Sm - 1 : 2 - Sm;
|
|
626
|
+
// varphi is the entry price of an existing position, we need this for the exit fee to compute liq price and the check if
|
|
627
|
+
// the original position is overcollateralized at entry
|
|
616
628
|
const varphi = traderPosBC == 0
|
|
617
|
-
?
|
|
629
|
+
? varphi_0
|
|
618
630
|
: traderPosBC > 0
|
|
619
631
|
? traderLockedInQC / traderPosBC - 1
|
|
620
632
|
: 2 - traderLockedInQC / traderPosBC;
|
|
633
|
+
//console.log("[exchangeFeePrdMkts] varphi:", varphi, "varphi_0:", varphi_0);
|
|
634
|
+
// eq (1) leveraged prediction markets paper:
|
|
635
|
+
// m_0 = max(varphi_0 / l, c_{min}) + s(p_0 - pBar_0)^+
|
|
636
|
+
// c_{min} = min(varphi_0, mu_i) with mu_i being perpetualStaticInfo.initialMarginRate
|
|
637
|
+
// we assume that slippage s(p_0 - pBar_0)^+ is 0 here
|
|
638
|
+
const c_min = Math.min(varphi_0, mu_i);
|
|
639
|
+
const m_0 = Math.max(varphi_0 / traderLeverage, c_min);
|
|
640
|
+
// for the full exit fee m0 is taken from the existing position
|
|
641
|
+
const m_0Exit = traderPosBC == 0 ? 0 : collateralCC / Math.abs(traderPosBC);
|
|
621
642
|
let fee;
|
|
622
643
|
const { jump, sigt } = extractLvgFeeParams(conf);
|
|
623
644
|
if (isClose && !isFlip) {
|
|
624
645
|
// exit fee
|
|
625
|
-
|
|
646
|
+
//console.log("[exchangeFeePrdMkts] exit fee");
|
|
647
|
+
fee = -pmExitFee(varphi, varphi_0, m_0Exit, mu_m, mu_i, sigt, jump);
|
|
648
|
+
// if we are overcollateralized at entry (entry mark <= cash/contract), exit fee is 0.001 in any case
|
|
649
|
+
if (varphi <= m_0Exit) {
|
|
650
|
+
fee = 0.001;
|
|
651
|
+
}
|
|
626
652
|
}
|
|
627
653
|
else {
|
|
628
|
-
//
|
|
629
|
-
fee = pmOpenFee(
|
|
654
|
+
// entry fee
|
|
655
|
+
fee = pmOpenFee(varphi_0, m_0, mu_m, sigt, jump);
|
|
630
656
|
}
|
|
631
657
|
if (fee < 0.001) {
|
|
632
658
|
fee = 0.001;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketData.js","sourceRoot":"","sources":["../../src/marketData.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"marketData.js","sourceRoot":"","sources":["../../src/marketData.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const D8X_SDK_VERSION = "2.7.
|
|
1
|
+
export declare const D8X_SDK_VERSION = "2.7.7";
|
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const D8X_SDK_VERSION = "2.7.
|
|
1
|
+
export const D8X_SDK_VERSION = "2.7.7";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
package/src/d8XMath.ts
CHANGED
|
@@ -633,30 +633,41 @@ export function pmExchangeFee(prob: number, m: number, tradeAmt: number, tradeMg
|
|
|
633
633
|
return Math.max(fee, 0.001);
|
|
634
634
|
}
|
|
635
635
|
|
|
636
|
-
export function pmExitFee(
|
|
637
|
-
const pLiq = varphi + mu_m - m_0;
|
|
638
|
-
const kappa = calcKappa(varphiBar, pLiq, sigt);
|
|
639
|
-
let fee = prdMktLvgFee(kappa, varphi, m_0);
|
|
640
|
-
// console.log({ pLiq, kappa, varphi });
|
|
641
|
-
return fee;
|
|
642
|
-
}
|
|
643
|
-
|
|
644
|
-
export function pmOpenFee(
|
|
636
|
+
export function pmExitFee(
|
|
645
637
|
varphi: number,
|
|
646
|
-
|
|
647
|
-
|
|
638
|
+
varphi_0: number,
|
|
639
|
+
m_0Exit: number,
|
|
648
640
|
mu_m: number,
|
|
649
|
-
|
|
641
|
+
mu_i: number,
|
|
650
642
|
sigt: number,
|
|
651
643
|
jump: number
|
|
652
644
|
) {
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
const
|
|
656
|
-
|
|
657
|
-
const
|
|
658
|
-
|
|
659
|
-
|
|
645
|
+
// We implement equation (10) from leveraged binary markets paper - full closure fee only !
|
|
646
|
+
// pLiq and kappa for existing position, varphi is the entry price of the existing position
|
|
647
|
+
const pLiq = varphi + mu_m - m_0Exit;
|
|
648
|
+
// varphi_0 is the mark price for the closing trade, need to flip to get the mark for the position
|
|
649
|
+
const pricePos = 1 - varphi_0;
|
|
650
|
+
const kappa = calcKappa(pricePos, pLiq, sigt);
|
|
651
|
+
|
|
652
|
+
//console.log("[pmExitFee] kappa:", kappa, "pLiq:", pLiq, "varphi:", varphi);
|
|
653
|
+
let fee = prdMktLvgFee(kappa, pricePos, mu_i);
|
|
654
|
+
return fee;
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
export function pmOpenFee(varphi_0: number, m_0: number, mu_m: number, sigt: number, jump: number) {
|
|
658
|
+
// eq (4) leveraged prediction markets paper:
|
|
659
|
+
// varphiLiq = varphi + mu_m - m_0
|
|
660
|
+
|
|
661
|
+
const varphiLiq = varphi_0 + mu_m - m_0;
|
|
662
|
+
const kappa = calcKappa(varphi_0, varphiLiq, sigt);
|
|
663
|
+
//console.log("[pmOpenFee] kappa:", kappa, "varphiLiq:", varphiLiq, "m_0:", m_0);
|
|
664
|
+
|
|
665
|
+
let fee = prdMktLvgFee(kappa, varphi_0, m_0);
|
|
666
|
+
const es = calcJumpRisk(kappa, varphi_0, jump);
|
|
667
|
+
|
|
668
|
+
// cap ft = (1 - φt) φt - (1-φt) m0
|
|
669
|
+
const feecap = (1 - varphi_0) * varphi_0 - (1 - varphi_0) * m_0;
|
|
670
|
+
|
|
660
671
|
fee = fee + es;
|
|
661
672
|
if (fee > feecap) {
|
|
662
673
|
fee = feecap;
|
|
@@ -714,38 +725,57 @@ function decodeUint16Float(num: bigint) {
|
|
|
714
725
|
|
|
715
726
|
function decodeUint24Float(num: number | bigint) {
|
|
716
727
|
const n = BigInt(num);
|
|
728
|
+
const ONE_64x64 = 2n ** 64n;
|
|
717
729
|
|
|
718
730
|
const sgnE = n >> 23n;
|
|
719
731
|
const val = (n >> 3n) & ((1n << 20n) - 1n);
|
|
720
732
|
const exponent = n & ((1n << 3n) - 1n);
|
|
721
733
|
|
|
722
|
-
|
|
734
|
+
// v = val * ONE_64x64
|
|
735
|
+
let v = BigInt.asIntN(128, val * ONE_64x64);
|
|
723
736
|
|
|
737
|
+
// Normalize: find first non-zero digit position
|
|
724
738
|
let exponent1 = firstNonZeroNum(val);
|
|
725
739
|
if (exponent1 > 0n) exponent1--;
|
|
726
740
|
|
|
741
|
+
if (exponent1 > 0n) {
|
|
742
|
+
const pow10exp1 = 10n ** exponent1 * ONE_64x64;
|
|
743
|
+
v = (v * ONE_64x64) / pow10exp1;
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
// Apply exponent
|
|
727
747
|
if (sgnE == 1n) {
|
|
728
|
-
|
|
748
|
+
const pow10exp = 10n ** exponent * ONE_64x64;
|
|
749
|
+
v = (v * ONE_64x64) / pow10exp;
|
|
729
750
|
} else {
|
|
730
|
-
|
|
751
|
+
const pow10exp = 10n ** exponent * ONE_64x64;
|
|
752
|
+
v = (v * pow10exp) / ONE_64x64;
|
|
731
753
|
}
|
|
754
|
+
|
|
732
755
|
return ABK64x64ToFloat(v);
|
|
733
756
|
}
|
|
734
757
|
|
|
735
758
|
export function extractLvgFeeParams(conf: bigint) {
|
|
736
|
-
//
|
|
737
|
-
// int64(conf >> 16);
|
|
759
|
+
// _param == int64(odinvalue >> 16)
|
|
738
760
|
const param = BigInt.asIntN(64, conf >> 16n);
|
|
739
|
-
// uint64(uint128(_param))
|
|
761
|
+
// uint64(uint128(_param))
|
|
740
762
|
const enc = BigInt.asUintN(64, BigInt.asUintN(128, param));
|
|
741
763
|
// uint64 j = enc >> 44; //top 4 bits
|
|
742
764
|
const j = BigInt.asUintN(64, enc >> 44n);
|
|
743
|
-
// uint64 st = enc & ((uint64(1) << 44) - 1);
|
|
744
|
-
const st = BigInt.asUintN(64, enc & ((
|
|
765
|
+
// uint64 st = enc & ((uint64(1) << 44) - 1);
|
|
766
|
+
const st = BigInt.asUintN(64, enc & ((1n << 44n) - 1n));
|
|
767
|
+
|
|
745
768
|
// jump = int128(int64(j)) * int128(922337203685477580); // times 0.05 in ABDK
|
|
746
|
-
|
|
747
|
-
const
|
|
748
|
-
|
|
769
|
+
// 922337203685477580 = 0.05 * 2^64
|
|
770
|
+
const JUMP_MULTIPLIER = 922337203685477580n; // 0.05 in ABDK
|
|
771
|
+
const jumpABDK = BigInt.asIntN(128, BigInt.asIntN(64, j)) * JUMP_MULTIPLIER;
|
|
772
|
+
const jump = ABK64x64ToFloat(jumpABDK);
|
|
773
|
+
|
|
774
|
+
// sigT = _decodeUint24Float(uint24(st & ((1 << 24) - 1)));
|
|
775
|
+
const sigtEncoded = BigInt.asUintN(24, st & ((1n << 24n) - 1n));
|
|
776
|
+
const sigt = decodeUint24Float(Number(sigtEncoded));
|
|
777
|
+
//console.log("[extractLvgFeeParams] jump:", jump, "sigt:", sigt);
|
|
778
|
+
|
|
749
779
|
return { jump, sigt };
|
|
750
780
|
}
|
|
751
781
|
|
|
@@ -790,15 +820,16 @@ export function decodePriceImpact(amount: bigint, params: bigint) {
|
|
|
790
820
|
|
|
791
821
|
//sigt = sigma*sqrt(t)
|
|
792
822
|
function calcKappa(varphi: number, varphiLiq: number, sigt: number): number {
|
|
793
|
-
const
|
|
794
|
-
const
|
|
795
|
-
|
|
796
|
-
const
|
|
823
|
+
const varphiBar = 1 - varphi;
|
|
824
|
+
const varphiBar_star = 1 - varphiLiq;
|
|
825
|
+
|
|
826
|
+
const x0 = Math.log(varphiBar / (1 - varphiBar));
|
|
827
|
+
const a = Math.log(varphiBar_star / (1 - varphiBar_star));
|
|
797
828
|
// a - x0 = log( p*(1-p*) / (1-p)p* )
|
|
798
|
-
const cdfArg = Math.log((
|
|
829
|
+
const cdfArg = Math.log((varphiBar * (1 - varphiBar_star)) / (varphiBar_star * (1 - varphiBar))) / sigt;
|
|
799
830
|
// console.log({ p, pStar, x0, a, sigt, cdfarg: (a - x0) / sigt });
|
|
800
831
|
if (isNaN(cdfArg)) {
|
|
801
|
-
return
|
|
832
|
+
return varphiBar_star * (1 - varphiBar) < varphiBar * (1 - varphiBar_star) ? 0 : 2;
|
|
802
833
|
}
|
|
803
834
|
const kappa = 2 * (1 - cdfNormalStd((a - x0) / sigt));
|
|
804
835
|
return kappa;
|