@d8x/perpetuals-sdk 2.0.13-alpha → 2.1.1-alpha2
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/IPerpetualManager.json +154 -4
- package/dist/cjs/abi/OracleFactory.json +94 -25
- package/dist/cjs/abi/PerpetualManagerProxy.json +212 -2
- package/dist/cjs/accountTrade.d.ts +3 -3
- package/dist/cjs/accountTrade.js +1 -1
- package/dist/cjs/accountTrade.js.map +1 -1
- package/dist/cjs/brokerTool.d.ts +5 -1
- package/dist/cjs/brokerTool.js +20 -7
- package/dist/cjs/brokerTool.js.map +1 -1
- package/dist/cjs/config/defaultConfig.json +0 -12
- package/dist/cjs/config/priceFeedConfig.json +1 -19
- package/dist/cjs/constants.d.ts +0 -1
- package/dist/cjs/constants.js +2 -3
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/contracts/IPerpetualManager.d.ts +93 -13
- package/dist/cjs/contracts/OracleFactory.d.ts +69 -20
- package/dist/cjs/contracts/PerpetualManagerProxy.d.ts +109 -4
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.d.ts +118 -4
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +154 -4
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/OracleFactory__factory.d.ts +75 -20
- package/dist/cjs/contracts/factories/OracleFactory__factory.js +94 -25
- package/dist/cjs/contracts/factories/OracleFactory__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.d.ts +159 -2
- package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js +212 -2
- package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
- package/dist/cjs/d8XMath.d.ts +59 -1
- package/dist/cjs/d8XMath.js +259 -3
- package/dist/cjs/d8XMath.js.map +1 -1
- package/dist/cjs/liquidatorTool.d.ts +1 -0
- package/dist/cjs/liquidatorTool.js +24 -7
- package/dist/cjs/liquidatorTool.js.map +1 -1
- package/dist/cjs/marketData.d.ts +45 -23
- package/dist/cjs/marketData.js +292 -197
- package/dist/cjs/marketData.js.map +1 -1
- package/dist/cjs/nodeSDKTypes.d.ts +24 -1
- package/dist/cjs/nodeSDKTypes.js.map +1 -1
- package/dist/cjs/orderExecutorTool.d.ts +3 -3
- package/dist/cjs/orderExecutorTool.js +38 -13
- package/dist/cjs/orderExecutorTool.js.map +1 -1
- package/dist/cjs/perpetualDataHandler.d.ts +28 -17
- package/dist/cjs/perpetualDataHandler.js +71 -45
- package/dist/cjs/perpetualDataHandler.js.map +1 -1
- package/dist/cjs/perpetualEventHandler.d.ts +1 -1
- package/dist/cjs/perpetualEventHandler.js +6 -7
- package/dist/cjs/perpetualEventHandler.js.map +1 -1
- package/dist/cjs/polyMktsPxFeed.d.ts +5 -3
- package/dist/cjs/polyMktsPxFeed.js +34 -2
- package/dist/cjs/polyMktsPxFeed.js.map +1 -1
- package/dist/cjs/priceFeeds.d.ts +6 -7
- package/dist/cjs/priceFeeds.js +36 -14
- package/dist/cjs/priceFeeds.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/writeAccessHandler.js +1 -1
- package/dist/cjs/writeAccessHandler.js.map +1 -1
- package/dist/esm/abi/IPerpetualManager.json +154 -4
- package/dist/esm/abi/OracleFactory.json +94 -25
- package/dist/esm/abi/PerpetualManagerProxy.json +212 -2
- package/dist/esm/accountTrade.d.ts +3 -3
- package/dist/esm/accountTrade.js +1 -1
- package/dist/esm/accountTrade.js.map +1 -1
- package/dist/esm/brokerTool.d.ts +5 -1
- package/dist/esm/brokerTool.js +21 -8
- package/dist/esm/brokerTool.js.map +1 -1
- package/dist/esm/config/defaultConfig.json +0 -12
- package/dist/esm/config/priceFeedConfig.json +1 -19
- package/dist/esm/constants.d.ts +0 -1
- package/dist/esm/constants.js +1 -2
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/contracts/IPerpetualManager.d.ts +93 -13
- package/dist/esm/contracts/OracleFactory.d.ts +69 -20
- package/dist/esm/contracts/PerpetualManagerProxy.d.ts +109 -4
- package/dist/esm/contracts/factories/IPerpetualManager__factory.d.ts +118 -4
- package/dist/esm/contracts/factories/IPerpetualManager__factory.js +154 -4
- package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
- package/dist/esm/contracts/factories/OracleFactory__factory.d.ts +75 -20
- package/dist/esm/contracts/factories/OracleFactory__factory.js +94 -25
- package/dist/esm/contracts/factories/OracleFactory__factory.js.map +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/contracts/factories/PerpetualManagerProxy__factory.d.ts +159 -2
- package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js +212 -2
- package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
- package/dist/esm/d8XMath.d.ts +59 -1
- package/dist/esm/d8XMath.js +251 -2
- package/dist/esm/d8XMath.js.map +1 -1
- package/dist/esm/liquidatorTool.d.ts +1 -0
- package/dist/esm/liquidatorTool.js +25 -8
- package/dist/esm/liquidatorTool.js.map +1 -1
- package/dist/esm/marketData.d.ts +45 -23
- package/dist/esm/marketData.js +295 -200
- package/dist/esm/marketData.js.map +1 -1
- package/dist/esm/nodeSDKTypes.d.ts +24 -1
- package/dist/esm/nodeSDKTypes.js.map +1 -1
- package/dist/esm/orderExecutorTool.d.ts +3 -3
- package/dist/esm/orderExecutorTool.js +38 -13
- package/dist/esm/orderExecutorTool.js.map +1 -1
- package/dist/esm/perpetualDataHandler.d.ts +28 -17
- package/dist/esm/perpetualDataHandler.js +74 -48
- package/dist/esm/perpetualDataHandler.js.map +1 -1
- package/dist/esm/perpetualEventHandler.d.ts +1 -1
- package/dist/esm/perpetualEventHandler.js +6 -7
- package/dist/esm/perpetualEventHandler.js.map +1 -1
- package/dist/esm/polyMktsPxFeed.d.ts +5 -3
- package/dist/esm/polyMktsPxFeed.js +34 -2
- package/dist/esm/polyMktsPxFeed.js.map +1 -1
- package/dist/esm/priceFeeds.d.ts +6 -7
- package/dist/esm/priceFeeds.js +36 -14
- package/dist/esm/priceFeeds.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/writeAccessHandler.js +3 -3
- package/dist/esm/writeAccessHandler.js.map +1 -1
- package/doc/brokerTool.md +3 -1
- package/doc/d8x-perpetuals-sdk.md +804 -132
- package/doc/marketData.md +813 -0
- package/doc/perpetualDataHandler.md +76 -7
- package/package.json +1 -1
- package/src/abi/IPerpetualManager.json +154 -4
- package/src/abi/OracleFactory.json +523 -454
- package/src/abi/PerpetualManagerProxy.json +1596 -1386
- package/src/accountTrade.ts +3 -3
- package/src/brokerTool.ts +22 -8
- package/src/config/defaultConfig.json +0 -13
- package/src/config/priceFeedConfig.json +1 -19
- package/src/constants.ts +1 -2
- package/src/contracts/IPerpetualManager.ts +140 -10
- package/src/contracts/OracleFactory.ts +100 -26
- package/src/contracts/PerpetualManagerProxy.ts +192 -3
- package/src/contracts/factories/IPerpetualManager__factory.ts +154 -4
- package/src/contracts/factories/OracleFactory__factory.ts +94 -25
- package/src/contracts/factories/PerpetualManagerProxy__factory.ts +212 -2
- package/src/d8XMath.ts +327 -2
- package/src/liquidatorTool.ts +29 -14
- package/src/marketData.ts +448 -250
- package/src/nodeSDKTypes.ts +30 -1
- package/src/orderExecutorTool.ts +48 -20
- package/src/perpetualDataHandler.ts +108 -55
- package/src/perpetualEventHandler.ts +6 -7
- package/src/polyMktsPxFeed.ts +40 -4
- package/src/priceFeeds.ts +41 -17
- package/src/version.ts +1 -1
- package/src/writeAccessHandler.ts +2 -2
- 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/src/abi-zkevm/IPerpetualManager.json +0 -5366
|
@@ -67,6 +67,9 @@ Send event variables to event handler "on<EventName>" - this updates m
|
|
|
67
67
|
<li>[x] async onUpdateMarginAccount : emitted on proxy; updates position data and open interest</li>
|
|
68
68
|
<li>[x] onTrade : emitted on proxy; returns TradeEvent to be displayed</li>
|
|
69
69
|
</ul></dd>
|
|
70
|
+
<dt><a href="#PolyMktsPxFeed">PolyMktsPxFeed</a></dt>
|
|
71
|
+
<dd><p>PolyMktsPxFeed gets prices from the official polymarket api
|
|
72
|
+
and applies the 1+px transformation</p></dd>
|
|
70
73
|
<dt><a href="#PriceFeeds">PriceFeeds</a></dt>
|
|
71
74
|
<dd><p>This class communicates with the REST API that provides price-data that is
|
|
72
75
|
to be submitted to the smart contracts for certain functions such as
|
|
@@ -99,6 +102,26 @@ require gas-payments.</p></dd>
|
|
|
99
102
|
on-chain</p></dd>
|
|
100
103
|
</dl>
|
|
101
104
|
|
|
105
|
+
## Constants
|
|
106
|
+
|
|
107
|
+
<dl>
|
|
108
|
+
<dt><a href="#referralDomain">referralDomain</a></dt>
|
|
109
|
+
<dd><p>LiquidityPoolData corresponding to the data in the smart contract</p></dd>
|
|
110
|
+
</dl>
|
|
111
|
+
|
|
112
|
+
## Typedefs
|
|
113
|
+
|
|
114
|
+
<dl>
|
|
115
|
+
<dt><a href="#ExchangeInfo">ExchangeInfo</a> : <code>Object</code></dt>
|
|
116
|
+
<dd></dd>
|
|
117
|
+
<dt><a href="#PoolState">PoolState</a> : <code>Object</code></dt>
|
|
118
|
+
<dd></dd>
|
|
119
|
+
<dt><a href="#SmartContractOrder">SmartContractOrder</a> : <code>Object</code></dt>
|
|
120
|
+
<dd></dd>
|
|
121
|
+
<dt><a href="#ClientOrder">ClientOrder</a> : <code>Object</code></dt>
|
|
122
|
+
<dd></dd>
|
|
123
|
+
</dl>
|
|
124
|
+
|
|
102
125
|
<a name="module_d8xMath"></a>
|
|
103
126
|
|
|
104
127
|
## d8xMath
|
|
@@ -108,19 +131,29 @@ on-chain</p></dd>
|
|
|
108
131
|
* [~ABK64x64ToFloat(x)](#module_d8xMath..ABK64x64ToFloat) ⇒ <code>number</code>
|
|
109
132
|
* [~decNToFloat(x)](#module_d8xMath..decNToFloat) ⇒ <code>number</code>
|
|
110
133
|
* [~dec18ToFloat(x)](#module_d8xMath..dec18ToFloat) ⇒ <code>number</code>
|
|
111
|
-
* [~floatToABK64x64(x)](#module_d8xMath..floatToABK64x64) ⇒ <code>
|
|
134
|
+
* [~floatToABK64x64(x)](#module_d8xMath..floatToABK64x64) ⇒ <code>bigint</code>
|
|
112
135
|
* [~floatToDec18(x)](#module_d8xMath..floatToDec18) ⇒ <code>BigNumber</code>
|
|
113
136
|
* [~floatToDecN(x, decimals)](#module_d8xMath..floatToDecN) ⇒ <code>BigNumber</code>
|
|
114
137
|
* [~countDecimalsOf(x, precision)](#module_d8xMath..countDecimalsOf) ⇒
|
|
115
138
|
* [~roundToLotString(x, lot, precision)](#module_d8xMath..roundToLotString) ⇒
|
|
116
|
-
* [~mul64x64(x, y)](#module_d8xMath..mul64x64) ⇒ <code>
|
|
117
|
-
* [~div64x64(x, y)](#module_d8xMath..div64x64) ⇒ <code>
|
|
139
|
+
* [~mul64x64(x, y)](#module_d8xMath..mul64x64) ⇒ <code>bigint</code>
|
|
140
|
+
* [~div64x64(x, y)](#module_d8xMath..div64x64) ⇒ <code>bigint</code>
|
|
118
141
|
* [~calculateLiquidationPriceCollateralBase(LockedInValueQC, position, cash_cc, maintenance_margin_rate, S3)](#module_d8xMath..calculateLiquidationPriceCollateralBase) ⇒ <code>number</code>
|
|
119
142
|
* [~calculateLiquidationPriceCollateralQuanto(LockedInValueQC, position, cash_cc, maintenance_margin_rate, S3, Sm)](#module_d8xMath..calculateLiquidationPriceCollateralQuanto) ⇒ <code>number</code>
|
|
120
143
|
* [~calculateLiquidationPriceCollateralQuote(LockedInValueQC, position, cash_cc, maintenance_margin_rate, S3)](#module_d8xMath..calculateLiquidationPriceCollateralQuote) ⇒ <code>number</code>
|
|
121
144
|
* [~getMarginRequiredForLeveragedTrade(targetLeverage, currentPosition, currentLockedInValue, tradeAmount, markPrice, indexPriceS2, indexPriceS3, tradePrice, feeRate)](#module_d8xMath..getMarginRequiredForLeveragedTrade) ⇒ <code>number</code>
|
|
122
145
|
* [~getNewPositionLeverage(tradeAmount, marginCollateral, currentPosition, currentLockedInValue, price, indexPriceS3, markPrice)](#module_d8xMath..getNewPositionLeverage) ⇒
|
|
123
|
-
* [~getDepositAmountForLvgTrade(pos0, b0, tradeAmnt, targetLvg, price, S3, S2Mark)](#module_d8xMath..getDepositAmountForLvgTrade) ⇒ <code>number</code>
|
|
146
|
+
* [~getDepositAmountForLvgTrade(pos0, b0, tradeAmnt, targetLvg, price, S3, S2Mark, isPredMkt)](#module_d8xMath..getDepositAmountForLvgTrade) ⇒ <code>number</code>
|
|
147
|
+
* [~priceToProb(px)](#module_d8xMath..priceToProb) ⇒
|
|
148
|
+
* [~probToPrice(prob)](#module_d8xMath..probToPrice) ⇒
|
|
149
|
+
* [~pmMarginThresh(pos, s2, s3, m)](#module_d8xMath..pmMarginThresh) ⇒
|
|
150
|
+
* [~pmMaintenanceMarginRate(posSign, sm, m)](#module_d8xMath..pmMaintenanceMarginRate) ⇒
|
|
151
|
+
* [~pmInitialMarginRate(posSign, sm, m)](#module_d8xMath..pmInitialMarginRate) ⇒
|
|
152
|
+
* [~expectedLoss(p, m, totLong, totShort, tradeAmt, tradeMgnRate)](#module_d8xMath..expectedLoss)
|
|
153
|
+
* [~pmExchangeFee(prob, m, totShort, totLong, tradeAmt, tradeMgnRate)](#module_d8xMath..pmExchangeFee) ⇒
|
|
154
|
+
* [~pmMarginBalance(pos, s2, s3, ell, mc)](#module_d8xMath..pmMarginBalance) ⇒
|
|
155
|
+
* [~excessMargin(tradeAmt, currentCashCC, currentPos, currentLockedInQC, limitPrice, Sm, S3, totLong, totShort)](#module_d8xMath..excessMargin) ⇒
|
|
156
|
+
* [~pmFindMaxTradeSize(dir, currentPosition, currentCashCC, currentLockedInValue, limitPrice, Sm, S3, totLong, totShort, maxShort, maxLong)](#module_d8xMath..pmFindMaxTradeSize) ⇒
|
|
124
157
|
|
|
125
158
|
<a name="module_d8xMath..ABDK29ToFloat"></a>
|
|
126
159
|
|
|
@@ -171,11 +204,11 @@ Result = x/2^64 if big number, x/2^29 if number</p>
|
|
|
171
204
|
|
|
172
205
|
<a name="module_d8xMath..floatToABK64x64"></a>
|
|
173
206
|
|
|
174
|
-
### d8xMath~floatToABK64x64(x) ⇒ <code>
|
|
207
|
+
### d8xMath~floatToABK64x64(x) ⇒ <code>bigint</code>
|
|
175
208
|
<p>Converts x into ABDK64x64 format</p>
|
|
176
209
|
|
|
177
210
|
**Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
|
|
178
|
-
**Returns**: <code>
|
|
211
|
+
**Returns**: <code>bigint</code> - <p>x^64 in big number format</p>
|
|
179
212
|
|
|
180
213
|
| Param | Type | Description |
|
|
181
214
|
| --- | --- | --- |
|
|
@@ -232,25 +265,25 @@ to for this lot-size</p>
|
|
|
232
265
|
|
|
233
266
|
<a name="module_d8xMath..mul64x64"></a>
|
|
234
267
|
|
|
235
|
-
### d8xMath~mul64x64(x, y) ⇒ <code>
|
|
268
|
+
### d8xMath~mul64x64(x, y) ⇒ <code>bigint</code>
|
|
236
269
|
**Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
|
|
237
|
-
**Returns**: <code>
|
|
270
|
+
**Returns**: <code>bigint</code> - <p>x * y</p>
|
|
238
271
|
|
|
239
272
|
| Param | Type |
|
|
240
273
|
| --- | --- |
|
|
241
|
-
| x | <code>
|
|
242
|
-
| y | <code>
|
|
274
|
+
| x | <code>bigint</code> |
|
|
275
|
+
| y | <code>bigint</code> |
|
|
243
276
|
|
|
244
277
|
<a name="module_d8xMath..div64x64"></a>
|
|
245
278
|
|
|
246
|
-
### d8xMath~div64x64(x, y) ⇒ <code>
|
|
279
|
+
### d8xMath~div64x64(x, y) ⇒ <code>bigint</code>
|
|
247
280
|
**Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
|
|
248
|
-
**Returns**: <code>
|
|
281
|
+
**Returns**: <code>bigint</code> - <p>x / y</p>
|
|
249
282
|
|
|
250
283
|
| Param | Type |
|
|
251
284
|
| --- | --- |
|
|
252
|
-
| x | <code>
|
|
253
|
-
| y | <code>
|
|
285
|
+
| x | <code>bigint</code> |
|
|
286
|
+
| y | <code>bigint</code> |
|
|
254
287
|
|
|
255
288
|
<a name="module_d8xMath..calculateLiquidationPriceCollateralBase"></a>
|
|
256
289
|
|
|
@@ -339,7 +372,7 @@ to for this lot-size</p>
|
|
|
339
372
|
|
|
340
373
|
<a name="module_d8xMath..getDepositAmountForLvgTrade"></a>
|
|
341
374
|
|
|
342
|
-
### d8xMath~getDepositAmountForLvgTrade(pos0, b0, tradeAmnt, targetLvg, price, S3, S2Mark) ⇒ <code>number</code>
|
|
375
|
+
### d8xMath~getDepositAmountForLvgTrade(pos0, b0, tradeAmnt, targetLvg, price, S3, S2Mark, isPredMkt) ⇒ <code>number</code>
|
|
343
376
|
<p>Determine amount to be deposited into margin account so that the given leverage
|
|
344
377
|
is obtained when trading a position pos (trade amount = position)
|
|
345
378
|
Does NOT include fees
|
|
@@ -357,6 +390,169 @@ Smart contract equivalent: calcMarginForTargetLeverage(..., _ignorePosBalance =
|
|
|
357
390
|
| price | <code>number</code> | <p>price to trade amount 'tradeAmnt'</p> |
|
|
358
391
|
| S3 | <code>number</code> | <p>collateral to quote conversion (=S2 if base-collateral, =1 if quote collateral, = index S3 if quanto)</p> |
|
|
359
392
|
| S2Mark | <code>number</code> | <p>mark price</p> |
|
|
393
|
+
| isPredMkt | <code>boolean</code> | <p>true if prediction market</p> |
|
|
394
|
+
|
|
395
|
+
<a name="module_d8xMath..priceToProb"></a>
|
|
396
|
+
|
|
397
|
+
### d8xMath~priceToProb(px) ⇒
|
|
398
|
+
<p>Convert a perpetual price to probability (predtictive markets)</p>
|
|
399
|
+
|
|
400
|
+
**Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
|
|
401
|
+
**Returns**: <p>Probability in [0,1]</p>
|
|
402
|
+
|
|
403
|
+
| Param | Description |
|
|
404
|
+
| --- | --- |
|
|
405
|
+
| px | <p>Perpetual price</p> |
|
|
406
|
+
|
|
407
|
+
<a name="module_d8xMath..probToPrice"></a>
|
|
408
|
+
|
|
409
|
+
### d8xMath~probToPrice(prob) ⇒
|
|
410
|
+
<p>Convert a probability to a predictive market price</p>
|
|
411
|
+
|
|
412
|
+
**Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
|
|
413
|
+
**Returns**: <p>Perpetual price</p>
|
|
414
|
+
|
|
415
|
+
| Param | Description |
|
|
416
|
+
| --- | --- |
|
|
417
|
+
| prob | <p>Probability in [0,1]</p> |
|
|
418
|
+
|
|
419
|
+
<a name="module_d8xMath..pmMarginThresh"></a>
|
|
420
|
+
|
|
421
|
+
### d8xMath~pmMarginThresh(pos, s2, s3, m) ⇒
|
|
422
|
+
<p>Maintenance margin requirement for prediction markets</p>
|
|
423
|
+
|
|
424
|
+
**Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
|
|
425
|
+
**Returns**: <p>required margin balance</p>
|
|
426
|
+
|
|
427
|
+
| Param | Default | Description |
|
|
428
|
+
| --- | --- | --- |
|
|
429
|
+
| pos | | <p>signed position</p> |
|
|
430
|
+
| s2 | | <p>mark price</p> |
|
|
431
|
+
| s3 | | <p>collateral to quote conversion</p> |
|
|
432
|
+
| m | <code>0.18</code> | <p>base margin rate</p> |
|
|
433
|
+
|
|
434
|
+
<a name="module_d8xMath..pmMaintenanceMarginRate"></a>
|
|
435
|
+
|
|
436
|
+
### d8xMath~pmMaintenanceMarginRate(posSign, sm, m) ⇒
|
|
437
|
+
<p>Maintenance margin rate for prediction markets.</p>
|
|
438
|
+
|
|
439
|
+
**Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
|
|
440
|
+
**Returns**: <p>margin rate to be applied (Math.abs(pos) * p * tau) / s3;</p>
|
|
441
|
+
|
|
442
|
+
| Param | Default | Description |
|
|
443
|
+
| --- | --- | --- |
|
|
444
|
+
| posSign | | <p>sign of position in base currency (can be signed position or -1, 1)</p> |
|
|
445
|
+
| sm | | <p>mark-price (=1+p)</p> |
|
|
446
|
+
| m | <code>0.18</code> | <p>max margin rate from fInitialMarginRate</p> |
|
|
447
|
+
|
|
448
|
+
<a name="module_d8xMath..pmInitialMarginRate"></a>
|
|
449
|
+
|
|
450
|
+
### d8xMath~pmInitialMarginRate(posSign, sm, m) ⇒
|
|
451
|
+
<p>Maintenance margin rate for prediction markets.</p>
|
|
452
|
+
|
|
453
|
+
**Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
|
|
454
|
+
**Returns**: <p>margin rate to be applied (Math.abs(pos) * p * tau) / s3;</p>
|
|
455
|
+
|
|
456
|
+
| Param | Default | Description |
|
|
457
|
+
| --- | --- | --- |
|
|
458
|
+
| posSign | | <p>sign of position in base currency (can be signed position or -1, 1)</p> |
|
|
459
|
+
| sm | | <p>mark-price (=1+p)</p> |
|
|
460
|
+
| m | <code>0.2</code> | <p>max margin rate from fMaintenanceMarginRate</p> |
|
|
461
|
+
|
|
462
|
+
<a name="module_d8xMath..expectedLoss"></a>
|
|
463
|
+
|
|
464
|
+
### d8xMath~expectedLoss(p, m, totLong, totShort, tradeAmt, tradeMgnRate)
|
|
465
|
+
<p>Calculate the expected loss for a prediction market trade used for
|
|
466
|
+
prediction market fees</p>
|
|
467
|
+
|
|
468
|
+
**Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
|
|
469
|
+
|
|
470
|
+
| Param | Description |
|
|
471
|
+
| --- | --- |
|
|
472
|
+
| p | <p>probability derived from mark price (long)</p> |
|
|
473
|
+
| m | <p>maximal maintenance rate from which we defer the actual maintenance margin rate</p> |
|
|
474
|
+
| totLong | <p>total long in base currency</p> |
|
|
475
|
+
| totShort | <p>total short</p> |
|
|
476
|
+
| tradeAmt | <p>signed trade amount, can be zero</p> |
|
|
477
|
+
| tradeMgnRate | <p>margin rate of the trader</p> |
|
|
478
|
+
|
|
479
|
+
<a name="module_d8xMath..pmExchangeFee"></a>
|
|
480
|
+
|
|
481
|
+
### d8xMath~pmExchangeFee(prob, m, totShort, totLong, tradeAmt, tradeMgnRate) ⇒
|
|
482
|
+
<p>Exchange fee as a rate for prediction markets</p>
|
|
483
|
+
|
|
484
|
+
**Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
|
|
485
|
+
**Returns**: <p>fee relative to tradeAmt</p>
|
|
486
|
+
|
|
487
|
+
| Param | Description |
|
|
488
|
+
| --- | --- |
|
|
489
|
+
| prob | <p>long probability</p> |
|
|
490
|
+
| m | <p>max maintenance margin rate (0.18)</p> |
|
|
491
|
+
| totShort | |
|
|
492
|
+
| totLong | |
|
|
493
|
+
| tradeAmt | <p>trade amount in base currency</p> |
|
|
494
|
+
| tradeMgnRate | <p>margin rate for this trade</p> |
|
|
495
|
+
|
|
496
|
+
<a name="module_d8xMath..pmMarginBalance"></a>
|
|
497
|
+
|
|
498
|
+
### d8xMath~pmMarginBalance(pos, s2, s3, ell, mc) ⇒
|
|
499
|
+
<p>Margin balance for prediction markets</p>
|
|
500
|
+
|
|
501
|
+
**Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
|
|
502
|
+
**Returns**: <p>current margin balance</p>
|
|
503
|
+
|
|
504
|
+
| Param | Description |
|
|
505
|
+
| --- | --- |
|
|
506
|
+
| pos | <p>signed position</p> |
|
|
507
|
+
| s2 | <p>mark price</p> |
|
|
508
|
+
| s3 | <p>collateral to quote conversion</p> |
|
|
509
|
+
| ell | <p>locked in value</p> |
|
|
510
|
+
| mc | <p>margin cash in collateral currency</p> |
|
|
511
|
+
|
|
512
|
+
<a name="module_d8xMath..excessMargin"></a>
|
|
513
|
+
|
|
514
|
+
### d8xMath~excessMargin(tradeAmt, currentCashCC, currentPos, currentLockedInQC, limitPrice, Sm, S3, totLong, totShort) ⇒
|
|
515
|
+
<p>Calculate the excess margin defined as
|
|
516
|
+
excess := margin balance - trading fee - initial margin threshold
|
|
517
|
+
for the given trade and position</p>
|
|
518
|
+
|
|
519
|
+
**Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
|
|
520
|
+
**Returns**: <p>excess margin as defined above</p>
|
|
521
|
+
|
|
522
|
+
| Param |
|
|
523
|
+
| --- |
|
|
524
|
+
| tradeAmt |
|
|
525
|
+
| currentCashCC |
|
|
526
|
+
| currentPos |
|
|
527
|
+
| currentLockedInQC |
|
|
528
|
+
| limitPrice |
|
|
529
|
+
| Sm |
|
|
530
|
+
| S3 |
|
|
531
|
+
| totLong |
|
|
532
|
+
| totShort |
|
|
533
|
+
|
|
534
|
+
<a name="module_d8xMath..pmFindMaxTradeSize"></a>
|
|
535
|
+
|
|
536
|
+
### d8xMath~pmFindMaxTradeSize(dir, currentPosition, currentCashCC, currentLockedInValue, limitPrice, Sm, S3, totLong, totShort, maxShort, maxLong) ⇒
|
|
537
|
+
<p>Find maximal trade size (short dir=-1 or long dir=1) for prediction
|
|
538
|
+
markets.</p>
|
|
539
|
+
|
|
540
|
+
**Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
|
|
541
|
+
**Returns**: <p>signed max trade size</p>
|
|
542
|
+
|
|
543
|
+
| Param |
|
|
544
|
+
| --- |
|
|
545
|
+
| dir |
|
|
546
|
+
| currentPosition |
|
|
547
|
+
| currentCashCC |
|
|
548
|
+
| currentLockedInValue |
|
|
549
|
+
| limitPrice |
|
|
550
|
+
| Sm |
|
|
551
|
+
| S3 |
|
|
552
|
+
| totLong |
|
|
553
|
+
| totShort |
|
|
554
|
+
| maxShort |
|
|
555
|
+
| maxLong |
|
|
360
556
|
|
|
361
557
|
<a name="module_utils"></a>
|
|
362
558
|
|
|
@@ -485,6 +681,7 @@ require gas-payments.</p>
|
|
|
485
681
|
* [.getAddress()](#WriteAccessHandler+getAddress) ⇒ <code>string</code>
|
|
486
682
|
* [.swapForMockToken(symbol, amountToPay)](#WriteAccessHandler+swapForMockToken) ⇒
|
|
487
683
|
* [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
|
|
684
|
+
* [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
|
|
488
685
|
* [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
|
|
489
686
|
* [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
|
|
490
687
|
* [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
|
|
@@ -509,6 +706,7 @@ require gas-payments.</p>
|
|
|
509
706
|
* [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
|
|
510
707
|
* [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
|
|
511
708
|
* [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
|
|
709
|
+
* [.isPredictionMarket(symbol)](#PerpetualDataHandler+isPredictionMarket) ⇒
|
|
512
710
|
|
|
513
711
|
<a name="new_AccountTrade_new"></a>
|
|
514
712
|
|
|
@@ -766,7 +964,7 @@ about perpetual currencies</p>
|
|
|
766
964
|
|
|
767
965
|
**Kind**: instance method of [<code>AccountTrade</code>](#AccountTrade)
|
|
768
966
|
**Overrides**: [<code>setAllowance</code>](#WriteAccessHandler+setAllowance)
|
|
769
|
-
**Returns**: <p>
|
|
967
|
+
**Returns**: <p>Contract Transaction</p>
|
|
770
968
|
|
|
771
969
|
| Param | Description |
|
|
772
970
|
| --- | --- |
|
|
@@ -809,6 +1007,19 @@ into a mock token used for trading on testnet, with a rate of 1:100_000</p>
|
|
|
809
1007
|
| --- | --- |
|
|
810
1008
|
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
811
1009
|
|
|
1010
|
+
<a name="PerpetualDataHandler+getOrderBookAddress"></a>
|
|
1011
|
+
|
|
1012
|
+
### accountTrade.getOrderBookAddress(symbol) ⇒
|
|
1013
|
+
<p>Returns the order-book contract for the symbol if found or fails</p>
|
|
1014
|
+
|
|
1015
|
+
**Kind**: instance method of [<code>AccountTrade</code>](#AccountTrade)
|
|
1016
|
+
**Overrides**: [<code>getOrderBookAddress</code>](#PerpetualDataHandler+getOrderBookAddress)
|
|
1017
|
+
**Returns**: <p>order book contract for the perpetual</p>
|
|
1018
|
+
|
|
1019
|
+
| Param | Description |
|
|
1020
|
+
| --- | --- |
|
|
1021
|
+
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
1022
|
+
|
|
812
1023
|
<a name="PerpetualDataHandler+getPerpetuals"></a>
|
|
813
1024
|
|
|
814
1025
|
### accountTrade.getPerpetuals(ids, overrides) ⇒
|
|
@@ -1166,6 +1377,19 @@ main();
|
|
|
1166
1377
|
| --- | --- |
|
|
1167
1378
|
| contract | <p>name of contract: proxy|lob|sharetoken</p> |
|
|
1168
1379
|
|
|
1380
|
+
<a name="PerpetualDataHandler+isPredictionMarket"></a>
|
|
1381
|
+
|
|
1382
|
+
### accountTrade.isPredictionMarket(symbol) ⇒
|
|
1383
|
+
<p>Determines whether a given perpetual represents a prediction market</p>
|
|
1384
|
+
|
|
1385
|
+
**Kind**: instance method of [<code>AccountTrade</code>](#AccountTrade)
|
|
1386
|
+
**Overrides**: [<code>isPredictionMarket</code>](#PerpetualDataHandler+isPredictionMarket)
|
|
1387
|
+
**Returns**: <p>True if this is a prediction market</p>
|
|
1388
|
+
|
|
1389
|
+
| Param | Description |
|
|
1390
|
+
| --- | --- |
|
|
1391
|
+
| symbol | <p>perpetual symbol of the form TRUMP24-USD-USDC</p> |
|
|
1392
|
+
|
|
1169
1393
|
<a name="BrokerTool"></a>
|
|
1170
1394
|
|
|
1171
1395
|
## BrokerTool ⇐ [<code>WriteAccessHandler</code>](#WriteAccessHandler)
|
|
@@ -1195,6 +1419,7 @@ require gas-payments.</p>
|
|
|
1195
1419
|
* [.getAddress()](#WriteAccessHandler+getAddress) ⇒ <code>string</code>
|
|
1196
1420
|
* [.swapForMockToken(symbol, amountToPay)](#WriteAccessHandler+swapForMockToken) ⇒
|
|
1197
1421
|
* [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
|
|
1422
|
+
* [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
|
|
1198
1423
|
* [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
|
|
1199
1424
|
* [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
|
|
1200
1425
|
* [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
|
|
@@ -1219,6 +1444,7 @@ require gas-payments.</p>
|
|
|
1219
1444
|
* [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
|
|
1220
1445
|
* [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
|
|
1221
1446
|
* [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
|
|
1447
|
+
* [.isPredictionMarket(symbol)](#PerpetualDataHandler+isPredictionMarket) ⇒
|
|
1222
1448
|
|
|
1223
1449
|
<a name="new_BrokerTool_new"></a>
|
|
1224
1450
|
|
|
@@ -1372,10 +1598,12 @@ main();
|
|
|
1372
1598
|
### brokerTool.determineExchangeFee(order, traderAddr) ⇒ <code>number</code>
|
|
1373
1599
|
<p>Determine exchange fee based on an order and a trader.
|
|
1374
1600
|
This is the fee charged by the exchange only, excluding the white-label partner fee,
|
|
1375
|
-
|
|
1601
|
+
For regular perpetuals, the result takes into account whether the order given here has been
|
|
1602
|
+
signed by a white-label partner or not.
|
|
1376
1603
|
Use this, for instance, to verify that the fee to be charged for a given order is as expected,
|
|
1377
1604
|
before and after signing it with brokerTool.signOrder.
|
|
1378
1605
|
This fee is equal or lower than the white-label partner induced fee, provided the order is properly signed.</p>
|
|
1606
|
+
<p>For prediction markets, the correct fee is to be applied as tradeamt * fee/s3.</p>
|
|
1379
1607
|
|
|
1380
1608
|
**Kind**: instance method of [<code>BrokerTool</code>](#BrokerTool)
|
|
1381
1609
|
**Returns**: <code>number</code> - <p>Fee in decimals (i.e. 0.1% is 0.001).</p>
|
|
@@ -1577,7 +1805,7 @@ to be routed through this white-label partner and benefits from the white-label
|
|
|
1577
1805
|
|
|
1578
1806
|
| Param | Type | Description |
|
|
1579
1807
|
| --- | --- | --- |
|
|
1580
|
-
| scOrder | <code>SmartContractOrder</code> | <p>Order to sign. It must contain valid white-label partner fee, white-label partner address, and order deadline.</p> |
|
|
1808
|
+
| scOrder | [<code>SmartContractOrder</code>](#SmartContractOrder) | <p>Order to sign. It must contain valid white-label partner fee, white-label partner address, and order deadline.</p> |
|
|
1581
1809
|
| traderAddr | <code>string</code> | <p>Address of trader submitting the order.</p> |
|
|
1582
1810
|
|
|
1583
1811
|
**Example**
|
|
@@ -1658,7 +1886,7 @@ about perpetual currencies</p>
|
|
|
1658
1886
|
|
|
1659
1887
|
**Kind**: instance method of [<code>BrokerTool</code>](#BrokerTool)
|
|
1660
1888
|
**Overrides**: [<code>setAllowance</code>](#WriteAccessHandler+setAllowance)
|
|
1661
|
-
**Returns**: <p>
|
|
1889
|
+
**Returns**: <p>Contract Transaction</p>
|
|
1662
1890
|
|
|
1663
1891
|
| Param | Description |
|
|
1664
1892
|
| --- | --- |
|
|
@@ -1701,6 +1929,19 @@ into a mock token used for trading on testnet, with a rate of 1:100_000</p>
|
|
|
1701
1929
|
| --- | --- |
|
|
1702
1930
|
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
1703
1931
|
|
|
1932
|
+
<a name="PerpetualDataHandler+getOrderBookAddress"></a>
|
|
1933
|
+
|
|
1934
|
+
### brokerTool.getOrderBookAddress(symbol) ⇒
|
|
1935
|
+
<p>Returns the order-book contract for the symbol if found or fails</p>
|
|
1936
|
+
|
|
1937
|
+
**Kind**: instance method of [<code>BrokerTool</code>](#BrokerTool)
|
|
1938
|
+
**Overrides**: [<code>getOrderBookAddress</code>](#PerpetualDataHandler+getOrderBookAddress)
|
|
1939
|
+
**Returns**: <p>order book contract for the perpetual</p>
|
|
1940
|
+
|
|
1941
|
+
| Param | Description |
|
|
1942
|
+
| --- | --- |
|
|
1943
|
+
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
1944
|
+
|
|
1704
1945
|
<a name="PerpetualDataHandler+getPerpetuals"></a>
|
|
1705
1946
|
|
|
1706
1947
|
### brokerTool.getPerpetuals(ids, overrides) ⇒
|
|
@@ -2058,6 +2299,19 @@ main();
|
|
|
2058
2299
|
| --- | --- |
|
|
2059
2300
|
| contract | <p>name of contract: proxy|lob|sharetoken</p> |
|
|
2060
2301
|
|
|
2302
|
+
<a name="PerpetualDataHandler+isPredictionMarket"></a>
|
|
2303
|
+
|
|
2304
|
+
### brokerTool.isPredictionMarket(symbol) ⇒
|
|
2305
|
+
<p>Determines whether a given perpetual represents a prediction market</p>
|
|
2306
|
+
|
|
2307
|
+
**Kind**: instance method of [<code>BrokerTool</code>](#BrokerTool)
|
|
2308
|
+
**Overrides**: [<code>isPredictionMarket</code>](#PerpetualDataHandler+isPredictionMarket)
|
|
2309
|
+
**Returns**: <p>True if this is a prediction market</p>
|
|
2310
|
+
|
|
2311
|
+
| Param | Description |
|
|
2312
|
+
| --- | --- |
|
|
2313
|
+
| symbol | <p>perpetual symbol of the form TRUMP24-USD-USDC</p> |
|
|
2314
|
+
|
|
2061
2315
|
<a name="LiquidatorTool"></a>
|
|
2062
2316
|
|
|
2063
2317
|
## LiquidatorTool ⇐ [<code>WriteAccessHandler</code>](#WriteAccessHandler)
|
|
@@ -2079,6 +2333,7 @@ and executes smart-contract interactions that require gas-payments.</p>
|
|
|
2079
2333
|
* [.getAddress()](#WriteAccessHandler+getAddress) ⇒ <code>string</code>
|
|
2080
2334
|
* [.swapForMockToken(symbol, amountToPay)](#WriteAccessHandler+swapForMockToken) ⇒
|
|
2081
2335
|
* [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
|
|
2336
|
+
* [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
|
|
2082
2337
|
* [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
|
|
2083
2338
|
* [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
|
|
2084
2339
|
* [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
|
|
@@ -2103,6 +2358,7 @@ and executes smart-contract interactions that require gas-payments.</p>
|
|
|
2103
2358
|
* [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
|
|
2104
2359
|
* [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
|
|
2105
2360
|
* [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
|
|
2361
|
+
* [.isPredictionMarket(symbol)](#PerpetualDataHandler+isPredictionMarket) ⇒
|
|
2106
2362
|
|
|
2107
2363
|
<a name="new_LiquidatorTool_new"></a>
|
|
2108
2364
|
|
|
@@ -2302,7 +2558,7 @@ about perpetual currencies</p>
|
|
|
2302
2558
|
|
|
2303
2559
|
**Kind**: instance method of [<code>LiquidatorTool</code>](#LiquidatorTool)
|
|
2304
2560
|
**Overrides**: [<code>setAllowance</code>](#WriteAccessHandler+setAllowance)
|
|
2305
|
-
**Returns**: <p>
|
|
2561
|
+
**Returns**: <p>Contract Transaction</p>
|
|
2306
2562
|
|
|
2307
2563
|
| Param | Description |
|
|
2308
2564
|
| --- | --- |
|
|
@@ -2345,6 +2601,19 @@ into a mock token used for trading on testnet, with a rate of 1:100_000</p>
|
|
|
2345
2601
|
| --- | --- |
|
|
2346
2602
|
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
2347
2603
|
|
|
2604
|
+
<a name="PerpetualDataHandler+getOrderBookAddress"></a>
|
|
2605
|
+
|
|
2606
|
+
### liquidatorTool.getOrderBookAddress(symbol) ⇒
|
|
2607
|
+
<p>Returns the order-book contract for the symbol if found or fails</p>
|
|
2608
|
+
|
|
2609
|
+
**Kind**: instance method of [<code>LiquidatorTool</code>](#LiquidatorTool)
|
|
2610
|
+
**Overrides**: [<code>getOrderBookAddress</code>](#PerpetualDataHandler+getOrderBookAddress)
|
|
2611
|
+
**Returns**: <p>order book contract for the perpetual</p>
|
|
2612
|
+
|
|
2613
|
+
| Param | Description |
|
|
2614
|
+
| --- | --- |
|
|
2615
|
+
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
2616
|
+
|
|
2348
2617
|
<a name="PerpetualDataHandler+getPerpetuals"></a>
|
|
2349
2618
|
|
|
2350
2619
|
### liquidatorTool.getPerpetuals(ids, overrides) ⇒
|
|
@@ -2702,6 +2971,19 @@ main();
|
|
|
2702
2971
|
| --- | --- |
|
|
2703
2972
|
| contract | <p>name of contract: proxy|lob|sharetoken</p> |
|
|
2704
2973
|
|
|
2974
|
+
<a name="PerpetualDataHandler+isPredictionMarket"></a>
|
|
2975
|
+
|
|
2976
|
+
### liquidatorTool.isPredictionMarket(symbol) ⇒
|
|
2977
|
+
<p>Determines whether a given perpetual represents a prediction market</p>
|
|
2978
|
+
|
|
2979
|
+
**Kind**: instance method of [<code>LiquidatorTool</code>](#LiquidatorTool)
|
|
2980
|
+
**Overrides**: [<code>isPredictionMarket</code>](#PerpetualDataHandler+isPredictionMarket)
|
|
2981
|
+
**Returns**: <p>True if this is a prediction market</p>
|
|
2982
|
+
|
|
2983
|
+
| Param | Description |
|
|
2984
|
+
| --- | --- |
|
|
2985
|
+
| symbol | <p>perpetual symbol of the form TRUMP24-USD-USDC</p> |
|
|
2986
|
+
|
|
2705
2987
|
<a name="LiquidityProviderTool"></a>
|
|
2706
2988
|
|
|
2707
2989
|
## LiquidityProviderTool ⇐ [<code>WriteAccessHandler</code>](#WriteAccessHandler)
|
|
@@ -2721,6 +3003,7 @@ smart-contract interactions that require gas-payments.</p>
|
|
|
2721
3003
|
* [.getAddress()](#WriteAccessHandler+getAddress) ⇒ <code>string</code>
|
|
2722
3004
|
* [.swapForMockToken(symbol, amountToPay)](#WriteAccessHandler+swapForMockToken) ⇒
|
|
2723
3005
|
* [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
|
|
3006
|
+
* [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
|
|
2724
3007
|
* [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
|
|
2725
3008
|
* [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
|
|
2726
3009
|
* [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
|
|
@@ -2745,6 +3028,7 @@ smart-contract interactions that require gas-payments.</p>
|
|
|
2745
3028
|
* [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
|
|
2746
3029
|
* [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
|
|
2747
3030
|
* [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
|
|
3031
|
+
* [.isPredictionMarket(symbol)](#PerpetualDataHandler+isPredictionMarket) ⇒
|
|
2748
3032
|
|
|
2749
3033
|
<a name="new_LiquidityProviderTool_new"></a>
|
|
2750
3034
|
|
|
@@ -2883,7 +3167,7 @@ about perpetual currencies</p>
|
|
|
2883
3167
|
|
|
2884
3168
|
**Kind**: instance method of [<code>LiquidityProviderTool</code>](#LiquidityProviderTool)
|
|
2885
3169
|
**Overrides**: [<code>setAllowance</code>](#WriteAccessHandler+setAllowance)
|
|
2886
|
-
**Returns**: <p>
|
|
3170
|
+
**Returns**: <p>Contract Transaction</p>
|
|
2887
3171
|
|
|
2888
3172
|
| Param | Description |
|
|
2889
3173
|
| --- | --- |
|
|
@@ -2926,6 +3210,19 @@ into a mock token used for trading on testnet, with a rate of 1:100_000</p>
|
|
|
2926
3210
|
| --- | --- |
|
|
2927
3211
|
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
2928
3212
|
|
|
3213
|
+
<a name="PerpetualDataHandler+getOrderBookAddress"></a>
|
|
3214
|
+
|
|
3215
|
+
### liquidityProviderTool.getOrderBookAddress(symbol) ⇒
|
|
3216
|
+
<p>Returns the order-book contract for the symbol if found or fails</p>
|
|
3217
|
+
|
|
3218
|
+
**Kind**: instance method of [<code>LiquidityProviderTool</code>](#LiquidityProviderTool)
|
|
3219
|
+
**Overrides**: [<code>getOrderBookAddress</code>](#PerpetualDataHandler+getOrderBookAddress)
|
|
3220
|
+
**Returns**: <p>order book contract for the perpetual</p>
|
|
3221
|
+
|
|
3222
|
+
| Param | Description |
|
|
3223
|
+
| --- | --- |
|
|
3224
|
+
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
3225
|
+
|
|
2929
3226
|
<a name="PerpetualDataHandler+getPerpetuals"></a>
|
|
2930
3227
|
|
|
2931
3228
|
### liquidityProviderTool.getPerpetuals(ids, overrides) ⇒
|
|
@@ -3283,6 +3580,19 @@ main();
|
|
|
3283
3580
|
| --- | --- |
|
|
3284
3581
|
| contract | <p>name of contract: proxy|lob|sharetoken</p> |
|
|
3285
3582
|
|
|
3583
|
+
<a name="PerpetualDataHandler+isPredictionMarket"></a>
|
|
3584
|
+
|
|
3585
|
+
### liquidityProviderTool.isPredictionMarket(symbol) ⇒
|
|
3586
|
+
<p>Determines whether a given perpetual represents a prediction market</p>
|
|
3587
|
+
|
|
3588
|
+
**Kind**: instance method of [<code>LiquidityProviderTool</code>](#LiquidityProviderTool)
|
|
3589
|
+
**Overrides**: [<code>isPredictionMarket</code>](#PerpetualDataHandler+isPredictionMarket)
|
|
3590
|
+
**Returns**: <p>True if this is a prediction market</p>
|
|
3591
|
+
|
|
3592
|
+
| Param | Description |
|
|
3593
|
+
| --- | --- |
|
|
3594
|
+
| symbol | <p>perpetual symbol of the form TRUMP24-USD-USDC</p> |
|
|
3595
|
+
|
|
3286
3596
|
<a name="MarketData"></a>
|
|
3287
3597
|
|
|
3288
3598
|
## MarketData ⇐ [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
|
|
@@ -3295,61 +3605,67 @@ No gas required for the queries here.</p>
|
|
|
3295
3605
|
|
|
3296
3606
|
* [MarketData](#MarketData) ⇐ [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
|
|
3297
3607
|
* [new MarketData(config)](#new_MarketData_new)
|
|
3298
|
-
*
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3608
|
+
* _instance_
|
|
3609
|
+
* [.createProxyInstance(providerOrMarketData)](#MarketData+createProxyInstance)
|
|
3610
|
+
* [.getProxyAddress()](#MarketData+getProxyAddress) ⇒ <code>string</code>
|
|
3611
|
+
* [.getTriangulations()](#MarketData+getTriangulations) ⇒
|
|
3612
|
+
* [.smartContractOrderToOrder(smOrder)](#MarketData+smartContractOrderToOrder) ⇒ <code>Order</code>
|
|
3613
|
+
* [.getReadOnlyProxyInstance()](#MarketData+getReadOnlyProxyInstance) ⇒
|
|
3614
|
+
* [.exchangeInfo()](#MarketData+exchangeInfo) ⇒ [<code>ExchangeInfo</code>](#ExchangeInfo)
|
|
3615
|
+
* [.openOrders(traderAddr, symbol)](#MarketData+openOrders) ⇒
|
|
3616
|
+
* [.positionRisk(traderAddr, symbol)](#MarketData+positionRisk) ⇒ <code>Array.<MarginAccount></code>
|
|
3617
|
+
* [.positionRiskOnTrade(traderAddr, order, signedPositionNotionalBaseCCY, tradingFeeTbps, indexPriceInfo)](#MarketData+positionRiskOnTrade) ⇒
|
|
3618
|
+
* [.positionRiskOnCollateralAction(deltaCollateral, account)](#MarketData+positionRiskOnCollateralAction) ⇒ <code>MarginAccount</code>
|
|
3619
|
+
* [.getWalletBalance(address, symbol)](#MarketData+getWalletBalance) ⇒
|
|
3620
|
+
* [.getPoolShareTokenBalance(address, symbolOrId)](#MarketData+getPoolShareTokenBalance) ⇒ <code>number</code>
|
|
3621
|
+
* [.getShareTokenPrice(symbolOrId)](#MarketData+getShareTokenPrice) ⇒ <code>number</code>
|
|
3622
|
+
* [.getParticipationValue(address, symbolOrId)](#MarketData+getParticipationValue) ⇒
|
|
3623
|
+
* [.maxOrderSizeForTrader(traderAddr, symbol)](#MarketData+maxOrderSizeForTrader) ⇒
|
|
3624
|
+
* [.getMaxShortLongPos(perpId, currentTraderPos, overrides)](#MarketData+getMaxShortLongPos) ⇒
|
|
3625
|
+
* [.maxSignedPosition(side, symbol)](#MarketData+maxSignedPosition) ⇒ <code>number</code>
|
|
3626
|
+
* [.getOraclePrice(base, quote)](#MarketData+getOraclePrice) ⇒ <code>number</code>
|
|
3627
|
+
* [.getOrderStatus(symbol, orderId, overrides)](#MarketData+getOrderStatus) ⇒
|
|
3628
|
+
* [.getOrdersStatus(symbol, orderId)](#MarketData+getOrdersStatus) ⇒
|
|
3629
|
+
* [.getMarkPrice(symbol, indexPrices)](#MarketData+getMarkPrice) ⇒ <code>number</code>
|
|
3630
|
+
* [.getPerpetualPrice(symbol, quantity, priceInfo)](#MarketData+getPerpetualPrice) ⇒ <code>number</code>
|
|
3631
|
+
* [.getPerpetualState(symbol)](#MarketData+getPerpetualState) ⇒ <code>PerpetualState</code>
|
|
3632
|
+
* [.getPoolState(poolSymbol)](#MarketData+getPoolState) ⇒ [<code>PoolState</code>](#PoolState)
|
|
3633
|
+
* [.getPerpetualStaticInfo(symbol)](#MarketData+getPerpetualStaticInfo) ⇒ <code>PerpetualStaticInfo</code>
|
|
3634
|
+
* [.getPerpetualMidPrice(symbol)](#MarketData+getPerpetualMidPrice) ⇒ <code>number</code>
|
|
3635
|
+
* [.getAvailableMargin(traderAddr, symbol, indexPrices)](#MarketData+getAvailableMargin) ⇒
|
|
3636
|
+
* [.getTraderLoyalityScore(traderAddr)](#MarketData+getTraderLoyalityScore) ⇒ <code>number</code>
|
|
3637
|
+
* [.isMarketClosed(symbol)](#MarketData+isMarketClosed) ⇒ <code>boolean</code>
|
|
3638
|
+
* [.getPriceInUSD(symbol)](#MarketData+getPriceInUSD) ⇒ <code>Map.<string, number></code>
|
|
3639
|
+
* [.fetchPricesForPerpetual(symbol)](#MarketData+fetchPricesForPerpetual) ⇒
|
|
3640
|
+
* [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
|
|
3641
|
+
* [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
|
|
3642
|
+
* [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
|
|
3643
|
+
* [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
|
|
3644
|
+
* [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
|
|
3645
|
+
* [.initSettlementToken(perpStaticInfos)](#PerpetualDataHandler+initSettlementToken)
|
|
3646
|
+
* [.getSymbolFromPoolId(poolId)](#PerpetualDataHandler+getSymbolFromPoolId) ⇒ <code>symbol</code>
|
|
3647
|
+
* [.getPoolIdFromSymbol(symbol)](#PerpetualDataHandler+getPoolIdFromSymbol) ⇒ <code>number</code>
|
|
3648
|
+
* [.getPerpIdFromSymbol(symbol)](#PerpetualDataHandler+getPerpIdFromSymbol) ⇒ <code>number</code>
|
|
3649
|
+
* [.getSymbolFromPerpId(perpId)](#PerpetualDataHandler+getSymbolFromPerpId) ⇒ <code>string</code>
|
|
3650
|
+
* [.symbol4BToLongSymbol(sym)](#PerpetualDataHandler+symbol4BToLongSymbol) ⇒ <code>string</code>
|
|
3651
|
+
* [.fetchPriceSubmissionInfoForPerpetual(symbol)](#PerpetualDataHandler+fetchPriceSubmissionInfoForPerpetual) ⇒
|
|
3652
|
+
* [.getIndexSymbols(symbol)](#PerpetualDataHandler+getIndexSymbols) ⇒
|
|
3653
|
+
* [.fetchLatestFeedPriceInfo(symbol)](#PerpetualDataHandler+fetchLatestFeedPriceInfo) ⇒
|
|
3654
|
+
* [.fetchCollateralToSettlementConversion(symbol)](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
|
|
3655
|
+
* [.getPriceIds(symbol)](#PerpetualDataHandler+getPriceIds) ⇒
|
|
3656
|
+
* [.getPerpetualSymbolsInPool(poolSymbol)](#PerpetualDataHandler+getPerpetualSymbolsInPool) ⇒
|
|
3657
|
+
* [.getAllOpenOrders(symbol)](#PerpetualDataHandler+getAllOpenOrders) ⇒
|
|
3658
|
+
* [.numberOfOpenOrders(symbol)](#PerpetualDataHandler+numberOfOpenOrders) ⇒ <code>number</code>
|
|
3659
|
+
* [.pollLimitOrders(symbol, numElements, [startAfter])](#PerpetualDataHandler+pollLimitOrders) ⇒
|
|
3660
|
+
* [.getPoolStaticInfoIndexFromSymbol(symbol)](#PerpetualDataHandler+getPoolStaticInfoIndexFromSymbol) ⇒
|
|
3661
|
+
* [.getMarginTokenFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenFromSymbol) ⇒
|
|
3662
|
+
* [.getSettlementTokenFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenFromSymbol) ⇒
|
|
3663
|
+
* [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
|
|
3664
|
+
* [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
|
|
3665
|
+
* [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
|
|
3666
|
+
* [.isPredictionMarket(symbol)](#PerpetualDataHandler+isPredictionMarket) ⇒
|
|
3667
|
+
* _static_
|
|
3668
|
+
* [.exchangeFeePrdMkts(state, maxMaintMgnRate, Sm, tradeAmtBC, tradeMgnRate)](#MarketData.exchangeFeePrdMkts) ⇒
|
|
3353
3669
|
|
|
3354
3670
|
<a name="new_MarketData_new"></a>
|
|
3355
3671
|
|
|
@@ -3412,15 +3728,15 @@ about perpetual currencies</p>
|
|
|
3412
3728
|
|
|
3413
3729
|
| Param | Type | Description |
|
|
3414
3730
|
| --- | --- | --- |
|
|
3415
|
-
| smOrder | <code>SmartContractOrder</code> | <p>SmartContractOrder, as obtained e.g., by PerpetualLimitOrderCreated event</p> |
|
|
3731
|
+
| smOrder | [<code>SmartContractOrder</code>](#SmartContractOrder) | <p>SmartContractOrder, as obtained e.g., by PerpetualLimitOrderCreated event</p> |
|
|
3416
3732
|
|
|
3417
3733
|
<a name="MarketData+getReadOnlyProxyInstance"></a>
|
|
3418
3734
|
|
|
3419
|
-
### marketData.getReadOnlyProxyInstance() ⇒
|
|
3735
|
+
### marketData.getReadOnlyProxyInstance() ⇒
|
|
3420
3736
|
<p>Get contract instance. Useful for event listening.</p>
|
|
3421
3737
|
|
|
3422
3738
|
**Kind**: instance method of [<code>MarketData</code>](#MarketData)
|
|
3423
|
-
**Returns**: <
|
|
3739
|
+
**Returns**: <p>read-only proxy instance</p>
|
|
3424
3740
|
**Example**
|
|
3425
3741
|
```js
|
|
3426
3742
|
import { MarketData, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
@@ -3438,11 +3754,11 @@ main();
|
|
|
3438
3754
|
```
|
|
3439
3755
|
<a name="MarketData+exchangeInfo"></a>
|
|
3440
3756
|
|
|
3441
|
-
### marketData.exchangeInfo() ⇒ <code>ExchangeInfo</code>
|
|
3757
|
+
### marketData.exchangeInfo() ⇒ [<code>ExchangeInfo</code>](#ExchangeInfo)
|
|
3442
3758
|
<p>Information about the products traded in the exchange.</p>
|
|
3443
3759
|
|
|
3444
3760
|
**Kind**: instance method of [<code>MarketData</code>](#MarketData)
|
|
3445
|
-
**Returns**: <code>ExchangeInfo</code> - <p>Array of static data for all the pools and perpetuals in the system.</p>
|
|
3761
|
+
**Returns**: [<code>ExchangeInfo</code>](#ExchangeInfo) - <p>Array of static data for all the pools and perpetuals in the system.</p>
|
|
3446
3762
|
**Example**
|
|
3447
3763
|
```js
|
|
3448
3764
|
import { MarketData, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
@@ -3519,7 +3835,7 @@ main();
|
|
|
3519
3835
|
```
|
|
3520
3836
|
<a name="MarketData+positionRiskOnTrade"></a>
|
|
3521
3837
|
|
|
3522
|
-
### marketData.positionRiskOnTrade(traderAddr, order,
|
|
3838
|
+
### marketData.positionRiskOnTrade(traderAddr, order, signedPositionNotionalBaseCCY, tradingFeeTbps, indexPriceInfo) ⇒
|
|
3523
3839
|
<p>Estimates what the position risk will be if a given order is executed.</p>
|
|
3524
3840
|
|
|
3525
3841
|
**Kind**: instance method of [<code>MarketData</code>](#MarketData)
|
|
@@ -3529,7 +3845,8 @@ main();
|
|
|
3529
3845
|
| --- | --- |
|
|
3530
3846
|
| traderAddr | <p>Address of trader</p> |
|
|
3531
3847
|
| order | <p>Order to be submitted</p> |
|
|
3532
|
-
|
|
|
3848
|
+
| signedPositionNotionalBaseCCY | <p>signed position notional of current position (before trade)</p> |
|
|
3849
|
+
| tradingFeeTbps | <p>trading fee in tenth of basis points (exchange fee and broker fee)</p> |
|
|
3533
3850
|
| indexPriceInfo | <p>Index prices and market status (open/closed). Defaults to current market status if not given.</p> |
|
|
3534
3851
|
|
|
3535
3852
|
**Example**
|
|
@@ -3550,7 +3867,7 @@ async function main() {
|
|
|
3550
3867
|
executionTimestamp: Date.now()/1000,
|
|
3551
3868
|
};
|
|
3552
3869
|
// Get position risk conditional on this order being executed
|
|
3553
|
-
const posRisk = await mktData.positionRiskOnTrade("0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B", order);
|
|
3870
|
+
const posRisk = await mktData.positionRiskOnTrade("0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B", order, 0, 60);
|
|
3554
3871
|
console.log(posRisk);
|
|
3555
3872
|
}
|
|
3556
3873
|
main();
|
|
@@ -3728,6 +4045,21 @@ async function main() {
|
|
|
3728
4045
|
}
|
|
3729
4046
|
main();
|
|
3730
4047
|
```
|
|
4048
|
+
<a name="MarketData+getMaxShortLongPos"></a>
|
|
4049
|
+
|
|
4050
|
+
### marketData.getMaxShortLongPos(perpId, currentTraderPos, overrides) ⇒
|
|
4051
|
+
<p>Returns the maximal allowed short pos and long pos (signed) for a trader
|
|
4052
|
+
with given notional (in ABDK format) in the perpetual, ignoring the traders wallet balance</p>
|
|
4053
|
+
|
|
4054
|
+
**Kind**: instance method of [<code>MarketData</code>](#MarketData)
|
|
4055
|
+
**Returns**: <p>[maxShortPos, maxLongPos] signed maximal position sizes</p>
|
|
4056
|
+
|
|
4057
|
+
| Param | Description |
|
|
4058
|
+
| --- | --- |
|
|
4059
|
+
| perpId | |
|
|
4060
|
+
| currentTraderPos | <p>ABDK64x64 notional position of trader</p> |
|
|
4061
|
+
| overrides | |
|
|
4062
|
+
|
|
3731
4063
|
<a name="MarketData+maxSignedPosition"></a>
|
|
3732
4064
|
|
|
3733
4065
|
### marketData.maxSignedPosition(side, symbol) ⇒ <code>number</code>
|
|
@@ -3843,7 +4175,7 @@ main();
|
|
|
3843
4175
|
```
|
|
3844
4176
|
<a name="MarketData+getMarkPrice"></a>
|
|
3845
4177
|
|
|
3846
|
-
### marketData.getMarkPrice(symbol) ⇒ <code>number</code>
|
|
4178
|
+
### marketData.getMarkPrice(symbol, indexPrices) ⇒ <code>number</code>
|
|
3847
4179
|
<p>Get the current mark price</p>
|
|
3848
4180
|
|
|
3849
4181
|
**Kind**: instance method of [<code>MarketData</code>](#MarketData)
|
|
@@ -3852,6 +4184,7 @@ main();
|
|
|
3852
4184
|
| Param | Description |
|
|
3853
4185
|
| --- | --- |
|
|
3854
4186
|
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
4187
|
+
| indexPrices | <p>optional. IdxPriceInfo</p> |
|
|
3855
4188
|
|
|
3856
4189
|
**Example**
|
|
3857
4190
|
```js
|
|
@@ -3870,7 +4203,7 @@ main();
|
|
|
3870
4203
|
```
|
|
3871
4204
|
<a name="MarketData+getPerpetualPrice"></a>
|
|
3872
4205
|
|
|
3873
|
-
### marketData.getPerpetualPrice(symbol, quantity) ⇒ <code>number</code>
|
|
4206
|
+
### marketData.getPerpetualPrice(symbol, quantity, priceInfo) ⇒ <code>number</code>
|
|
3874
4207
|
<p>get the current price for a given quantity</p>
|
|
3875
4208
|
|
|
3876
4209
|
**Kind**: instance method of [<code>MarketData</code>](#MarketData)
|
|
@@ -3880,6 +4213,7 @@ main();
|
|
|
3880
4213
|
| --- | --- |
|
|
3881
4214
|
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
3882
4215
|
| quantity | <p>quantity to be traded, negative if short</p> |
|
|
4216
|
+
| priceInfo | <p>[s2, s3, conf, params]; for non-prediction markets conf/params can be 0</p> |
|
|
3883
4217
|
|
|
3884
4218
|
**Example**
|
|
3885
4219
|
```js
|
|
@@ -3910,11 +4244,11 @@ main();
|
|
|
3910
4244
|
|
|
3911
4245
|
<a name="MarketData+getPoolState"></a>
|
|
3912
4246
|
|
|
3913
|
-
### marketData.getPoolState(poolSymbol) ⇒ <code>PoolState</code>
|
|
4247
|
+
### marketData.getPoolState(poolSymbol) ⇒ [<code>PoolState</code>](#PoolState)
|
|
3914
4248
|
<p>Query recent pool state from blockchain, not including perpetual states</p>
|
|
3915
4249
|
|
|
3916
4250
|
**Kind**: instance method of [<code>MarketData</code>](#MarketData)
|
|
3917
|
-
**Returns**: <code>PoolState</code> - <p>PoolState copy</p>
|
|
4251
|
+
**Returns**: [<code>PoolState</code>](#PoolState) - <p>PoolState copy</p>
|
|
3918
4252
|
|
|
3919
4253
|
| Param | Type | Description |
|
|
3920
4254
|
| --- | --- | --- |
|
|
@@ -3973,7 +4307,7 @@ Result is in collateral currency</p>
|
|
|
3973
4307
|
| --- | --- | --- |
|
|
3974
4308
|
| traderAddr | <code>string</code> | <p>address of the trader</p> |
|
|
3975
4309
|
| symbol | <code>string</code> | <p>perpetual symbol of the form BTC-USD-MATIC</p> |
|
|
3976
|
-
| indexPrices | | <p>optional
|
|
4310
|
+
| indexPrices | | <p>optional indexPriceInfo</p> |
|
|
3977
4311
|
|
|
3978
4312
|
**Example**
|
|
3979
4313
|
```js
|
|
@@ -4096,6 +4430,19 @@ main();
|
|
|
4096
4430
|
| --- | --- |
|
|
4097
4431
|
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
4098
4432
|
|
|
4433
|
+
<a name="PerpetualDataHandler+getOrderBookAddress"></a>
|
|
4434
|
+
|
|
4435
|
+
### marketData.getOrderBookAddress(symbol) ⇒
|
|
4436
|
+
<p>Returns the order-book contract for the symbol if found or fails</p>
|
|
4437
|
+
|
|
4438
|
+
**Kind**: instance method of [<code>MarketData</code>](#MarketData)
|
|
4439
|
+
**Overrides**: [<code>getOrderBookAddress</code>](#PerpetualDataHandler+getOrderBookAddress)
|
|
4440
|
+
**Returns**: <p>order book contract for the perpetual</p>
|
|
4441
|
+
|
|
4442
|
+
| Param | Description |
|
|
4443
|
+
| --- | --- |
|
|
4444
|
+
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
4445
|
+
|
|
4099
4446
|
<a name="PerpetualDataHandler+getPerpetuals"></a>
|
|
4100
4447
|
|
|
4101
4448
|
### marketData.getPerpetuals(ids, overrides) ⇒
|
|
@@ -4453,6 +4800,35 @@ main();
|
|
|
4453
4800
|
| --- | --- |
|
|
4454
4801
|
| contract | <p>name of contract: proxy|lob|sharetoken</p> |
|
|
4455
4802
|
|
|
4803
|
+
<a name="PerpetualDataHandler+isPredictionMarket"></a>
|
|
4804
|
+
|
|
4805
|
+
### marketData.isPredictionMarket(symbol) ⇒
|
|
4806
|
+
<p>Determines whether a given perpetual represents a prediction market</p>
|
|
4807
|
+
|
|
4808
|
+
**Kind**: instance method of [<code>MarketData</code>](#MarketData)
|
|
4809
|
+
**Overrides**: [<code>isPredictionMarket</code>](#PerpetualDataHandler+isPredictionMarket)
|
|
4810
|
+
**Returns**: <p>True if this is a prediction market</p>
|
|
4811
|
+
|
|
4812
|
+
| Param | Description |
|
|
4813
|
+
| --- | --- |
|
|
4814
|
+
| symbol | <p>perpetual symbol of the form TRUMP24-USD-USDC</p> |
|
|
4815
|
+
|
|
4816
|
+
<a name="MarketData.exchangeFeePrdMkts"></a>
|
|
4817
|
+
|
|
4818
|
+
### MarketData.exchangeFeePrdMkts(state, maxMaintMgnRate, Sm, tradeAmtBC, tradeMgnRate) ⇒
|
|
4819
|
+
<p>Fee is relative to base-currency amount (=trade amount)</p>
|
|
4820
|
+
|
|
4821
|
+
**Kind**: static method of [<code>MarketData</code>](#MarketData)
|
|
4822
|
+
**Returns**: <p>relative exchange fee in decimals</p>
|
|
4823
|
+
|
|
4824
|
+
| Param | Description |
|
|
4825
|
+
| --- | --- |
|
|
4826
|
+
| state | <p>current perpetual state (need longBC and shortBC)</p> |
|
|
4827
|
+
| maxMaintMgnRate | <p>maintenance margin rate param for pred mkts</p> |
|
|
4828
|
+
| Sm | <p>Mark price</p> |
|
|
4829
|
+
| tradeAmtBC | <p>signed trade amount</p> |
|
|
4830
|
+
| tradeMgnRate | <p>margin rate param from perpetual</p> |
|
|
4831
|
+
|
|
4456
4832
|
<a name="OnChainPxFeed"></a>
|
|
4457
4833
|
|
|
4458
4834
|
## OnChainPxFeed
|
|
@@ -4495,6 +4871,7 @@ gas-payments.</p>
|
|
|
4495
4871
|
* [.getAddress()](#WriteAccessHandler+getAddress) ⇒ <code>string</code>
|
|
4496
4872
|
* [.swapForMockToken(symbol, amountToPay)](#WriteAccessHandler+swapForMockToken) ⇒
|
|
4497
4873
|
* [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
|
|
4874
|
+
* [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
|
|
4498
4875
|
* [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
|
|
4499
4876
|
* [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
|
|
4500
4877
|
* [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
|
|
@@ -4519,6 +4896,7 @@ gas-payments.</p>
|
|
|
4519
4896
|
* [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
|
|
4520
4897
|
* [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
|
|
4521
4898
|
* [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
|
|
4899
|
+
* [.isPredictionMarket(symbol)](#PerpetualDataHandler+isPredictionMarket) ⇒
|
|
4522
4900
|
|
|
4523
4901
|
<a name="new_OrderExecutorTool_new"></a>
|
|
4524
4902
|
|
|
@@ -4764,7 +5142,7 @@ about perpetual currencies</p>
|
|
|
4764
5142
|
|
|
4765
5143
|
**Kind**: instance method of [<code>OrderExecutorTool</code>](#OrderExecutorTool)
|
|
4766
5144
|
**Overrides**: [<code>setAllowance</code>](#WriteAccessHandler+setAllowance)
|
|
4767
|
-
**Returns**: <p>
|
|
5145
|
+
**Returns**: <p>Contract Transaction</p>
|
|
4768
5146
|
|
|
4769
5147
|
| Param | Description |
|
|
4770
5148
|
| --- | --- |
|
|
@@ -4807,6 +5185,19 @@ into a mock token used for trading on testnet, with a rate of 1:100_000</p>
|
|
|
4807
5185
|
| --- | --- |
|
|
4808
5186
|
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
4809
5187
|
|
|
5188
|
+
<a name="PerpetualDataHandler+getOrderBookAddress"></a>
|
|
5189
|
+
|
|
5190
|
+
### orderExecutorTool.getOrderBookAddress(symbol) ⇒
|
|
5191
|
+
<p>Returns the order-book contract for the symbol if found or fails</p>
|
|
5192
|
+
|
|
5193
|
+
**Kind**: instance method of [<code>OrderExecutorTool</code>](#OrderExecutorTool)
|
|
5194
|
+
**Overrides**: [<code>getOrderBookAddress</code>](#PerpetualDataHandler+getOrderBookAddress)
|
|
5195
|
+
**Returns**: <p>order book contract for the perpetual</p>
|
|
5196
|
+
|
|
5197
|
+
| Param | Description |
|
|
5198
|
+
| --- | --- |
|
|
5199
|
+
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
5200
|
+
|
|
4810
5201
|
<a name="PerpetualDataHandler+getPerpetuals"></a>
|
|
4811
5202
|
|
|
4812
5203
|
### orderExecutorTool.getPerpetuals(ids, overrides) ⇒
|
|
@@ -5164,6 +5555,19 @@ main();
|
|
|
5164
5555
|
| --- | --- |
|
|
5165
5556
|
| contract | <p>name of contract: proxy|lob|sharetoken</p> |
|
|
5166
5557
|
|
|
5558
|
+
<a name="PerpetualDataHandler+isPredictionMarket"></a>
|
|
5559
|
+
|
|
5560
|
+
### orderExecutorTool.isPredictionMarket(symbol) ⇒
|
|
5561
|
+
<p>Determines whether a given perpetual represents a prediction market</p>
|
|
5562
|
+
|
|
5563
|
+
**Kind**: instance method of [<code>OrderExecutorTool</code>](#OrderExecutorTool)
|
|
5564
|
+
**Overrides**: [<code>isPredictionMarket</code>](#PerpetualDataHandler+isPredictionMarket)
|
|
5565
|
+
**Returns**: <p>True if this is a prediction market</p>
|
|
5566
|
+
|
|
5567
|
+
| Param | Description |
|
|
5568
|
+
| --- | --- |
|
|
5569
|
+
| symbol | <p>perpetual symbol of the form TRUMP24-USD-USDC</p> |
|
|
5570
|
+
|
|
5167
5571
|
<a name="PerpetualDataHandler"></a>
|
|
5168
5572
|
|
|
5169
5573
|
## PerpetualDataHandler
|
|
@@ -5176,6 +5580,7 @@ common data and chain operations.</p>
|
|
|
5176
5580
|
* [new PerpetualDataHandler(config)](#new_PerpetualDataHandler_new)
|
|
5177
5581
|
* _instance_
|
|
5178
5582
|
* [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
|
|
5583
|
+
* [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
|
|
5179
5584
|
* [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
|
|
5180
5585
|
* [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
|
|
5181
5586
|
* [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
|
|
@@ -5200,13 +5605,16 @@ common data and chain operations.</p>
|
|
|
5200
5605
|
* [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
|
|
5201
5606
|
* [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
|
|
5202
5607
|
* [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
|
|
5608
|
+
* [.isPredictionMarket(symbol)](#PerpetualDataHandler+isPredictionMarket) ⇒
|
|
5203
5609
|
* _static_
|
|
5204
5610
|
* [.getPerpetualStaticInfo(_proxyContract, nestedPerpetualIDs, symbolList)](#PerpetualDataHandler.getPerpetualStaticInfo) ⇒
|
|
5205
5611
|
* [.nestedIDsToChunks(chunkSize, nestedIDs)](#PerpetualDataHandler.nestedIDsToChunks) ⇒ <code>Array.<Array.<number>></code>
|
|
5206
5612
|
* [._getLiquidityPools(ids, _proxyContract, _symbolList, overrides)](#PerpetualDataHandler._getLiquidityPools) ⇒
|
|
5207
5613
|
* [._getPerpetuals(ids, _proxyContract, _symbolList, overrides)](#PerpetualDataHandler._getPerpetuals) ⇒
|
|
5208
|
-
* [.getMarginAccount(traderAddr, symbol, symbolToPerpStaticInfo, _proxyContract,
|
|
5209
|
-
* [.getMarginAccounts(traderAddrs, symbols, symbolToPerpStaticInfo, _multicall, _proxyContract,
|
|
5614
|
+
* [.getMarginAccount(traderAddr, symbol, symbolToPerpStaticInfo, _proxyContract, _pxInfo, overrides)](#PerpetualDataHandler.getMarginAccount) ⇒
|
|
5615
|
+
* [.getMarginAccounts(traderAddrs, symbols, symbolToPerpStaticInfo, _multicall, _proxyContract, _pxInfo, overrides)](#PerpetualDataHandler.getMarginAccounts) ⇒
|
|
5616
|
+
* [._queryPerpetualMarkPrice(symbol, symbolToPerpStaticInfo, _proxyContract, indexPrices, isPredMkt, overrides)](#PerpetualDataHandler._queryPerpetualMarkPrice) ⇒
|
|
5617
|
+
* [._oiAndAmmPosToLongShort(oi, ammPos)](#PerpetualDataHandler._oiAndAmmPosToLongShort) ⇒
|
|
5210
5618
|
* [._calculateLiquidationPrice(symbol, traderState, S2, symbolToPerpStaticInfo)](#PerpetualDataHandler._calculateLiquidationPrice) ⇒
|
|
5211
5619
|
* [.symbolToPerpetualId(symbol, symbolToPerpStaticInfo)](#PerpetualDataHandler.symbolToPerpetualId) ⇒
|
|
5212
5620
|
* [.toSmartContractOrder(order, traderAddr, symbolToPerpetualMap)](#PerpetualDataHandler.toSmartContractOrder) ⇒
|
|
@@ -5222,6 +5630,7 @@ common data and chain operations.</p>
|
|
|
5222
5630
|
* [._getABIFromContract(contract, functionName)](#PerpetualDataHandler._getABIFromContract) ⇒
|
|
5223
5631
|
* [.checkOrder(order, traderAccount, perpStaticInfo)](#PerpetualDataHandler.checkOrder)
|
|
5224
5632
|
* [.fromClientOrderToTypeSafeOrder(order)](#PerpetualDataHandler.fromClientOrderToTypeSafeOrder) ⇒
|
|
5633
|
+
* [.isPredictionMarketStatic(staticInfo)](#PerpetualDataHandler.isPredictionMarketStatic) ⇒
|
|
5225
5634
|
|
|
5226
5635
|
<a name="new_PerpetualDataHandler_new"></a>
|
|
5227
5636
|
|
|
@@ -5245,6 +5654,18 @@ common data and chain operations.</p>
|
|
|
5245
5654
|
| --- | --- |
|
|
5246
5655
|
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
5247
5656
|
|
|
5657
|
+
<a name="PerpetualDataHandler+getOrderBookAddress"></a>
|
|
5658
|
+
|
|
5659
|
+
### perpetualDataHandler.getOrderBookAddress(symbol) ⇒
|
|
5660
|
+
<p>Returns the order-book contract for the symbol if found or fails</p>
|
|
5661
|
+
|
|
5662
|
+
**Kind**: instance method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
|
|
5663
|
+
**Returns**: <p>order book contract for the perpetual</p>
|
|
5664
|
+
|
|
5665
|
+
| Param | Description |
|
|
5666
|
+
| --- | --- |
|
|
5667
|
+
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
5668
|
+
|
|
5248
5669
|
<a name="PerpetualDataHandler+getPerpetuals"></a>
|
|
5249
5670
|
|
|
5250
5671
|
### perpetualDataHandler.getPerpetuals(ids, overrides) ⇒
|
|
@@ -5578,6 +5999,18 @@ main();
|
|
|
5578
5999
|
| --- | --- |
|
|
5579
6000
|
| contract | <p>name of contract: proxy|lob|sharetoken</p> |
|
|
5580
6001
|
|
|
6002
|
+
<a name="PerpetualDataHandler+isPredictionMarket"></a>
|
|
6003
|
+
|
|
6004
|
+
### perpetualDataHandler.isPredictionMarket(symbol) ⇒
|
|
6005
|
+
<p>Determines whether a given perpetual represents a prediction market</p>
|
|
6006
|
+
|
|
6007
|
+
**Kind**: instance method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
|
|
6008
|
+
**Returns**: <p>True if this is a prediction market</p>
|
|
6009
|
+
|
|
6010
|
+
| Param | Description |
|
|
6011
|
+
| --- | --- |
|
|
6012
|
+
| symbol | <p>perpetual symbol of the form TRUMP24-USD-USDC</p> |
|
|
6013
|
+
|
|
5581
6014
|
<a name="PerpetualDataHandler.getPerpetualStaticInfo"></a>
|
|
5582
6015
|
|
|
5583
6016
|
### PerpetualDataHandler.getPerpetualStaticInfo(_proxyContract, nestedPerpetualIDs, symbolList) ⇒
|
|
@@ -5637,7 +6070,7 @@ main();
|
|
|
5637
6070
|
|
|
5638
6071
|
<a name="PerpetualDataHandler.getMarginAccount"></a>
|
|
5639
6072
|
|
|
5640
|
-
### PerpetualDataHandler.getMarginAccount(traderAddr, symbol, symbolToPerpStaticInfo, _proxyContract,
|
|
6073
|
+
### PerpetualDataHandler.getMarginAccount(traderAddr, symbol, symbolToPerpStaticInfo, _proxyContract, _pxInfo, overrides) ⇒
|
|
5641
6074
|
<p>Get trader state from the blockchain and parse into a human-readable margin account</p>
|
|
5642
6075
|
|
|
5643
6076
|
**Kind**: static method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
|
|
@@ -5649,12 +6082,12 @@ main();
|
|
|
5649
6082
|
| symbol | <p>Perpetual symbol</p> |
|
|
5650
6083
|
| symbolToPerpStaticInfo | <p>Symbol to perp static info mapping</p> |
|
|
5651
6084
|
| _proxyContract | <p>Proxy contract instance</p> |
|
|
5652
|
-
|
|
|
6085
|
+
| _pxInfo | <p>index price info</p> |
|
|
5653
6086
|
| overrides | <p>Optional overrides for eth_call</p> |
|
|
5654
6087
|
|
|
5655
6088
|
<a name="PerpetualDataHandler.getMarginAccounts"></a>
|
|
5656
6089
|
|
|
5657
|
-
### PerpetualDataHandler.getMarginAccounts(traderAddrs, symbols, symbolToPerpStaticInfo, _multicall, _proxyContract,
|
|
6090
|
+
### PerpetualDataHandler.getMarginAccounts(traderAddrs, symbols, symbolToPerpStaticInfo, _multicall, _proxyContract, _pxInfo, overrides) ⇒
|
|
5658
6091
|
<p>Get trader states from the blockchain and parse into a list of human-readable margin accounts</p>
|
|
5659
6092
|
|
|
5660
6093
|
**Kind**: static method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
|
|
@@ -5667,9 +6100,37 @@ main();
|
|
|
5667
6100
|
| symbolToPerpStaticInfo | <p>Symbol to perp static info mapping</p> |
|
|
5668
6101
|
| _multicall | <p>Multicall3 contract instance</p> |
|
|
5669
6102
|
| _proxyContract | <p>Proxy contract instance</p> |
|
|
5670
|
-
|
|
|
6103
|
+
| _pxInfo | <p>List of price info</p> |
|
|
5671
6104
|
| overrides | <p>Optional eth_call overrides</p> |
|
|
5672
6105
|
|
|
6106
|
+
<a name="PerpetualDataHandler._queryPerpetualMarkPrice"></a>
|
|
6107
|
+
|
|
6108
|
+
### PerpetualDataHandler.\_queryPerpetualMarkPrice(symbol, symbolToPerpStaticInfo, _proxyContract, indexPrices, isPredMkt, overrides) ⇒
|
|
6109
|
+
**Kind**: static method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
|
|
6110
|
+
**Returns**: <p>mark price</p>
|
|
6111
|
+
|
|
6112
|
+
| Param | Description |
|
|
6113
|
+
| --- | --- |
|
|
6114
|
+
| symbol | <p>perpetual symbol of the form BTC-USDC-USDC</p> |
|
|
6115
|
+
| symbolToPerpStaticInfo | <p>mapping</p> |
|
|
6116
|
+
| _proxyContract | <p>contract instance</p> |
|
|
6117
|
+
| indexPrices | <p>IdxPriceInfo</p> |
|
|
6118
|
+
| isPredMkt | <p>true if prediction market perpetual</p> |
|
|
6119
|
+
| overrides | |
|
|
6120
|
+
|
|
6121
|
+
<a name="PerpetualDataHandler._oiAndAmmPosToLongShort"></a>
|
|
6122
|
+
|
|
6123
|
+
### PerpetualDataHandler.\_oiAndAmmPosToLongShort(oi, ammPos) ⇒
|
|
6124
|
+
<p>Calculate long and short exposures from open interest and long/short</p>
|
|
6125
|
+
|
|
6126
|
+
**Kind**: static method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
|
|
6127
|
+
**Returns**: <p>long, short exposure</p>
|
|
6128
|
+
|
|
6129
|
+
| Param | Description |
|
|
6130
|
+
| --- | --- |
|
|
6131
|
+
| oi | <p>open interest</p> |
|
|
6132
|
+
| ammPos | <p>amm net exposure</p> |
|
|
6133
|
+
|
|
5673
6134
|
<a name="PerpetualDataHandler._calculateLiquidationPrice"></a>
|
|
5674
6135
|
|
|
5675
6136
|
### PerpetualDataHandler.\_calculateLiquidationPrice(symbol, traderState, S2, symbolToPerpStaticInfo) ⇒
|
|
@@ -5840,7 +6301,7 @@ main();
|
|
|
5840
6301
|
<a name="PerpetualDataHandler._getABIFromContract"></a>
|
|
5841
6302
|
|
|
5842
6303
|
### PerpetualDataHandler.\_getABIFromContract(contract, functionName) ⇒
|
|
5843
|
-
<p>Get the ABI of a function in a given contract
|
|
6304
|
+
<p>Get the ABI of a function in a given contract. Undefined if it doesn't exist.</p>
|
|
5844
6305
|
|
|
5845
6306
|
**Kind**: static method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
|
|
5846
6307
|
**Returns**: <p>Function ABI as a single JSON string</p>
|
|
@@ -5875,6 +6336,18 @@ main();
|
|
|
5875
6336
|
| --- | --- |
|
|
5876
6337
|
| order | <p>Client order</p> |
|
|
5877
6338
|
|
|
6339
|
+
<a name="PerpetualDataHandler.isPredictionMarketStatic"></a>
|
|
6340
|
+
|
|
6341
|
+
### PerpetualDataHandler.isPredictionMarketStatic(staticInfo) ⇒
|
|
6342
|
+
<p>Determines whether a given perpetual represents a prediction market</p>
|
|
6343
|
+
|
|
6344
|
+
**Kind**: static method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
|
|
6345
|
+
**Returns**: <p>True if this is a prediction market</p>
|
|
6346
|
+
|
|
6347
|
+
| Param | Description |
|
|
6348
|
+
| --- | --- |
|
|
6349
|
+
| staticInfo | <p>Perpetual static info</p> |
|
|
6350
|
+
|
|
5878
6351
|
<a name="PerpetualEventHandler"></a>
|
|
5879
6352
|
|
|
5880
6353
|
## PerpetualEventHandler
|
|
@@ -6147,13 +6620,20 @@ int128 fSpotIndexPrice
|
|
|
6147
6620
|
)</p>
|
|
6148
6621
|
|
|
6149
6622
|
**Kind**: static method of [<code>PerpetualEventHandler</code>](#PerpetualEventHandler)
|
|
6150
|
-
**Returns**: <p>
|
|
6623
|
+
**Returns**: <p>midPrice, markPricePremium, indexPrice in float</p>
|
|
6151
6624
|
|
|
6152
6625
|
| Param | Description |
|
|
6153
6626
|
| --- | --- |
|
|
6154
6627
|
| fMarkPricePremium | <p>premium rate in ABDK format</p> |
|
|
6155
6628
|
| fSpotIndexPrice | <p>spot index price in ABDK format</p> |
|
|
6156
6629
|
|
|
6630
|
+
<a name="PolyMktsPxFeed"></a>
|
|
6631
|
+
|
|
6632
|
+
## PolyMktsPxFeed
|
|
6633
|
+
<p>PolyMktsPxFeed gets prices from the official polymarket api
|
|
6634
|
+
and applies the 1+px transformation</p>
|
|
6635
|
+
|
|
6636
|
+
**Kind**: global class
|
|
6157
6637
|
<a name="PriceFeeds"></a>
|
|
6158
6638
|
|
|
6159
6639
|
## PriceFeeds
|
|
@@ -6169,7 +6649,7 @@ trader liquidations, trade executions, change of trader margin amount.</p>
|
|
|
6169
6649
|
* [.getTriangulations()](#PriceFeeds+getTriangulations) ⇒
|
|
6170
6650
|
* [.setTriangulations()](#PriceFeeds+setTriangulations)
|
|
6171
6651
|
* [.fetchFeedPriceInfoAndIndicesForPerpetual(symbol)](#PriceFeeds+fetchFeedPriceInfoAndIndicesForPerpetual) ⇒
|
|
6172
|
-
* [.fetchPrices()](#PriceFeeds+fetchPrices) ⇒
|
|
6652
|
+
* [.fetchPrices(symbol)](#PriceFeeds+fetchPrices) ⇒
|
|
6173
6653
|
* [.fetchPricesForPerpetual(symbol)](#PriceFeeds+fetchPricesForPerpetual) ⇒
|
|
6174
6654
|
* [.fetchFeedPrices(symbols)](#PriceFeeds+fetchFeedPrices) ⇒
|
|
6175
6655
|
* [.fetchAllFeedPrices()](#PriceFeeds+fetchAllFeedPrices) ⇒
|
|
@@ -6210,8 +6690,8 @@ trader liquidations, trade executions, change of trader margin amount.</p>
|
|
|
6210
6690
|
<a name="PriceFeeds+fetchFeedPriceInfoAndIndicesForPerpetual"></a>
|
|
6211
6691
|
|
|
6212
6692
|
### priceFeeds.fetchFeedPriceInfoAndIndicesForPerpetual(symbol) ⇒
|
|
6213
|
-
<p>Get required information to be able to submit a blockchain transaction with
|
|
6214
|
-
such as trade execution, liquidation
|
|
6693
|
+
<p>Get required information to be able to submit a blockchain transaction with
|
|
6694
|
+
price-update such as trade execution, liquidation. Uses write price feed endpoints.</p>
|
|
6215
6695
|
|
|
6216
6696
|
**Kind**: instance method of [<code>PriceFeeds</code>](#PriceFeeds)
|
|
6217
6697
|
**Returns**: <p>PriceFeedSubmission, index prices, market closed information</p>
|
|
@@ -6222,20 +6702,26 @@ such as trade execution, liquidation</p>
|
|
|
6222
6702
|
|
|
6223
6703
|
<a name="PriceFeeds+fetchPrices"></a>
|
|
6224
6704
|
|
|
6225
|
-
### priceFeeds.fetchPrices() ⇒
|
|
6705
|
+
### priceFeeds.fetchPrices(symbol) ⇒
|
|
6226
6706
|
<p>Get all prices/isMarketClosed for the provided symbols via
|
|
6227
|
-
"latest_price_feeds" and triangulation. Triangulation must be defined in
|
|
6228
|
-
it is a direct price feed.</p>
|
|
6707
|
+
"latest_price_feeds" and triangulation. Triangulation must be defined in
|
|
6708
|
+
config, unless it is a direct price feed. Uses read endpoints.</p>
|
|
6229
6709
|
|
|
6230
6710
|
**Kind**: instance method of [<code>PriceFeeds</code>](#PriceFeeds)
|
|
6231
6711
|
**Returns**: <p>map of feed-price symbol to price/isMarketClosed</p>
|
|
6712
|
+
|
|
6713
|
+
| Param | Description |
|
|
6714
|
+
| --- | --- |
|
|
6715
|
+
| symbol | <p>perpetual symbol of the form BTC-USD-MATIC</p> |
|
|
6716
|
+
|
|
6232
6717
|
<a name="PriceFeeds+fetchPricesForPerpetual"></a>
|
|
6233
6718
|
|
|
6234
6719
|
### priceFeeds.fetchPricesForPerpetual(symbol) ⇒
|
|
6235
6720
|
<p>Get index prices and market closed information for the given perpetual</p>
|
|
6236
6721
|
|
|
6237
6722
|
**Kind**: instance method of [<code>PriceFeeds</code>](#PriceFeeds)
|
|
6238
|
-
**Returns**: <p>Index prices and market closed information
|
|
6723
|
+
**Returns**: <p>Index prices and market closed information; for prediction markets also
|
|
6724
|
+
ema, confidence, and order book parameters.</p>
|
|
6239
6725
|
|
|
6240
6726
|
| Param | Description |
|
|
6241
6727
|
| --- | --- |
|
|
@@ -6248,11 +6734,13 @@ it is a direct price feed.</p>
|
|
|
6248
6734
|
<ul>
|
|
6249
6735
|
<li>requires the feeds to be defined in priceFeedConfig.json</li>
|
|
6250
6736
|
<li>if symbols undefined, all feeds are queried</li>
|
|
6251
|
-
<li>vaas are not of interest here
|
|
6737
|
+
<li>vaas are not of interest here, therefore only readonly price feed
|
|
6738
|
+
endpoints are used</li>
|
|
6252
6739
|
</ul>
|
|
6253
6740
|
|
|
6254
6741
|
**Kind**: instance method of [<code>PriceFeeds</code>](#PriceFeeds)
|
|
6255
|
-
**Returns**: <p>mapping symbol-> [price, isMarketClosed]
|
|
6742
|
+
**Returns**: <p>mapping symbol-> [price, isMarketClosed], also has an entry
|
|
6743
|
+
<symbol>:ema for each polymarket symbol that maps to the ema price</p>
|
|
6256
6744
|
|
|
6257
6745
|
| Param | Description |
|
|
6258
6746
|
| --- | --- |
|
|
@@ -6261,7 +6749,7 @@ it is a direct price feed.</p>
|
|
|
6261
6749
|
<a name="PriceFeeds+fetchAllFeedPrices"></a>
|
|
6262
6750
|
|
|
6263
6751
|
### priceFeeds.fetchAllFeedPrices() ⇒
|
|
6264
|
-
<p>Get all configured feed prices via "latest_price_feeds"
|
|
6752
|
+
<p>Get all configured feed prices via "latest_price_feeds".</p>
|
|
6265
6753
|
|
|
6266
6754
|
**Kind**: instance method of [<code>PriceFeeds</code>](#PriceFeeds)
|
|
6267
6755
|
**Returns**: <p>map of feed-price symbol to price/isMarketClosed</p>
|
|
@@ -6269,11 +6757,11 @@ it is a direct price feed.</p>
|
|
|
6269
6757
|
|
|
6270
6758
|
### priceFeeds.fetchLatestFeedPriceInfoForPerpetual(symbol) ⇒
|
|
6271
6759
|
<p>Get the latest prices for a given perpetual from the offchain oracle
|
|
6272
|
-
networks
|
|
6760
|
+
networks. Uses write price feed endpoints.</p>
|
|
6273
6761
|
|
|
6274
6762
|
**Kind**: instance method of [<code>PriceFeeds</code>](#PriceFeeds)
|
|
6275
|
-
**Returns**: <p>array of price feed updates that can be submitted to the smart
|
|
6276
|
-
and corresponding price information</p>
|
|
6763
|
+
**Returns**: <p>array of price feed updates that can be submitted to the smart
|
|
6764
|
+
contract and corresponding price information</p>
|
|
6277
6765
|
|
|
6278
6766
|
| Param | Description |
|
|
6279
6767
|
| --- | --- |
|
|
@@ -6391,8 +6879,11 @@ one chain, unless the backend employs code transferrals</p>
|
|
|
6391
6879
|
* [ReferralCodeSigner](#ReferralCodeSigner)
|
|
6392
6880
|
* [.getSignatureForNewReferral(rc, signingFun)](#ReferralCodeSigner.getSignatureForNewReferral) ⇒
|
|
6393
6881
|
* [.getSignatureForNewCode(rc, signingFun)](#ReferralCodeSigner.getSignatureForNewCode) ⇒
|
|
6882
|
+
* [.newReferralPayloadToTypedData(rc)](#ReferralCodeSigner.newReferralPayloadToTypedData) ⇒
|
|
6394
6883
|
* [._referralCodeNewCodePayloadToMessage(rc)](#ReferralCodeSigner._referralCodeNewCodePayloadToMessage) ⇒
|
|
6884
|
+
* [.referralCodeNewCodePayloadToTypedData(rc)](#ReferralCodeSigner.referralCodeNewCodePayloadToTypedData) ⇒
|
|
6395
6885
|
* [._codeSelectionPayloadToMessage(rc)](#ReferralCodeSigner._codeSelectionPayloadToMessage) ⇒
|
|
6886
|
+
* [.codeSelectionPayloadToTypedData(rc)](#ReferralCodeSigner.codeSelectionPayloadToTypedData) ⇒
|
|
6396
6887
|
* [.checkNewCodeSignature(rc)](#ReferralCodeSigner.checkNewCodeSignature) ⇒
|
|
6397
6888
|
|
|
6398
6889
|
<a name="ReferralCodeSigner.getSignatureForNewReferral"></a>
|
|
@@ -6423,6 +6914,18 @@ rc.PassOnPercTDF must be in 100*percentage unit</p>
|
|
|
6423
6914
|
| rc | <p>APIReferralCodePayload without signature</p> |
|
|
6424
6915
|
| signingFun | <p>function that signs</p> |
|
|
6425
6916
|
|
|
6917
|
+
<a name="ReferralCodeSigner.newReferralPayloadToTypedData"></a>
|
|
6918
|
+
|
|
6919
|
+
### ReferralCodeSigner.newReferralPayloadToTypedData(rc) ⇒
|
|
6920
|
+
<p>Convert payload to data struct to sign</p>
|
|
6921
|
+
|
|
6922
|
+
**Kind**: static method of [<code>ReferralCodeSigner</code>](#ReferralCodeSigner)
|
|
6923
|
+
**Returns**: <p>typed data</p>
|
|
6924
|
+
|
|
6925
|
+
| Param | Description |
|
|
6926
|
+
| --- | --- |
|
|
6927
|
+
| rc | <p>payload</p> |
|
|
6928
|
+
|
|
6426
6929
|
<a name="ReferralCodeSigner._referralCodeNewCodePayloadToMessage"></a>
|
|
6427
6930
|
|
|
6428
6931
|
### ReferralCodeSigner.\_referralCodeNewCodePayloadToMessage(rc) ⇒
|
|
@@ -6435,6 +6938,18 @@ rc.PassOnPercTDF must be in 100*percentage unit</p>
|
|
|
6435
6938
|
| --- | --- |
|
|
6436
6939
|
| rc | <p>payload</p> |
|
|
6437
6940
|
|
|
6941
|
+
<a name="ReferralCodeSigner.referralCodeNewCodePayloadToTypedData"></a>
|
|
6942
|
+
|
|
6943
|
+
### ReferralCodeSigner.referralCodeNewCodePayloadToTypedData(rc) ⇒
|
|
6944
|
+
<p>Convert payload to data struct to sign</p>
|
|
6945
|
+
|
|
6946
|
+
**Kind**: static method of [<code>ReferralCodeSigner</code>](#ReferralCodeSigner)
|
|
6947
|
+
**Returns**: <p>typed data</p>
|
|
6948
|
+
|
|
6949
|
+
| Param | Description |
|
|
6950
|
+
| --- | --- |
|
|
6951
|
+
| rc | <p>payload</p> |
|
|
6952
|
+
|
|
6438
6953
|
<a name="ReferralCodeSigner._codeSelectionPayloadToMessage"></a>
|
|
6439
6954
|
|
|
6440
6955
|
### ReferralCodeSigner.\_codeSelectionPayloadToMessage(rc) ⇒
|
|
@@ -6447,6 +6962,18 @@ rc.PassOnPercTDF must be in 100*percentage unit</p>
|
|
|
6447
6962
|
| --- | --- |
|
|
6448
6963
|
| rc | <p>payload</p> |
|
|
6449
6964
|
|
|
6965
|
+
<a name="ReferralCodeSigner.codeSelectionPayloadToTypedData"></a>
|
|
6966
|
+
|
|
6967
|
+
### ReferralCodeSigner.codeSelectionPayloadToTypedData(rc) ⇒
|
|
6968
|
+
<p>Convert payload to data struct to sign</p>
|
|
6969
|
+
|
|
6970
|
+
**Kind**: static method of [<code>ReferralCodeSigner</code>](#ReferralCodeSigner)
|
|
6971
|
+
**Returns**: <p>typed data</p>
|
|
6972
|
+
|
|
6973
|
+
| Param | Description |
|
|
6974
|
+
| --- | --- |
|
|
6975
|
+
| rc | <p>payload</p> |
|
|
6976
|
+
|
|
6450
6977
|
<a name="ReferralCodeSigner.checkNewCodeSignature"></a>
|
|
6451
6978
|
|
|
6452
6979
|
### ReferralCodeSigner.checkNewCodeSignature(rc) ⇒
|
|
@@ -6490,25 +7017,26 @@ so that signatures can be handled in frontend via wallet</p>
|
|
|
6490
7017
|
* [.getProxyAddress()](#MarketData+getProxyAddress) ⇒ <code>string</code>
|
|
6491
7018
|
* [.getTriangulations()](#MarketData+getTriangulations) ⇒
|
|
6492
7019
|
* [.smartContractOrderToOrder(smOrder)](#MarketData+smartContractOrderToOrder) ⇒ <code>Order</code>
|
|
6493
|
-
* [.getReadOnlyProxyInstance()](#MarketData+getReadOnlyProxyInstance) ⇒
|
|
6494
|
-
* [.exchangeInfo()](#MarketData+exchangeInfo) ⇒ <code>ExchangeInfo</code>
|
|
7020
|
+
* [.getReadOnlyProxyInstance()](#MarketData+getReadOnlyProxyInstance) ⇒
|
|
7021
|
+
* [.exchangeInfo()](#MarketData+exchangeInfo) ⇒ [<code>ExchangeInfo</code>](#ExchangeInfo)
|
|
6495
7022
|
* [.openOrders(traderAddr, symbol)](#MarketData+openOrders) ⇒
|
|
6496
7023
|
* [.positionRisk(traderAddr, symbol)](#MarketData+positionRisk) ⇒ <code>Array.<MarginAccount></code>
|
|
6497
|
-
* [.positionRiskOnTrade(traderAddr, order,
|
|
7024
|
+
* [.positionRiskOnTrade(traderAddr, order, signedPositionNotionalBaseCCY, tradingFeeTbps, indexPriceInfo)](#MarketData+positionRiskOnTrade) ⇒
|
|
6498
7025
|
* [.positionRiskOnCollateralAction(deltaCollateral, account)](#MarketData+positionRiskOnCollateralAction) ⇒ <code>MarginAccount</code>
|
|
6499
7026
|
* [.getWalletBalance(address, symbol)](#MarketData+getWalletBalance) ⇒
|
|
6500
7027
|
* [.getPoolShareTokenBalance(address, symbolOrId)](#MarketData+getPoolShareTokenBalance) ⇒ <code>number</code>
|
|
6501
7028
|
* [.getShareTokenPrice(symbolOrId)](#MarketData+getShareTokenPrice) ⇒ <code>number</code>
|
|
6502
7029
|
* [.getParticipationValue(address, symbolOrId)](#MarketData+getParticipationValue) ⇒
|
|
6503
7030
|
* [.maxOrderSizeForTrader(traderAddr, symbol)](#MarketData+maxOrderSizeForTrader) ⇒
|
|
7031
|
+
* [.getMaxShortLongPos(perpId, currentTraderPos, overrides)](#MarketData+getMaxShortLongPos) ⇒
|
|
6504
7032
|
* [.maxSignedPosition(side, symbol)](#MarketData+maxSignedPosition) ⇒ <code>number</code>
|
|
6505
7033
|
* [.getOraclePrice(base, quote)](#MarketData+getOraclePrice) ⇒ <code>number</code>
|
|
6506
7034
|
* [.getOrderStatus(symbol, orderId, overrides)](#MarketData+getOrderStatus) ⇒
|
|
6507
7035
|
* [.getOrdersStatus(symbol, orderId)](#MarketData+getOrdersStatus) ⇒
|
|
6508
|
-
* [.getMarkPrice(symbol)](#MarketData+getMarkPrice) ⇒ <code>number</code>
|
|
6509
|
-
* [.getPerpetualPrice(symbol, quantity)](#MarketData+getPerpetualPrice) ⇒ <code>number</code>
|
|
7036
|
+
* [.getMarkPrice(symbol, indexPrices)](#MarketData+getMarkPrice) ⇒ <code>number</code>
|
|
7037
|
+
* [.getPerpetualPrice(symbol, quantity, priceInfo)](#MarketData+getPerpetualPrice) ⇒ <code>number</code>
|
|
6510
7038
|
* [.getPerpetualState(symbol)](#MarketData+getPerpetualState) ⇒ <code>PerpetualState</code>
|
|
6511
|
-
* [.getPoolState(poolSymbol)](#MarketData+getPoolState) ⇒ <code>PoolState</code>
|
|
7039
|
+
* [.getPoolState(poolSymbol)](#MarketData+getPoolState) ⇒ [<code>PoolState</code>](#PoolState)
|
|
6512
7040
|
* [.getPerpetualStaticInfo(symbol)](#MarketData+getPerpetualStaticInfo) ⇒ <code>PerpetualStaticInfo</code>
|
|
6513
7041
|
* [.getPerpetualMidPrice(symbol)](#MarketData+getPerpetualMidPrice) ⇒ <code>number</code>
|
|
6514
7042
|
* [.getAvailableMargin(traderAddr, symbol, indexPrices)](#MarketData+getAvailableMargin) ⇒
|
|
@@ -6541,6 +7069,7 @@ so that signatures can be handled in frontend via wallet</p>
|
|
|
6541
7069
|
* [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
|
|
6542
7070
|
* [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
|
|
6543
7071
|
* [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
|
|
7072
|
+
* [.isPredictionMarket(symbol)](#PerpetualDataHandler+isPredictionMarket) ⇒
|
|
6544
7073
|
* _static_
|
|
6545
7074
|
* [.chainOrders(orders, ids)](#TraderInterface.chainOrders) ⇒
|
|
6546
7075
|
|
|
@@ -6645,6 +7174,7 @@ main();
|
|
|
6645
7174
|
<p>Get the order book address for a perpetual</p>
|
|
6646
7175
|
|
|
6647
7176
|
**Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
|
|
7177
|
+
**Overrides**: [<code>getOrderBookAddress</code>](#PerpetualDataHandler+getOrderBookAddress)
|
|
6648
7178
|
**Returns**: <p>order book address for the perpetual</p>
|
|
6649
7179
|
|
|
6650
7180
|
| Param | Description |
|
|
@@ -6695,7 +7225,7 @@ Order must contain broker fee and broker address if there is supposed to be a br
|
|
|
6695
7225
|
<a name="TraderInterface+getProxyABI"></a>
|
|
6696
7226
|
|
|
6697
7227
|
### traderInterface.getProxyABI(method) ⇒
|
|
6698
|
-
<p>Get the ABI of a method in the proxy contract</p>
|
|
7228
|
+
<p>Get the ABI of a method in the proxy contract. Throws if non-existent</p>
|
|
6699
7229
|
|
|
6700
7230
|
**Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
|
|
6701
7231
|
**Returns**: <p>ABI as a single string</p>
|
|
@@ -6847,16 +7377,16 @@ about perpetual currencies</p>
|
|
|
6847
7377
|
|
|
6848
7378
|
| Param | Type | Description |
|
|
6849
7379
|
| --- | --- | --- |
|
|
6850
|
-
| smOrder | <code>SmartContractOrder</code> | <p>SmartContractOrder, as obtained e.g., by PerpetualLimitOrderCreated event</p> |
|
|
7380
|
+
| smOrder | [<code>SmartContractOrder</code>](#SmartContractOrder) | <p>SmartContractOrder, as obtained e.g., by PerpetualLimitOrderCreated event</p> |
|
|
6851
7381
|
|
|
6852
7382
|
<a name="MarketData+getReadOnlyProxyInstance"></a>
|
|
6853
7383
|
|
|
6854
|
-
### traderInterface.getReadOnlyProxyInstance() ⇒
|
|
7384
|
+
### traderInterface.getReadOnlyProxyInstance() ⇒
|
|
6855
7385
|
<p>Get contract instance. Useful for event listening.</p>
|
|
6856
7386
|
|
|
6857
7387
|
**Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
|
|
6858
7388
|
**Overrides**: [<code>getReadOnlyProxyInstance</code>](#MarketData+getReadOnlyProxyInstance)
|
|
6859
|
-
**Returns**: <
|
|
7389
|
+
**Returns**: <p>read-only proxy instance</p>
|
|
6860
7390
|
**Example**
|
|
6861
7391
|
```js
|
|
6862
7392
|
import { MarketData, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
@@ -6874,12 +7404,12 @@ main();
|
|
|
6874
7404
|
```
|
|
6875
7405
|
<a name="MarketData+exchangeInfo"></a>
|
|
6876
7406
|
|
|
6877
|
-
### traderInterface.exchangeInfo() ⇒ <code>ExchangeInfo</code>
|
|
7407
|
+
### traderInterface.exchangeInfo() ⇒ [<code>ExchangeInfo</code>](#ExchangeInfo)
|
|
6878
7408
|
<p>Information about the products traded in the exchange.</p>
|
|
6879
7409
|
|
|
6880
7410
|
**Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
|
|
6881
7411
|
**Overrides**: [<code>exchangeInfo</code>](#MarketData+exchangeInfo)
|
|
6882
|
-
**Returns**: <code>ExchangeInfo</code> - <p>Array of static data for all the pools and perpetuals in the system.</p>
|
|
7412
|
+
**Returns**: [<code>ExchangeInfo</code>](#ExchangeInfo) - <p>Array of static data for all the pools and perpetuals in the system.</p>
|
|
6883
7413
|
**Example**
|
|
6884
7414
|
```js
|
|
6885
7415
|
import { MarketData, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
@@ -6958,7 +7488,7 @@ main();
|
|
|
6958
7488
|
```
|
|
6959
7489
|
<a name="MarketData+positionRiskOnTrade"></a>
|
|
6960
7490
|
|
|
6961
|
-
### traderInterface.positionRiskOnTrade(traderAddr, order,
|
|
7491
|
+
### traderInterface.positionRiskOnTrade(traderAddr, order, signedPositionNotionalBaseCCY, tradingFeeTbps, indexPriceInfo) ⇒
|
|
6962
7492
|
<p>Estimates what the position risk will be if a given order is executed.</p>
|
|
6963
7493
|
|
|
6964
7494
|
**Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
|
|
@@ -6969,7 +7499,8 @@ main();
|
|
|
6969
7499
|
| --- | --- |
|
|
6970
7500
|
| traderAddr | <p>Address of trader</p> |
|
|
6971
7501
|
| order | <p>Order to be submitted</p> |
|
|
6972
|
-
|
|
|
7502
|
+
| signedPositionNotionalBaseCCY | <p>signed position notional of current position (before trade)</p> |
|
|
7503
|
+
| tradingFeeTbps | <p>trading fee in tenth of basis points (exchange fee and broker fee)</p> |
|
|
6973
7504
|
| indexPriceInfo | <p>Index prices and market status (open/closed). Defaults to current market status if not given.</p> |
|
|
6974
7505
|
|
|
6975
7506
|
**Example**
|
|
@@ -6990,7 +7521,7 @@ async function main() {
|
|
|
6990
7521
|
executionTimestamp: Date.now()/1000,
|
|
6991
7522
|
};
|
|
6992
7523
|
// Get position risk conditional on this order being executed
|
|
6993
|
-
const posRisk = await mktData.positionRiskOnTrade("0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B", order);
|
|
7524
|
+
const posRisk = await mktData.positionRiskOnTrade("0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B", order, 0, 60);
|
|
6994
7525
|
console.log(posRisk);
|
|
6995
7526
|
}
|
|
6996
7527
|
main();
|
|
@@ -7174,6 +7705,22 @@ async function main() {
|
|
|
7174
7705
|
}
|
|
7175
7706
|
main();
|
|
7176
7707
|
```
|
|
7708
|
+
<a name="MarketData+getMaxShortLongPos"></a>
|
|
7709
|
+
|
|
7710
|
+
### traderInterface.getMaxShortLongPos(perpId, currentTraderPos, overrides) ⇒
|
|
7711
|
+
<p>Returns the maximal allowed short pos and long pos (signed) for a trader
|
|
7712
|
+
with given notional (in ABDK format) in the perpetual, ignoring the traders wallet balance</p>
|
|
7713
|
+
|
|
7714
|
+
**Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
|
|
7715
|
+
**Overrides**: [<code>getMaxShortLongPos</code>](#MarketData+getMaxShortLongPos)
|
|
7716
|
+
**Returns**: <p>[maxShortPos, maxLongPos] signed maximal position sizes</p>
|
|
7717
|
+
|
|
7718
|
+
| Param | Description |
|
|
7719
|
+
| --- | --- |
|
|
7720
|
+
| perpId | |
|
|
7721
|
+
| currentTraderPos | <p>ABDK64x64 notional position of trader</p> |
|
|
7722
|
+
| overrides | |
|
|
7723
|
+
|
|
7177
7724
|
<a name="MarketData+maxSignedPosition"></a>
|
|
7178
7725
|
|
|
7179
7726
|
### traderInterface.maxSignedPosition(side, symbol) ⇒ <code>number</code>
|
|
@@ -7293,7 +7840,7 @@ main();
|
|
|
7293
7840
|
```
|
|
7294
7841
|
<a name="MarketData+getMarkPrice"></a>
|
|
7295
7842
|
|
|
7296
|
-
### traderInterface.getMarkPrice(symbol) ⇒ <code>number</code>
|
|
7843
|
+
### traderInterface.getMarkPrice(symbol, indexPrices) ⇒ <code>number</code>
|
|
7297
7844
|
<p>Get the current mark price</p>
|
|
7298
7845
|
|
|
7299
7846
|
**Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
|
|
@@ -7303,6 +7850,7 @@ main();
|
|
|
7303
7850
|
| Param | Description |
|
|
7304
7851
|
| --- | --- |
|
|
7305
7852
|
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
7853
|
+
| indexPrices | <p>optional. IdxPriceInfo</p> |
|
|
7306
7854
|
|
|
7307
7855
|
**Example**
|
|
7308
7856
|
```js
|
|
@@ -7321,7 +7869,7 @@ main();
|
|
|
7321
7869
|
```
|
|
7322
7870
|
<a name="MarketData+getPerpetualPrice"></a>
|
|
7323
7871
|
|
|
7324
|
-
### traderInterface.getPerpetualPrice(symbol, quantity) ⇒ <code>number</code>
|
|
7872
|
+
### traderInterface.getPerpetualPrice(symbol, quantity, priceInfo) ⇒ <code>number</code>
|
|
7325
7873
|
<p>get the current price for a given quantity</p>
|
|
7326
7874
|
|
|
7327
7875
|
**Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
|
|
@@ -7332,6 +7880,7 @@ main();
|
|
|
7332
7880
|
| --- | --- |
|
|
7333
7881
|
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
7334
7882
|
| quantity | <p>quantity to be traded, negative if short</p> |
|
|
7883
|
+
| priceInfo | <p>[s2, s3, conf, params]; for non-prediction markets conf/params can be 0</p> |
|
|
7335
7884
|
|
|
7336
7885
|
**Example**
|
|
7337
7886
|
```js
|
|
@@ -7363,12 +7912,12 @@ main();
|
|
|
7363
7912
|
|
|
7364
7913
|
<a name="MarketData+getPoolState"></a>
|
|
7365
7914
|
|
|
7366
|
-
### traderInterface.getPoolState(poolSymbol) ⇒ <code>PoolState</code>
|
|
7915
|
+
### traderInterface.getPoolState(poolSymbol) ⇒ [<code>PoolState</code>](#PoolState)
|
|
7367
7916
|
<p>Query recent pool state from blockchain, not including perpetual states</p>
|
|
7368
7917
|
|
|
7369
7918
|
**Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
|
|
7370
7919
|
**Overrides**: [<code>getPoolState</code>](#MarketData+getPoolState)
|
|
7371
|
-
**Returns**: <code>PoolState</code> - <p>PoolState copy</p>
|
|
7920
|
+
**Returns**: [<code>PoolState</code>](#PoolState) - <p>PoolState copy</p>
|
|
7372
7921
|
|
|
7373
7922
|
| Param | Type | Description |
|
|
7374
7923
|
| --- | --- | --- |
|
|
@@ -7430,7 +7979,7 @@ Result is in collateral currency</p>
|
|
|
7430
7979
|
| --- | --- | --- |
|
|
7431
7980
|
| traderAddr | <code>string</code> | <p>address of the trader</p> |
|
|
7432
7981
|
| symbol | <code>string</code> | <p>perpetual symbol of the form BTC-USD-MATIC</p> |
|
|
7433
|
-
| indexPrices | | <p>optional
|
|
7982
|
+
| indexPrices | | <p>optional indexPriceInfo</p> |
|
|
7434
7983
|
|
|
7435
7984
|
**Example**
|
|
7436
7985
|
```js
|
|
@@ -7914,6 +8463,19 @@ main();
|
|
|
7914
8463
|
| --- | --- |
|
|
7915
8464
|
| contract | <p>name of contract: proxy|lob|sharetoken</p> |
|
|
7916
8465
|
|
|
8466
|
+
<a name="PerpetualDataHandler+isPredictionMarket"></a>
|
|
8467
|
+
|
|
8468
|
+
### traderInterface.isPredictionMarket(symbol) ⇒
|
|
8469
|
+
<p>Determines whether a given perpetual represents a prediction market</p>
|
|
8470
|
+
|
|
8471
|
+
**Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
|
|
8472
|
+
**Overrides**: [<code>isPredictionMarket</code>](#PerpetualDataHandler+isPredictionMarket)
|
|
8473
|
+
**Returns**: <p>True if this is a prediction market</p>
|
|
8474
|
+
|
|
8475
|
+
| Param | Description |
|
|
8476
|
+
| --- | --- |
|
|
8477
|
+
| symbol | <p>perpetual symbol of the form TRUMP24-USD-USDC</p> |
|
|
8478
|
+
|
|
7917
8479
|
<a name="TraderInterface.chainOrders"></a>
|
|
7918
8480
|
|
|
7919
8481
|
### TraderInterface.chainOrders(orders, ids) ⇒
|
|
@@ -7946,6 +8508,7 @@ require gas-payments.</p>
|
|
|
7946
8508
|
* [.getAddress()](#WriteAccessHandler+getAddress) ⇒ <code>string</code>
|
|
7947
8509
|
* [.swapForMockToken(symbol, amountToPay)](#WriteAccessHandler+swapForMockToken) ⇒
|
|
7948
8510
|
* [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
|
|
8511
|
+
* [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
|
|
7949
8512
|
* [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
|
|
7950
8513
|
* [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
|
|
7951
8514
|
* [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
|
|
@@ -7970,6 +8533,7 @@ require gas-payments.</p>
|
|
|
7970
8533
|
* [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
|
|
7971
8534
|
* [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
|
|
7972
8535
|
* [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
|
|
8536
|
+
* [.isPredictionMarket(symbol)](#PerpetualDataHandler+isPredictionMarket) ⇒
|
|
7973
8537
|
|
|
7974
8538
|
<a name="new_WriteAccessHandler_new"></a>
|
|
7975
8539
|
|
|
@@ -8000,7 +8564,7 @@ about perpetual currencies</p>
|
|
|
8000
8564
|
<p>Set allowance for ar margin token (e.g., MATIC, ETH, USDC)</p>
|
|
8001
8565
|
|
|
8002
8566
|
**Kind**: instance method of [<code>WriteAccessHandler</code>](#WriteAccessHandler)
|
|
8003
|
-
**Returns**: <p>
|
|
8567
|
+
**Returns**: <p>Contract Transaction</p>
|
|
8004
8568
|
|
|
8005
8569
|
| Param | Description |
|
|
8006
8570
|
| --- | --- |
|
|
@@ -8041,6 +8605,19 @@ into a mock token used for trading on testnet, with a rate of 1:100_000</p>
|
|
|
8041
8605
|
| --- | --- |
|
|
8042
8606
|
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
8043
8607
|
|
|
8608
|
+
<a name="PerpetualDataHandler+getOrderBookAddress"></a>
|
|
8609
|
+
|
|
8610
|
+
### writeAccessHandler.getOrderBookAddress(symbol) ⇒
|
|
8611
|
+
<p>Returns the order-book contract for the symbol if found or fails</p>
|
|
8612
|
+
|
|
8613
|
+
**Kind**: instance method of [<code>WriteAccessHandler</code>](#WriteAccessHandler)
|
|
8614
|
+
**Overrides**: [<code>getOrderBookAddress</code>](#PerpetualDataHandler+getOrderBookAddress)
|
|
8615
|
+
**Returns**: <p>order book contract for the perpetual</p>
|
|
8616
|
+
|
|
8617
|
+
| Param | Description |
|
|
8618
|
+
| --- | --- |
|
|
8619
|
+
| symbol | <p>symbol of the form ETH-USD-MATIC</p> |
|
|
8620
|
+
|
|
8044
8621
|
<a name="PerpetualDataHandler+getPerpetuals"></a>
|
|
8045
8622
|
|
|
8046
8623
|
### writeAccessHandler.getPerpetuals(ids, overrides) ⇒
|
|
@@ -8398,6 +8975,19 @@ main();
|
|
|
8398
8975
|
| --- | --- |
|
|
8399
8976
|
| contract | <p>name of contract: proxy|lob|sharetoken</p> |
|
|
8400
8977
|
|
|
8978
|
+
<a name="PerpetualDataHandler+isPredictionMarket"></a>
|
|
8979
|
+
|
|
8980
|
+
### writeAccessHandler.isPredictionMarket(symbol) ⇒
|
|
8981
|
+
<p>Determines whether a given perpetual represents a prediction market</p>
|
|
8982
|
+
|
|
8983
|
+
**Kind**: instance method of [<code>WriteAccessHandler</code>](#WriteAccessHandler)
|
|
8984
|
+
**Overrides**: [<code>isPredictionMarket</code>](#PerpetualDataHandler+isPredictionMarket)
|
|
8985
|
+
**Returns**: <p>True if this is a prediction market</p>
|
|
8986
|
+
|
|
8987
|
+
| Param | Description |
|
|
8988
|
+
| --- | --- |
|
|
8989
|
+
| symbol | <p>perpetual symbol of the form TRUMP24-USD-USDC</p> |
|
|
8990
|
+
|
|
8401
8991
|
<a name="default"></a>
|
|
8402
8992
|
|
|
8403
8993
|
## default ⇒
|
|
@@ -8411,3 +9001,85 @@ on-chain</p>
|
|
|
8411
9001
|
| --- | --- |
|
|
8412
9002
|
| provider | <p>arbitrum provider</p> |
|
|
8413
9003
|
|
|
9004
|
+
<a name="referralDomain"></a>
|
|
9005
|
+
|
|
9006
|
+
## referralDomain
|
|
9007
|
+
<p>LiquidityPoolData corresponding to the data in the smart contract</p>
|
|
9008
|
+
|
|
9009
|
+
**Kind**: global constant
|
|
9010
|
+
<a name="ExchangeInfo"></a>
|
|
9011
|
+
|
|
9012
|
+
## ExchangeInfo : <code>Object</code>
|
|
9013
|
+
**Kind**: global typedef
|
|
9014
|
+
**Properties**
|
|
9015
|
+
|
|
9016
|
+
| Name | Type | Description |
|
|
9017
|
+
| --- | --- | --- |
|
|
9018
|
+
| pools | [<code>Array.<PoolState></code>](#PoolState) | <p>Array of state objects for all pools in the exchange.</p> |
|
|
9019
|
+
| oracleFactoryAddr | <code>string</code> | <p>Address of the oracle factory used by the pools in the exchange.</p> |
|
|
9020
|
+
|
|
9021
|
+
<a name="PoolState"></a>
|
|
9022
|
+
|
|
9023
|
+
## PoolState : <code>Object</code>
|
|
9024
|
+
**Kind**: global typedef
|
|
9025
|
+
**Properties**
|
|
9026
|
+
|
|
9027
|
+
| Name | Type | Description |
|
|
9028
|
+
| --- | --- | --- |
|
|
9029
|
+
| isRunning | <code>boolean</code> | <p>True if the pool is running.</p> |
|
|
9030
|
+
| marginTokenAddr | <code>string</code> | <p>Address of the token used by the pool. This is the token used for margin deposits, liquidity provision, and trading fees.</p> |
|
|
9031
|
+
| poolShareTokenAddr | <code>string</code> | <p>Address of the pool share token. This is the token issued to external liquidity providers.</p> |
|
|
9032
|
+
| defaultFundCashCC | <code>number</code> | <p>Amount of cash in the default fund of this pool, denominated in margin tokens.</p> |
|
|
9033
|
+
| pnlParticipantCashCC | <code>number</code> | <p>Amount of cash in the PnL participation pool, i.e. cash deposited by external liquidity providers.</p> |
|
|
9034
|
+
| totalTargetAMMFundSizeCC | <code>number</code> | <p>Target AMM funds aggregated across all perpetuals in this pool.</p> |
|
|
9035
|
+
| brokerCollateralLotSize | <code>number</code> | <p>Price of one lot for brokers who wish to participate in this pool. Denominated in margin tokens.</p> |
|
|
9036
|
+
| perpetuals | <code>Array.<PerpetualState></code> | <p>Array of all perpetuals in this pool.</p> |
|
|
9037
|
+
|
|
9038
|
+
<a name="SmartContractOrder"></a>
|
|
9039
|
+
|
|
9040
|
+
## SmartContractOrder : <code>Object</code>
|
|
9041
|
+
**Kind**: global typedef
|
|
9042
|
+
**Properties**
|
|
9043
|
+
|
|
9044
|
+
| Name | Type |
|
|
9045
|
+
| --- | --- |
|
|
9046
|
+
| flags | <code>bigint</code> |
|
|
9047
|
+
| iPerpetualId | <code>number</code> |
|
|
9048
|
+
| brokerFeeTbps | <code>number</code> |
|
|
9049
|
+
| traderAddr | <code>string</code> |
|
|
9050
|
+
| brokerAddr | <code>string</code> |
|
|
9051
|
+
| executorAddr | <code>string</code> |
|
|
9052
|
+
| brokerSignature | <code>BytesLike</code> |
|
|
9053
|
+
| fAmount | <code>bigint</code> |
|
|
9054
|
+
| fLimitPrice | <code>bigint</code> |
|
|
9055
|
+
| fTriggerPrice | <code>bigint</code> |
|
|
9056
|
+
| leverageTDR | <code>number</code> |
|
|
9057
|
+
| iDeadline | <code>number</code> |
|
|
9058
|
+
| executionTimestamp | <code>number</code> |
|
|
9059
|
+
| submittedTimestamp | <code>number</code> |
|
|
9060
|
+
|
|
9061
|
+
<a name="ClientOrder"></a>
|
|
9062
|
+
|
|
9063
|
+
## ClientOrder : <code>Object</code>
|
|
9064
|
+
**Kind**: global typedef
|
|
9065
|
+
**Properties**
|
|
9066
|
+
|
|
9067
|
+
| Name | Type |
|
|
9068
|
+
| --- | --- |
|
|
9069
|
+
| flags | <code>bigint</code> |
|
|
9070
|
+
| iPerpetualId | <code>bigint</code> |
|
|
9071
|
+
| brokerFeeTbps | <code>bigint</code> |
|
|
9072
|
+
| traderAddr | <code>string</code> |
|
|
9073
|
+
| brokerAddr | <code>string</code> |
|
|
9074
|
+
| executorAddr | <code>string</code> |
|
|
9075
|
+
| brokerSignature | <code>BytesLike</code> |
|
|
9076
|
+
| fAmount | <code>bigint</code> |
|
|
9077
|
+
| fLimitPrice | <code>bigint</code> |
|
|
9078
|
+
| fTriggerPrice | <code>bigint</code> |
|
|
9079
|
+
| leverageTDR | <code>bigint</code> |
|
|
9080
|
+
| iDeadline | <code>bigint</code> |
|
|
9081
|
+
| executionTimestamp | <code>bigint</code> |
|
|
9082
|
+
| parentChildDigest1 | <code>string</code> |
|
|
9083
|
+
| parentChildDigest2 | <code>string</code> |
|
|
9084
|
+
| callbackTarget | <code>string</code> |
|
|
9085
|
+
|