@d8x/perpetuals-sdk 2.1.6-alpha2 → 2.1.8-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.
@@ -153,6 +153,9 @@ on-chain</p></dd>
153
153
  * [~pmExchangeFee(prob, m, totShort, totLong, tradeAmt, tradeMgnRate)](#module_d8xMath..pmExchangeFee) ⇒
154
154
  * [~pmMarginBalance(pos, s2, s3, ell, mc)](#module_d8xMath..pmMarginBalance) ⇒
155
155
  * [~excessMargin(tradeAmt, currentCashCC, currentPos, currentLockedInQC, limitPrice, Sm, S3, totLong, totShort)](#module_d8xMath..excessMargin) ⇒
156
+ * [~pmGetDepositAmtForLvgTrade(tradeAmt, targetLvg, price, S3, S2Mark)](#module_d8xMath..pmGetDepositAmtForLvgTrade) ⇒
157
+ * [~pmExcessCashAtLvg(tradeAmt, lvg, walletBalCC, currentCashCC, currentPosition, currentLockedInValue, slippage, S2, Sm, S3, totLong, totShort)](#module_d8xMath..pmExcessCashAtLvg) ⇒
158
+ * [~pmFindMaxPersonalTradeSizeAtLeverage(dir, lvg, walletBalCC, slippage, currentPosition, currentCashCC, currentLockedInValue, S2, Sm, S3, totLong, totShort, maxShort, maxLong)](#module_d8xMath..pmFindMaxPersonalTradeSizeAtLeverage) ⇒
156
159
  * [~pmFindMaxTradeSize(dir, currentPosition, currentCashCC, currentLockedInValue, limitPrice, Sm, S3, totLong, totShort, maxShort, maxLong)](#module_d8xMath..pmFindMaxTradeSize) ⇒
157
160
 
158
161
  <a name="module_d8xMath..ABDK29ToFloat"></a>
@@ -479,7 +482,8 @@ prediction market fees</p>
479
482
  <a name="module_d8xMath..pmExchangeFee"></a>
480
483
 
481
484
  ### d8xMath~pmExchangeFee(prob, m, totShort, totLong, tradeAmt, tradeMgnRate) ⇒
482
- <p>Exchange fee as a rate for prediction markets</p>
485
+ <p>Exchange fee as a rate for prediction markets
486
+ For opening trades only</p>
483
487
 
484
488
  **Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
485
489
  **Returns**: <p>fee relative to tradeAmt</p>
@@ -531,11 +535,81 @@ for the given trade and position</p>
531
535
  | totLong |
532
536
  | totShort |
533
537
 
538
+ <a name="module_d8xMath..pmGetDepositAmtForLvgTrade"></a>
539
+
540
+ ### d8xMath~pmGetDepositAmtForLvgTrade(tradeAmt, targetLvg, price, S3, S2Mark) ⇒
541
+ <p>Internal function to find the deposit amount required
542
+ for a given trade amount and target leverage</p>
543
+
544
+ **Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
545
+ **Returns**: <p>deposit amount</p>
546
+
547
+ | Param |
548
+ | --- |
549
+ | tradeAmt |
550
+ | targetLvg |
551
+ | price |
552
+ | S3 |
553
+ | S2Mark |
554
+
555
+ <a name="module_d8xMath..pmExcessCashAtLvg"></a>
556
+
557
+ ### d8xMath~pmExcessCashAtLvg(tradeAmt, lvg, walletBalCC, currentCashCC, currentPosition, currentLockedInValue, slippage, S2, Sm, S3, totLong, totShort) ⇒
558
+ <p>Internal function to calculate cash over initial margin rate
559
+ after a trade of size tradeAmt in prediction markets</p>
560
+
561
+ **Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
562
+ **Returns**: <p>excess cash</p>
563
+
564
+ | Param |
565
+ | --- |
566
+ | tradeAmt |
567
+ | lvg |
568
+ | walletBalCC |
569
+ | currentCashCC |
570
+ | currentPosition |
571
+ | currentLockedInValue |
572
+ | slippage |
573
+ | S2 |
574
+ | Sm |
575
+ | S3 |
576
+ | totLong |
577
+ | totShort |
578
+
579
+ <a name="module_d8xMath..pmFindMaxPersonalTradeSizeAtLeverage"></a>
580
+
581
+ ### d8xMath~pmFindMaxPersonalTradeSizeAtLeverage(dir, lvg, walletBalCC, slippage, currentPosition, currentCashCC, currentLockedInValue, S2, Sm, S3, totLong, totShort, maxShort, maxLong) ⇒
582
+ <p>Find maximal trade size (short dir=-1 or long dir=1) for prediction
583
+ markets at provided leverage and incorporating the current position
584
+ and wallet balance.
585
+ Factors in lot size and global max short/long</p>
586
+
587
+ **Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
588
+ **Returns**: <p>max trade size</p>
589
+
590
+ | Param | Description |
591
+ | --- | --- |
592
+ | dir | |
593
+ | lvg | |
594
+ | walletBalCC | |
595
+ | slippage | <p>slippage percent</p> |
596
+ | currentPosition | |
597
+ | currentCashCC | |
598
+ | currentLockedInValue | |
599
+ | S2 | |
600
+ | Sm | |
601
+ | S3 | |
602
+ | totLong | |
603
+ | totShort | |
604
+ | maxShort | |
605
+ | maxLong | |
606
+
534
607
  <a name="module_d8xMath..pmFindMaxTradeSize"></a>
535
608
 
536
609
  ### d8xMath~pmFindMaxTradeSize(dir, currentPosition, currentCashCC, currentLockedInValue, limitPrice, Sm, S3, totLong, totShort, maxShort, maxLong) ⇒
537
610
  <p>Find maximal trade size (short dir=-1 or long dir=1) for prediction
538
- markets.</p>
611
+ markets at maximal leverage and incorporating the current position.
612
+ Agnostic about wallet balance.</p>
539
613
 
540
614
  **Kind**: inner method of [<code>d8xMath</code>](#module_d8xMath)
541
615
  **Returns**: <p>signed max trade size</p>
@@ -680,6 +754,7 @@ require gas-payments.</p>
680
754
  * [.setAllowance(symbol, amount)](#WriteAccessHandler+setAllowance) ⇒
681
755
  * [.getAddress()](#WriteAccessHandler+getAddress) ⇒ <code>string</code>
682
756
  * [.swapForMockToken(symbol, amountToPay)](#WriteAccessHandler+swapForMockToken) ⇒
757
+ * [.fetchSymbolList()](#PerpetualDataHandler+fetchSymbolList)
683
758
  * [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
684
759
  * [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
685
760
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
@@ -994,6 +1069,13 @@ into a mock token used for trading on testnet, with a rate of 1:100_000</p>
994
1069
  | symbol | <p>Pool margin token e.g. MATIC</p> |
995
1070
  | amountToPay | <p>Amount in chain currency, e.g. &quot;0.1&quot; for 0.1 MATIC</p> |
996
1071
 
1072
+ <a name="PerpetualDataHandler+fetchSymbolList"></a>
1073
+
1074
+ ### accountTrade.fetchSymbolList()
1075
+ <p>sets the symbollist if a remote config url is specified</p>
1076
+
1077
+ **Kind**: instance method of [<code>AccountTrade</code>](#AccountTrade)
1078
+ **Overrides**: [<code>fetchSymbolList</code>](#PerpetualDataHandler+fetchSymbolList)
997
1079
  <a name="PerpetualDataHandler+getOrderBookContract"></a>
998
1080
 
999
1081
  ### accountTrade.getOrderBookContract(symbol) ⇒
@@ -1418,6 +1500,7 @@ require gas-payments.</p>
1418
1500
  * [.setAllowance(symbol, amount)](#WriteAccessHandler+setAllowance) ⇒
1419
1501
  * [.getAddress()](#WriteAccessHandler+getAddress) ⇒ <code>string</code>
1420
1502
  * [.swapForMockToken(symbol, amountToPay)](#WriteAccessHandler+swapForMockToken) ⇒
1503
+ * [.fetchSymbolList()](#PerpetualDataHandler+fetchSymbolList)
1421
1504
  * [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
1422
1505
  * [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
1423
1506
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
@@ -1916,6 +1999,13 @@ into a mock token used for trading on testnet, with a rate of 1:100_000</p>
1916
1999
  | symbol | <p>Pool margin token e.g. MATIC</p> |
1917
2000
  | amountToPay | <p>Amount in chain currency, e.g. &quot;0.1&quot; for 0.1 MATIC</p> |
1918
2001
 
2002
+ <a name="PerpetualDataHandler+fetchSymbolList"></a>
2003
+
2004
+ ### brokerTool.fetchSymbolList()
2005
+ <p>sets the symbollist if a remote config url is specified</p>
2006
+
2007
+ **Kind**: instance method of [<code>BrokerTool</code>](#BrokerTool)
2008
+ **Overrides**: [<code>fetchSymbolList</code>](#PerpetualDataHandler+fetchSymbolList)
1919
2009
  <a name="PerpetualDataHandler+getOrderBookContract"></a>
1920
2010
 
1921
2011
  ### brokerTool.getOrderBookContract(symbol) ⇒
@@ -2332,6 +2422,7 @@ and executes smart-contract interactions that require gas-payments.</p>
2332
2422
  * [.setAllowance(symbol, amount)](#WriteAccessHandler+setAllowance) ⇒
2333
2423
  * [.getAddress()](#WriteAccessHandler+getAddress) ⇒ <code>string</code>
2334
2424
  * [.swapForMockToken(symbol, amountToPay)](#WriteAccessHandler+swapForMockToken) ⇒
2425
+ * [.fetchSymbolList()](#PerpetualDataHandler+fetchSymbolList)
2335
2426
  * [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
2336
2427
  * [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
2337
2428
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
@@ -2588,6 +2679,13 @@ into a mock token used for trading on testnet, with a rate of 1:100_000</p>
2588
2679
  | symbol | <p>Pool margin token e.g. MATIC</p> |
2589
2680
  | amountToPay | <p>Amount in chain currency, e.g. &quot;0.1&quot; for 0.1 MATIC</p> |
2590
2681
 
2682
+ <a name="PerpetualDataHandler+fetchSymbolList"></a>
2683
+
2684
+ ### liquidatorTool.fetchSymbolList()
2685
+ <p>sets the symbollist if a remote config url is specified</p>
2686
+
2687
+ **Kind**: instance method of [<code>LiquidatorTool</code>](#LiquidatorTool)
2688
+ **Overrides**: [<code>fetchSymbolList</code>](#PerpetualDataHandler+fetchSymbolList)
2591
2689
  <a name="PerpetualDataHandler+getOrderBookContract"></a>
2592
2690
 
2593
2691
  ### liquidatorTool.getOrderBookContract(symbol) ⇒
@@ -3002,6 +3100,7 @@ smart-contract interactions that require gas-payments.</p>
3002
3100
  * [.setAllowance(symbol, amount)](#WriteAccessHandler+setAllowance) ⇒
3003
3101
  * [.getAddress()](#WriteAccessHandler+getAddress) ⇒ <code>string</code>
3004
3102
  * [.swapForMockToken(symbol, amountToPay)](#WriteAccessHandler+swapForMockToken) ⇒
3103
+ * [.fetchSymbolList()](#PerpetualDataHandler+fetchSymbolList)
3005
3104
  * [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
3006
3105
  * [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
3007
3106
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
@@ -3197,6 +3296,13 @@ into a mock token used for trading on testnet, with a rate of 1:100_000</p>
3197
3296
  | symbol | <p>Pool margin token e.g. MATIC</p> |
3198
3297
  | amountToPay | <p>Amount in chain currency, e.g. &quot;0.1&quot; for 0.1 MATIC</p> |
3199
3298
 
3299
+ <a name="PerpetualDataHandler+fetchSymbolList"></a>
3300
+
3301
+ ### liquidityProviderTool.fetchSymbolList()
3302
+ <p>sets the symbollist if a remote config url is specified</p>
3303
+
3304
+ **Kind**: instance method of [<code>LiquidityProviderTool</code>](#LiquidityProviderTool)
3305
+ **Overrides**: [<code>fetchSymbolList</code>](#PerpetualDataHandler+fetchSymbolList)
3200
3306
  <a name="PerpetualDataHandler+getOrderBookContract"></a>
3201
3307
 
3202
3308
  ### liquidityProviderTool.getOrderBookContract(symbol) ⇒
@@ -3637,6 +3743,8 @@ No gas required for the queries here.</p>
3637
3743
  * [.isMarketClosed(symbol)](#MarketData+isMarketClosed) ⇒ <code>boolean</code>
3638
3744
  * [.getPriceInUSD(symbol)](#MarketData+getPriceInUSD) ⇒ <code>Map.&lt;string, number&gt;</code>
3639
3745
  * [.fetchPricesForPerpetual(symbol)](#MarketData+fetchPricesForPerpetual) ⇒
3746
+ * [.fetchPrdMktMetaData(symbol)](#MarketData+fetchPrdMktMetaData) ⇒
3747
+ * [.fetchSymbolList()](#PerpetualDataHandler+fetchSymbolList)
3640
3748
  * [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
3641
3749
  * [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
3642
3750
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
@@ -4417,6 +4525,25 @@ main();
4417
4525
  | --- | --- |
4418
4526
  | symbol | <p>Perpetual symbol of the form BTC-USDc-USDC</p> |
4419
4527
 
4528
+ <a name="MarketData+fetchPrdMktMetaData"></a>
4529
+
4530
+ ### marketData.fetchPrdMktMetaData(symbol) ⇒
4531
+ <p>fetch prediction markets meta data</p>
4532
+
4533
+ **Kind**: instance method of [<code>MarketData</code>](#MarketData)
4534
+ **Returns**: <p>question for given symbol</p>
4535
+
4536
+ | Param | Description |
4537
+ | --- | --- |
4538
+ | symbol | <p>symbol of the form &quot;TRUMP24-USD&quot;</p> |
4539
+
4540
+ <a name="PerpetualDataHandler+fetchSymbolList"></a>
4541
+
4542
+ ### marketData.fetchSymbolList()
4543
+ <p>sets the symbollist if a remote config url is specified</p>
4544
+
4545
+ **Kind**: instance method of [<code>MarketData</code>](#MarketData)
4546
+ **Overrides**: [<code>fetchSymbolList</code>](#PerpetualDataHandler+fetchSymbolList)
4420
4547
  <a name="PerpetualDataHandler+getOrderBookContract"></a>
4421
4548
 
4422
4549
  ### marketData.getOrderBookContract(symbol) ⇒
@@ -4870,6 +4997,7 @@ gas-payments.</p>
4870
4997
  * [.setAllowance(symbol, amount)](#WriteAccessHandler+setAllowance) ⇒
4871
4998
  * [.getAddress()](#WriteAccessHandler+getAddress) ⇒ <code>string</code>
4872
4999
  * [.swapForMockToken(symbol, amountToPay)](#WriteAccessHandler+swapForMockToken) ⇒
5000
+ * [.fetchSymbolList()](#PerpetualDataHandler+fetchSymbolList)
4873
5001
  * [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
4874
5002
  * [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
4875
5003
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
@@ -5172,6 +5300,13 @@ into a mock token used for trading on testnet, with a rate of 1:100_000</p>
5172
5300
  | symbol | <p>Pool margin token e.g. MATIC</p> |
5173
5301
  | amountToPay | <p>Amount in chain currency, e.g. &quot;0.1&quot; for 0.1 MATIC</p> |
5174
5302
 
5303
+ <a name="PerpetualDataHandler+fetchSymbolList"></a>
5304
+
5305
+ ### orderExecutorTool.fetchSymbolList()
5306
+ <p>sets the symbollist if a remote config url is specified</p>
5307
+
5308
+ **Kind**: instance method of [<code>OrderExecutorTool</code>](#OrderExecutorTool)
5309
+ **Overrides**: [<code>fetchSymbolList</code>](#PerpetualDataHandler+fetchSymbolList)
5175
5310
  <a name="PerpetualDataHandler+getOrderBookContract"></a>
5176
5311
 
5177
5312
  ### orderExecutorTool.getOrderBookContract(symbol) ⇒
@@ -5579,6 +5714,7 @@ common data and chain operations.</p>
5579
5714
  * [PerpetualDataHandler](#PerpetualDataHandler)
5580
5715
  * [new PerpetualDataHandler(config)](#new_PerpetualDataHandler_new)
5581
5716
  * _instance_
5717
+ * [.fetchSymbolList()](#PerpetualDataHandler+fetchSymbolList)
5582
5718
  * [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
5583
5719
  * [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
5584
5720
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
@@ -5642,6 +5778,12 @@ common data and chain operations.</p>
5642
5778
  | --- | --- | --- |
5643
5779
  | config | <code>NodeSDKConfig</code> | <p>Configuration object, see PerpetualDataHandler.readSDKConfig.</p> |
5644
5780
 
5781
+ <a name="PerpetualDataHandler+fetchSymbolList"></a>
5782
+
5783
+ ### perpetualDataHandler.fetchSymbolList()
5784
+ <p>sets the symbollist if a remote config url is specified</p>
5785
+
5786
+ **Kind**: instance method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
5645
5787
  <a name="PerpetualDataHandler+getOrderBookContract"></a>
5646
5788
 
5647
5789
  ### perpetualDataHandler.getOrderBookContract(symbol) ⇒
@@ -6645,6 +6787,7 @@ trader liquidations, trade executions, change of trader margin amount.</p>
6645
6787
 
6646
6788
  * [PriceFeeds](#PriceFeeds)
6647
6789
  * _instance_
6790
+ * [.init()](#PriceFeeds+init)
6648
6791
  * [.initializeTriangulations(symbols)](#PriceFeeds+initializeTriangulations)
6649
6792
  * [.getTriangulations()](#PriceFeeds+getTriangulations) ⇒
6650
6793
  * [.setTriangulations()](#PriceFeeds+setTriangulations)
@@ -6663,6 +6806,13 @@ trader liquidations, trade executions, change of trader margin amount.</p>
6663
6806
  * [._selectConfig(configs, network)](#PriceFeeds._selectConfig) ⇒
6664
6807
  * [._constructFeedInfo(config)](#PriceFeeds._constructFeedInfo) ⇒
6665
6808
 
6809
+ <a name="PriceFeeds+init"></a>
6810
+
6811
+ ### priceFeeds.init()
6812
+ <p>initialization function. Gathers config from config-hub if url
6813
+ specified</p>
6814
+
6815
+ **Kind**: instance method of [<code>PriceFeeds</code>](#PriceFeeds)
6666
6816
  <a name="PriceFeeds+initializeTriangulations"></a>
6667
6817
 
6668
6818
  ### priceFeeds.initializeTriangulations(symbols)
@@ -7044,6 +7194,8 @@ so that signatures can be handled in frontend via wallet</p>
7044
7194
  * [.isMarketClosed(symbol)](#MarketData+isMarketClosed) ⇒ <code>boolean</code>
7045
7195
  * [.getPriceInUSD(symbol)](#MarketData+getPriceInUSD) ⇒ <code>Map.&lt;string, number&gt;</code>
7046
7196
  * [.fetchPricesForPerpetual(symbol)](#MarketData+fetchPricesForPerpetual) ⇒
7197
+ * [.fetchPrdMktMetaData(symbol)](#MarketData+fetchPrdMktMetaData) ⇒
7198
+ * [.fetchSymbolList()](#PerpetualDataHandler+fetchSymbolList)
7047
7199
  * [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
7048
7200
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
7049
7201
  * [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
@@ -8093,6 +8245,26 @@ main();
8093
8245
  | --- | --- |
8094
8246
  | symbol | <p>Perpetual symbol of the form BTC-USDc-USDC</p> |
8095
8247
 
8248
+ <a name="MarketData+fetchPrdMktMetaData"></a>
8249
+
8250
+ ### traderInterface.fetchPrdMktMetaData(symbol) ⇒
8251
+ <p>fetch prediction markets meta data</p>
8252
+
8253
+ **Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
8254
+ **Overrides**: [<code>fetchPrdMktMetaData</code>](#MarketData+fetchPrdMktMetaData)
8255
+ **Returns**: <p>question for given symbol</p>
8256
+
8257
+ | Param | Description |
8258
+ | --- | --- |
8259
+ | symbol | <p>symbol of the form &quot;TRUMP24-USD&quot;</p> |
8260
+
8261
+ <a name="PerpetualDataHandler+fetchSymbolList"></a>
8262
+
8263
+ ### traderInterface.fetchSymbolList()
8264
+ <p>sets the symbollist if a remote config url is specified</p>
8265
+
8266
+ **Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
8267
+ **Overrides**: [<code>fetchSymbolList</code>](#PerpetualDataHandler+fetchSymbolList)
8096
8268
  <a name="PerpetualDataHandler+getOrderBookContract"></a>
8097
8269
 
8098
8270
  ### traderInterface.getOrderBookContract(symbol) ⇒
@@ -8507,6 +8679,7 @@ require gas-payments.</p>
8507
8679
  * [.setAllowance(symbol, amount)](#WriteAccessHandler+setAllowance) ⇒
8508
8680
  * [.getAddress()](#WriteAccessHandler+getAddress) ⇒ <code>string</code>
8509
8681
  * [.swapForMockToken(symbol, amountToPay)](#WriteAccessHandler+swapForMockToken) ⇒
8682
+ * [.fetchSymbolList()](#PerpetualDataHandler+fetchSymbolList)
8510
8683
  * [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
8511
8684
  * [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
8512
8685
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
@@ -8592,6 +8765,13 @@ into a mock token used for trading on testnet, with a rate of 1:100_000</p>
8592
8765
  | symbol | <p>Pool margin token e.g. MATIC</p> |
8593
8766
  | amountToPay | <p>Amount in chain currency, e.g. &quot;0.1&quot; for 0.1 MATIC</p> |
8594
8767
 
8768
+ <a name="PerpetualDataHandler+fetchSymbolList"></a>
8769
+
8770
+ ### writeAccessHandler.fetchSymbolList()
8771
+ <p>sets the symbollist if a remote config url is specified</p>
8772
+
8773
+ **Kind**: instance method of [<code>WriteAccessHandler</code>](#WriteAccessHandler)
8774
+ **Overrides**: [<code>fetchSymbolList</code>](#PerpetualDataHandler+fetchSymbolList)
8595
8775
  <a name="PerpetualDataHandler+getOrderBookContract"></a>
8596
8776
 
8597
8777
  ### writeAccessHandler.getOrderBookContract(symbol) ⇒
package/doc/marketData.md CHANGED
@@ -42,6 +42,7 @@ No gas required for the queries here.</p>
42
42
  * [.isMarketClosed(symbol)](#MarketData+isMarketClosed) ⇒ <code>boolean</code>
43
43
  * [.getPriceInUSD(symbol)](#MarketData+getPriceInUSD) ⇒ <code>Map.&lt;string, number&gt;</code>
44
44
  * [.fetchPricesForPerpetual(symbol)](#MarketData+fetchPricesForPerpetual) ⇒
45
+ * [.fetchPrdMktMetaData(symbol)](#MarketData+fetchPrdMktMetaData) ⇒
45
46
  * _static_
46
47
  * [.exchangeFeePrdMkts(state, maxMaintMgnRate, Sm, tradeAmtBC, tradeMgnRate)](#MarketData.exchangeFeePrdMkts) ⇒
47
48
 
@@ -795,6 +796,18 @@ main();
795
796
  | --- | --- |
796
797
  | symbol | <p>Perpetual symbol of the form BTC-USDc-USDC</p> |
797
798
 
799
+ <a name="MarketData+fetchPrdMktMetaData"></a>
800
+
801
+ ### marketData.fetchPrdMktMetaData(symbol) ⇒
802
+ <p>fetch prediction markets meta data</p>
803
+
804
+ **Kind**: instance method of [<code>MarketData</code>](#MarketData)
805
+ **Returns**: <p>question for given symbol</p>
806
+
807
+ | Param | Description |
808
+ | --- | --- |
809
+ | symbol | <p>symbol of the form &quot;TRUMP24-USD&quot;</p> |
810
+
798
811
  <a name="MarketData.exchangeFeePrdMkts"></a>
799
812
 
800
813
  ### MarketData.exchangeFeePrdMkts(state, maxMaintMgnRate, Sm, tradeAmtBC, tradeMgnRate) ⇒
@@ -9,6 +9,7 @@ common data and chain operations.</p>
9
9
  * [PerpetualDataHandler](#PerpetualDataHandler)
10
10
  * [new PerpetualDataHandler(config)](#new_PerpetualDataHandler_new)
11
11
  * _instance_
12
+ * [.fetchSymbolList()](#PerpetualDataHandler+fetchSymbolList)
12
13
  * [.getOrderBookContract(symbol)](#PerpetualDataHandler+getOrderBookContract) ⇒
13
14
  * [.getOrderBookAddress(symbol)](#PerpetualDataHandler+getOrderBookAddress) ⇒
14
15
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
@@ -72,6 +73,12 @@ common data and chain operations.</p>
72
73
  | --- | --- | --- |
73
74
  | config | <code>NodeSDKConfig</code> | <p>Configuration object, see PerpetualDataHandler.readSDKConfig.</p> |
74
75
 
76
+ <a name="PerpetualDataHandler+fetchSymbolList"></a>
77
+
78
+ ### perpetualDataHandler.fetchSymbolList()
79
+ <p>sets the symbollist if a remote config url is specified</p>
80
+
81
+ **Kind**: instance method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
75
82
  <a name="PerpetualDataHandler+getOrderBookContract"></a>
76
83
 
77
84
  ### perpetualDataHandler.getOrderBookContract(symbol) ⇒
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d8x/perpetuals-sdk",
3
- "version": "2.1.6-alpha2",
3
+ "version": "2.1.8-alpha2",
4
4
  "description": "Node TypeScript SDK for D8X Perpetual Futures",
5
5
  "author": "D8X",
6
6
  "homepage": "https://github.com/D8-X/d8x-futures-node-sdk#readme",
package/src/d8XMath.ts CHANGED
@@ -578,7 +578,7 @@ export function pmExcessBalance(
578
578
  mc: number,
579
579
  m: number | undefined
580
580
  ): number {
581
- return pmMarginBalance(pos, mc, s2, s3, ell) - pmMarginThresh(pos, s2, s3, m);
581
+ return pmMarginBalance(pos, s2, s3, ell, mc) - pmMarginThresh(pos, s2, s3, m);
582
582
  }
583
583
 
584
584
  // finds the liquidation price for prediction markets
@@ -664,7 +664,7 @@ function excessMargin(
664
664
  * @param price
665
665
  * @param S3
666
666
  * @param S2Mark
667
- * @returns
667
+ * @returns deposit amount
668
668
  */
669
669
  function pmGetDepositAmtForLvgTrade(
670
670
  tradeAmt: number,
@@ -703,7 +703,7 @@ function pmGetDepositAmtForLvgTrade(
703
703
  * @param S3
704
704
  * @param totLong
705
705
  * @param totShort
706
- * @returns
706
+ * @returns excess cash
707
707
  */
708
708
  function pmExcessCashAtLvg(
709
709
  tradeAmt: number,
@@ -776,7 +776,7 @@ function pmExcessCashAtLvg(
776
776
  * @param totShort
777
777
  * @param maxShort
778
778
  * @param maxLong
779
- * @returns
779
+ * @returns max trade size
780
780
  */
781
781
  export function pmFindMaxPersonalTradeSizeAtLeverage(
782
782
  dir: number,
package/src/marketData.ts CHANGED
@@ -2508,11 +2508,11 @@ export default class MarketData extends PerpetualDataHandler {
2508
2508
  }
2509
2509
 
2510
2510
  /**
2511
- * fetch prediction markets question
2511
+ * fetch prediction markets meta data
2512
2512
  * @param symbol symbol of the form "TRUMP24-USD"
2513
2513
  * @returns question for given symbol
2514
2514
  */
2515
- public async fetchPrdMktQuestion(symbol: string): Promise<string> {
2515
+ public async fetchPrdMktMetaData(symbol: string): Promise<string> {
2516
2516
  const c = this.priceFeedGetter.getConfig().ids;
2517
2517
  let j = -1;
2518
2518
  for (let k = 0; k < c.length; k++) {
@@ -2534,6 +2534,6 @@ export default class MarketData extends PerpetualDataHandler {
2534
2534
  throw new Error(`failed to fetch posts (${response.status}): ${response.statusText} ${query}`);
2535
2535
  }
2536
2536
  const data = await response.json();
2537
- return data.question;
2537
+ return data;
2538
2538
  }
2539
2539
  }
@@ -926,6 +926,27 @@ export default class PerpetualDataHandler {
926
926
  return mgn;
927
927
  }
928
928
 
929
+ public async getMarginAccount(
930
+ traderAddr: string,
931
+ symbol: string,
932
+ idxPriceInfo: IdxPriceInfo,
933
+ overrides?: Overrides
934
+ ): Promise<MarginAccount> {
935
+ if (this.proxyContract == null) {
936
+ throw Error("no proxy contract initialized. Use createProxyInstance().");
937
+ }
938
+ const isPred = this.isPredictionMarket(symbol);
939
+ return PerpetualDataHandler.getMarginAccount(
940
+ traderAddr,
941
+ symbol,
942
+ this.symbolToPerpStaticInfo,
943
+ new Contract(this.proxyAddr, this.config.proxyABI!, this.provider),
944
+ idxPriceInfo,
945
+ isPred,
946
+ overrides
947
+ );
948
+ }
949
+
929
950
  /**
930
951
  * Get trader state from the blockchain and parse into a human-readable margin account
931
952
  * @param traderAddr Trader address
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const D8X_SDK_VERSION = "2.1.6-alpha2";
1
+ export const D8X_SDK_VERSION = "2.1.8-alpha2";