@d8x/perpetuals-sdk 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/dist/cjs/abi/IPerpetualManager.json +7 -2
  2. package/dist/cjs/config/priceFeedConfig.json +12 -6
  3. package/dist/cjs/config/priceFeedOnChain.json +11 -0
  4. package/dist/cjs/config/settlement.json +12 -0
  5. package/dist/cjs/contracts/IPerpetualManager.d.ts +6 -3
  6. package/dist/cjs/contracts/factories/IPerpetualManager__factory.d.ts +6 -2
  7. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +7 -2
  8. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  9. package/dist/cjs/marketData.d.ts +2 -1
  10. package/dist/cjs/marketData.js +18 -8
  11. package/dist/cjs/marketData.js.map +1 -1
  12. package/dist/cjs/nodeSDKTypes.d.ts +21 -2
  13. package/dist/cjs/onChainPxFactory.js +8 -2
  14. package/dist/cjs/onChainPxFactory.js.map +1 -1
  15. package/dist/cjs/onChainPxFeed.d.ts +9 -13
  16. package/dist/cjs/onChainPxFeed.js +8 -45
  17. package/dist/cjs/onChainPxFeed.js.map +1 -1
  18. package/dist/cjs/onChainPxFeedAngle.d.ts +18 -0
  19. package/dist/cjs/onChainPxFeedAngle.js +74 -0
  20. package/dist/cjs/onChainPxFeedAngle.js.map +1 -0
  21. package/dist/cjs/onChainPxFeedRedStone.d.ts +13 -0
  22. package/dist/cjs/onChainPxFeedRedStone.js +52 -0
  23. package/dist/cjs/onChainPxFeedRedStone.js.map +1 -0
  24. package/dist/cjs/perpetualDataHandler.d.ts +31 -3
  25. package/dist/cjs/perpetualDataHandler.js +118 -7
  26. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  27. package/dist/cjs/version.d.ts +1 -1
  28. package/dist/cjs/version.js +1 -1
  29. package/dist/esm/abi/IPerpetualManager.json +7 -2
  30. package/dist/esm/config/priceFeedConfig.json +12 -6
  31. package/dist/esm/config/priceFeedOnChain.json +11 -0
  32. package/dist/esm/config/settlement.json +12 -0
  33. package/dist/esm/contracts/IPerpetualManager.d.ts +6 -3
  34. package/dist/esm/contracts/factories/IPerpetualManager__factory.d.ts +6 -2
  35. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +7 -2
  36. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  37. package/dist/{cjs/contracts/factories/MockToken__factory.d.ts → esm/contracts/factories/PerpStorage__factory.d.ts} +115 -128
  38. package/dist/esm/contracts/factories/{MockToken__factory.js → PerpStorage__factory.js} +128 -139
  39. package/dist/esm/contracts/factories/PerpStorage__factory.js.map +1 -0
  40. package/dist/esm/marketData.d.ts +2 -1
  41. package/dist/esm/marketData.js +18 -8
  42. package/dist/esm/marketData.js.map +1 -1
  43. package/dist/esm/nodeSDKTypes.d.ts +21 -2
  44. package/dist/esm/onChainPxFactory.js +8 -2
  45. package/dist/esm/onChainPxFactory.js.map +1 -1
  46. package/dist/esm/onChainPxFeed.d.ts +9 -13
  47. package/dist/esm/onChainPxFeed.js +8 -45
  48. package/dist/esm/onChainPxFeed.js.map +1 -1
  49. package/dist/esm/onChainPxFeedAngle.d.ts +18 -0
  50. package/dist/esm/onChainPxFeedAngle.js +66 -0
  51. package/dist/esm/onChainPxFeedAngle.js.map +1 -0
  52. package/dist/esm/onChainPxFeedRedStone.d.ts +13 -0
  53. package/dist/esm/onChainPxFeedRedStone.js +46 -0
  54. package/dist/esm/onChainPxFeedRedStone.js.map +1 -0
  55. package/dist/esm/perpetualDataHandler.d.ts +31 -3
  56. package/dist/esm/perpetualDataHandler.js +118 -7
  57. package/dist/esm/perpetualDataHandler.js.map +1 -1
  58. package/dist/esm/version.d.ts +1 -1
  59. package/dist/esm/version.js +1 -1
  60. package/doc/d8x-perpetuals-sdk.md +550 -20
  61. package/doc/marketData.md +2 -1
  62. package/doc/perpetualDataHandler.md +53 -2
  63. package/package.json +1 -1
  64. package/src/abi/IPerpetualManager.json +5263 -5258
  65. package/src/config/priceFeedConfig.json +12 -6
  66. package/src/config/priceFeedOnChain.json +11 -0
  67. package/src/config/settlement.json +12 -0
  68. package/src/contracts/IPerpetualManager.ts +6 -3
  69. package/src/contracts/factories/IPerpetualManager__factory.ts +7 -2
  70. package/src/marketData.ts +18 -9
  71. package/src/nodeSDKTypes.ts +23 -2
  72. package/src/onChainPxFactory.ts +7 -1
  73. package/src/onChainPxFeed.ts +16 -55
  74. package/src/onChainPxFeedAngle.ts +74 -0
  75. package/src/onChainPxFeedRedStone.ts +55 -0
  76. package/src/perpetualDataHandler.ts +125 -9
  77. package/src/version.ts +1 -1
  78. package/dist/cjs/abi/Maintainer.json +0 -774
  79. package/dist/cjs/abi/MockToken.json +0 -347
  80. package/dist/cjs/abi/UUPSUpgradeable.json +0 -104
  81. package/dist/cjs/abi/WeETH.json +0 -310
  82. package/dist/cjs/abi-zkevm/LimitOrderBook.json +0 -910
  83. package/dist/cjs/abi-zkevm/LimitOrderBookFactory.json +0 -236
  84. package/dist/cjs/contracts/Maintainer.d.ts +0 -799
  85. package/dist/cjs/contracts/Maintainer.js +0 -3
  86. package/dist/cjs/contracts/Maintainer.js.map +0 -1
  87. package/dist/cjs/contracts/MockToken.d.ts +0 -263
  88. package/dist/cjs/contracts/MockToken.js +0 -3
  89. package/dist/cjs/contracts/MockToken.js.map +0 -1
  90. package/dist/cjs/contracts/UUPSUpgradeable.d.ts +0 -118
  91. package/dist/cjs/contracts/UUPSUpgradeable.js +0 -3
  92. package/dist/cjs/contracts/UUPSUpgradeable.js.map +0 -1
  93. package/dist/cjs/contracts/WeETH.d.ts +0 -503
  94. package/dist/cjs/contracts/WeETH.js +0 -3
  95. package/dist/cjs/contracts/WeETH.js.map +0 -1
  96. package/dist/cjs/contracts/factories/Maintainer__factory.d.ts +0 -609
  97. package/dist/cjs/contracts/factories/Maintainer__factory.js +0 -792
  98. package/dist/cjs/contracts/factories/Maintainer__factory.js.map +0 -1
  99. package/dist/cjs/contracts/factories/MockToken__factory.js +0 -365
  100. package/dist/cjs/contracts/factories/MockToken__factory.js.map +0 -1
  101. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
  102. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js +0 -122
  103. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
  104. package/dist/cjs/contracts/factories/WeETH__factory.d.ts +0 -545
  105. package/dist/cjs/contracts/factories/WeETH__factory.js +0 -721
  106. package/dist/cjs/contracts/factories/WeETH__factory.js.map +0 -1
  107. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
  108. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5324
  109. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
  110. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
  111. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -254
  112. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
  113. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
  114. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js +0 -928
  115. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
  116. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
  117. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js +0 -456
  118. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
  119. package/dist/cjs/contracts/factories/lean0/index.d.ts +0 -4
  120. package/dist/cjs/contracts/factories/lean0/index.js +0 -15
  121. package/dist/cjs/contracts/factories/lean0/index.js.map +0 -1
  122. package/dist/cjs/contracts/lean0/IPerpetualManager.d.ts +0 -2821
  123. package/dist/cjs/contracts/lean0/IPerpetualManager.js +0 -3
  124. package/dist/cjs/contracts/lean0/IPerpetualManager.js.map +0 -1
  125. package/dist/cjs/contracts/lean0/LimitOrderBook.d.ts +0 -533
  126. package/dist/cjs/contracts/lean0/LimitOrderBook.js +0 -3
  127. package/dist/cjs/contracts/lean0/LimitOrderBook.js.map +0 -1
  128. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
  129. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js +0 -3
  130. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
  131. package/dist/cjs/contracts/lean0/ShareToken.d.ts +0 -320
  132. package/dist/cjs/contracts/lean0/ShareToken.js +0 -3
  133. package/dist/cjs/contracts/lean0/ShareToken.js.map +0 -1
  134. package/dist/cjs/contracts/lean0/index.d.ts +0 -4
  135. package/dist/cjs/contracts/lean0/index.js +0 -3
  136. package/dist/cjs/contracts/lean0/index.js.map +0 -1
  137. package/dist/esm/abi/Maintainer.json +0 -774
  138. package/dist/esm/abi/MockToken.json +0 -347
  139. package/dist/esm/abi/UUPSUpgradeable.json +0 -104
  140. package/dist/esm/abi/WeETH.json +0 -310
  141. package/dist/esm/abi/lean0/IPerpetualManager.json +0 -5306
  142. package/dist/esm/abi/lean0/LimitOrderBook.json +0 -910
  143. package/dist/esm/abi/lean0/LimitOrderBookFactory.json +0 -236
  144. package/dist/esm/abi/lean0/ShareToken.json +0 -438
  145. package/dist/esm/abi-zkevm/LimitOrderBook.json +0 -910
  146. package/dist/esm/abi-zkevm/LimitOrderBookFactory.json +0 -236
  147. package/dist/esm/contracts/Maintainer.d.ts +0 -799
  148. package/dist/esm/contracts/Maintainer.js +0 -2
  149. package/dist/esm/contracts/Maintainer.js.map +0 -1
  150. package/dist/esm/contracts/MockToken.d.ts +0 -263
  151. package/dist/esm/contracts/MockToken.js +0 -2
  152. package/dist/esm/contracts/MockToken.js.map +0 -1
  153. package/dist/esm/contracts/UUPSUpgradeable.d.ts +0 -118
  154. package/dist/esm/contracts/UUPSUpgradeable.js +0 -2
  155. package/dist/esm/contracts/UUPSUpgradeable.js.map +0 -1
  156. package/dist/esm/contracts/WeETH.d.ts +0 -503
  157. package/dist/esm/contracts/WeETH.js +0 -2
  158. package/dist/esm/contracts/WeETH.js.map +0 -1
  159. package/dist/esm/contracts/factories/Maintainer__factory.d.ts +0 -609
  160. package/dist/esm/contracts/factories/Maintainer__factory.js +0 -788
  161. package/dist/esm/contracts/factories/Maintainer__factory.js.map +0 -1
  162. package/dist/esm/contracts/factories/MockToken__factory.d.ts +0 -273
  163. package/dist/esm/contracts/factories/MockToken__factory.js.map +0 -1
  164. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
  165. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js +0 -118
  166. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
  167. package/dist/esm/contracts/factories/WeETH__factory.d.ts +0 -545
  168. package/dist/esm/contracts/factories/WeETH__factory.js +0 -717
  169. package/dist/esm/contracts/factories/WeETH__factory.js.map +0 -1
  170. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
  171. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5320
  172. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
  173. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
  174. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -250
  175. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
  176. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
  177. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js +0 -924
  178. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
  179. package/dist/esm/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
  180. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js +0 -452
  181. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
  182. package/dist/esm/contracts/factories/lean0/index.d.ts +0 -4
  183. package/dist/esm/contracts/factories/lean0/index.js +0 -8
  184. package/dist/esm/contracts/factories/lean0/index.js.map +0 -1
  185. package/dist/esm/contracts/lean0/IPerpetualManager.d.ts +0 -2821
  186. package/dist/esm/contracts/lean0/IPerpetualManager.js +0 -2
  187. package/dist/esm/contracts/lean0/IPerpetualManager.js.map +0 -1
  188. package/dist/esm/contracts/lean0/LimitOrderBook.d.ts +0 -533
  189. package/dist/esm/contracts/lean0/LimitOrderBook.js +0 -2
  190. package/dist/esm/contracts/lean0/LimitOrderBook.js.map +0 -1
  191. package/dist/esm/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
  192. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js +0 -2
  193. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
  194. package/dist/esm/contracts/lean0/ShareToken.d.ts +0 -320
  195. package/dist/esm/contracts/lean0/ShareToken.js +0 -2
  196. package/dist/esm/contracts/lean0/ShareToken.js.map +0 -1
  197. package/dist/esm/contracts/lean0/index.d.ts +0 -4
  198. package/dist/esm/contracts/lean0/index.js +0 -2
  199. package/dist/esm/contracts/lean0/index.js.map +0 -1
  200. package/src/contracts/MockToken.ts +0 -581
  201. package/src/contracts/UUPSUpgradeable.ts +0 -228
  202. package/src/contracts/WeETH.ts +0 -1104
  203. package/src/contracts/factories/MockToken__factory.ts +0 -368
  204. package/src/contracts/factories/UUPSUpgradeable__factory.ts +0 -128
  205. package/src/contracts/factories/WeETH__factory.ts +0 -721
@@ -30,6 +30,10 @@ This class requires no private key and is blockchain read-only.
30
30
  No gas required for the queries here.</p></dd>
31
31
  <dt><a href="#OnChainPxFeed">OnChainPxFeed</a></dt>
32
32
  <dd><p>OnChainPxFeed: get a price from a chainlink-style oracle</p></dd>
33
+ <dt><a href="#OnChainPxFeedAngle">OnChainPxFeedAngle</a></dt>
34
+ <dd><p>OnChainPxFeedAngle: get STUSD-USDC exchange rate</p></dd>
35
+ <dt><a href="#OnChainPxFeedRedStone">OnChainPxFeedRedStone</a></dt>
36
+ <dd><p>OnChainPxFeedRedStone: get a price from a chainlink-style oracle</p></dd>
33
37
  <dt><a href="#OrderExecutorTool">OrderExecutorTool</a> ⇐ <code><a href="#WriteAccessHandler">WriteAccessHandler</a></code></dt>
34
38
  <dd><p>Functions to execute existing conditional orders from the limit order book. This class
35
39
  requires a private key and executes smart-contract interactions that require
@@ -87,6 +91,14 @@ This class requires a private key and executes smart-contract interaction that
87
91
  require gas-payments.</p></dd>
88
92
  </dl>
89
93
 
94
+ ## Members
95
+
96
+ <dl>
97
+ <dt><a href="#default">default</a> ⇒</dt>
98
+ <dd><p>Gets the price of one Angle stUSD in USDC from
99
+ on-chain</p></dd>
100
+ </dl>
101
+
90
102
  <a name="module_d8xMath"></a>
91
103
 
92
104
  ## d8xMath
@@ -476,6 +488,7 @@ require gas-payments.</p>
476
488
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
477
489
  * [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
478
490
  * [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
491
+ * [.initSettlementToken(perpStaticInfos)](#PerpetualDataHandler+initSettlementToken)
479
492
  * [.getSymbolFromPoolId(poolId)](#PerpetualDataHandler+getSymbolFromPoolId) ⇒ <code>symbol</code>
480
493
  * [.getPoolIdFromSymbol(symbol)](#PerpetualDataHandler+getPoolIdFromSymbol) ⇒ <code>number</code>
481
494
  * [.getPerpIdFromSymbol(symbol)](#PerpetualDataHandler+getPerpIdFromSymbol) ⇒ <code>number</code>
@@ -484,6 +497,7 @@ require gas-payments.</p>
484
497
  * [.fetchPriceSubmissionInfoForPerpetual(symbol)](#PerpetualDataHandler+fetchPriceSubmissionInfoForPerpetual) ⇒
485
498
  * [.getIndexSymbols(symbol)](#PerpetualDataHandler+getIndexSymbols) ⇒
486
499
  * [.fetchLatestFeedPriceInfo(symbol)](#PerpetualDataHandler+fetchLatestFeedPriceInfo) ⇒
500
+ * [.fetchCollateralToSettlementConversion(symbol)](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
487
501
  * [.getPriceIds(symbol)](#PerpetualDataHandler+getPriceIds) ⇒
488
502
  * [.getPerpetualSymbolsInPool(poolSymbol)](#PerpetualDataHandler+getPerpetualSymbolsInPool) ⇒
489
503
  * [.getAllOpenOrders(symbol)](#PerpetualDataHandler+getAllOpenOrders) ⇒
@@ -491,7 +505,9 @@ require gas-payments.</p>
491
505
  * [.pollLimitOrders(symbol, numElements, [startAfter])](#PerpetualDataHandler+pollLimitOrders) ⇒
492
506
  * [.getPoolStaticInfoIndexFromSymbol(symbol)](#PerpetualDataHandler+getPoolStaticInfoIndexFromSymbol) ⇒
493
507
  * [.getMarginTokenFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenFromSymbol) ⇒
508
+ * [.getSettlementTokenFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenFromSymbol) ⇒
494
509
  * [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
510
+ * [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
495
511
  * [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
496
512
 
497
513
  <a name="new_AccountTrade_new"></a>
@@ -830,6 +846,19 @@ and this.nestedPerpetualIDs and this.symbolToPerpStaticInfo</p>
830
846
 
831
847
  **Kind**: instance method of [<code>AccountTrade</code>](#AccountTrade)
832
848
  **Overrides**: [<code>\_fillSymbolMaps</code>](#PerpetualDataHandler+_fillSymbolMaps)
849
+ <a name="PerpetualDataHandler+initSettlementToken"></a>
850
+
851
+ ### accountTrade.initSettlementToken(perpStaticInfos)
852
+ <p>Initializes settlement currency for all pools by
853
+ completing this.poolStaticInfos with settlement currency info</p>
854
+
855
+ **Kind**: instance method of [<code>AccountTrade</code>](#AccountTrade)
856
+ **Overrides**: [<code>initSettlementToken</code>](#PerpetualDataHandler+initSettlementToken)
857
+
858
+ | Param | Description |
859
+ | --- | --- |
860
+ | perpStaticInfos | <p>PerpetualStaticInfo array from contract call</p> |
861
+
833
862
  <a name="PerpetualDataHandler+getSymbolFromPoolId"></a>
834
863
 
835
864
  ### accountTrade.getSymbolFromPoolId(poolId) ⇒ <code>symbol</code>
@@ -935,6 +964,22 @@ and corresponding price information</p>
935
964
  | --- | --- |
936
965
  | symbol | <p>perpetual symbol of the form BTC-USD-MATIC</p> |
937
966
 
967
+ <a name="PerpetualDataHandler+fetchCollateralToSettlementConversion"></a>
968
+
969
+ ### accountTrade.fetchCollateralToSettlementConversion(symbol)
970
+ <p>fetchCollateralToSettlementConversion returns the price which converts the collateral
971
+ currency into settlement currency. For example if BTC-USD-STUSD has settlement currency
972
+ USDC, we get
973
+ let px = fetchCollateralToSettlementConversion(&quot;BTC-USD-STUSD&quot;)
974
+ valueInUSDC = collateralInSTUSD * px</p>
975
+
976
+ **Kind**: instance method of [<code>AccountTrade</code>](#AccountTrade)
977
+ **Overrides**: [<code>fetchCollateralToSettlementConversion</code>](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
978
+
979
+ | Param | Description |
980
+ | --- | --- |
981
+ | symbol | <p>either perpetual symbol of the form BTC-USD-MATIC or just collateral token</p> |
982
+
938
983
  <a name="PerpetualDataHandler+getPriceIds"></a>
939
984
 
940
985
  ### accountTrade.getPriceIds(symbol) ⇒
@@ -1069,23 +1114,45 @@ main();
1069
1114
  ### accountTrade.getMarginTokenFromSymbol(symbol) ⇒
1070
1115
  **Kind**: instance method of [<code>AccountTrade</code>](#AccountTrade)
1071
1116
  **Overrides**: [<code>getMarginTokenFromSymbol</code>](#PerpetualDataHandler+getMarginTokenFromSymbol)
1072
- **Returns**: <p>Address of the corresponding token</p>
1117
+ **Returns**: <p>Address of the corresponding margin token</p>
1073
1118
 
1074
1119
  | Param | Description |
1075
1120
  | --- | --- |
1076
1121
  | symbol | <p>Symbol of the form USDC</p> |
1077
1122
 
1123
+ <a name="PerpetualDataHandler+getSettlementTokenFromSymbol"></a>
1124
+
1125
+ ### accountTrade.getSettlementTokenFromSymbol(symbol) ⇒
1126
+ **Kind**: instance method of [<code>AccountTrade</code>](#AccountTrade)
1127
+ **Overrides**: [<code>getSettlementTokenFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenFromSymbol)
1128
+ **Returns**: <p>Address of the corresponding settlement token</p>
1129
+
1130
+ | Param | Description |
1131
+ | --- | --- |
1132
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
1133
+
1078
1134
  <a name="PerpetualDataHandler+getMarginTokenDecimalsFromSymbol"></a>
1079
1135
 
1080
1136
  ### accountTrade.getMarginTokenDecimalsFromSymbol(symbol) ⇒
1081
1137
  **Kind**: instance method of [<code>AccountTrade</code>](#AccountTrade)
1082
1138
  **Overrides**: [<code>getMarginTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol)
1083
- **Returns**: <p>Decimals of the corresponding token</p>
1139
+ **Returns**: <p>Decimals of the corresponding margin token</p>
1084
1140
 
1085
1141
  | Param | Description |
1086
1142
  | --- | --- |
1087
1143
  | symbol | <p>Symbol of the form USDC</p> |
1088
1144
 
1145
+ <a name="PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol"></a>
1146
+
1147
+ ### accountTrade.getSettlementTokenDecimalsFromSymbol(symbol) ⇒
1148
+ **Kind**: instance method of [<code>AccountTrade</code>](#AccountTrade)
1149
+ **Overrides**: [<code>getSettlementTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol)
1150
+ **Returns**: <p>Decimals of the corresponding settlement token</p>
1151
+
1152
+ | Param | Description |
1153
+ | --- | --- |
1154
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
1155
+
1089
1156
  <a name="PerpetualDataHandler+getABI"></a>
1090
1157
 
1091
1158
  ### accountTrade.getABI(contract) ⇒
@@ -1131,6 +1198,7 @@ require gas-payments.</p>
1131
1198
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
1132
1199
  * [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
1133
1200
  * [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
1201
+ * [.initSettlementToken(perpStaticInfos)](#PerpetualDataHandler+initSettlementToken)
1134
1202
  * [.getSymbolFromPoolId(poolId)](#PerpetualDataHandler+getSymbolFromPoolId) ⇒ <code>symbol</code>
1135
1203
  * [.getPoolIdFromSymbol(symbol)](#PerpetualDataHandler+getPoolIdFromSymbol) ⇒ <code>number</code>
1136
1204
  * [.getPerpIdFromSymbol(symbol)](#PerpetualDataHandler+getPerpIdFromSymbol) ⇒ <code>number</code>
@@ -1139,6 +1207,7 @@ require gas-payments.</p>
1139
1207
  * [.fetchPriceSubmissionInfoForPerpetual(symbol)](#PerpetualDataHandler+fetchPriceSubmissionInfoForPerpetual) ⇒
1140
1208
  * [.getIndexSymbols(symbol)](#PerpetualDataHandler+getIndexSymbols) ⇒
1141
1209
  * [.fetchLatestFeedPriceInfo(symbol)](#PerpetualDataHandler+fetchLatestFeedPriceInfo) ⇒
1210
+ * [.fetchCollateralToSettlementConversion(symbol)](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
1142
1211
  * [.getPriceIds(symbol)](#PerpetualDataHandler+getPriceIds) ⇒
1143
1212
  * [.getPerpetualSymbolsInPool(poolSymbol)](#PerpetualDataHandler+getPerpetualSymbolsInPool) ⇒
1144
1213
  * [.getAllOpenOrders(symbol)](#PerpetualDataHandler+getAllOpenOrders) ⇒
@@ -1146,7 +1215,9 @@ require gas-payments.</p>
1146
1215
  * [.pollLimitOrders(symbol, numElements, [startAfter])](#PerpetualDataHandler+pollLimitOrders) ⇒
1147
1216
  * [.getPoolStaticInfoIndexFromSymbol(symbol)](#PerpetualDataHandler+getPoolStaticInfoIndexFromSymbol) ⇒
1148
1217
  * [.getMarginTokenFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenFromSymbol) ⇒
1218
+ * [.getSettlementTokenFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenFromSymbol) ⇒
1149
1219
  * [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
1220
+ * [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
1150
1221
  * [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
1151
1222
 
1152
1223
  <a name="new_BrokerTool_new"></a>
@@ -1667,6 +1738,19 @@ and this.nestedPerpetualIDs and this.symbolToPerpStaticInfo</p>
1667
1738
 
1668
1739
  **Kind**: instance method of [<code>BrokerTool</code>](#BrokerTool)
1669
1740
  **Overrides**: [<code>\_fillSymbolMaps</code>](#PerpetualDataHandler+_fillSymbolMaps)
1741
+ <a name="PerpetualDataHandler+initSettlementToken"></a>
1742
+
1743
+ ### brokerTool.initSettlementToken(perpStaticInfos)
1744
+ <p>Initializes settlement currency for all pools by
1745
+ completing this.poolStaticInfos with settlement currency info</p>
1746
+
1747
+ **Kind**: instance method of [<code>BrokerTool</code>](#BrokerTool)
1748
+ **Overrides**: [<code>initSettlementToken</code>](#PerpetualDataHandler+initSettlementToken)
1749
+
1750
+ | Param | Description |
1751
+ | --- | --- |
1752
+ | perpStaticInfos | <p>PerpetualStaticInfo array from contract call</p> |
1753
+
1670
1754
  <a name="PerpetualDataHandler+getSymbolFromPoolId"></a>
1671
1755
 
1672
1756
  ### brokerTool.getSymbolFromPoolId(poolId) ⇒ <code>symbol</code>
@@ -1772,6 +1856,22 @@ and corresponding price information</p>
1772
1856
  | --- | --- |
1773
1857
  | symbol | <p>perpetual symbol of the form BTC-USD-MATIC</p> |
1774
1858
 
1859
+ <a name="PerpetualDataHandler+fetchCollateralToSettlementConversion"></a>
1860
+
1861
+ ### brokerTool.fetchCollateralToSettlementConversion(symbol)
1862
+ <p>fetchCollateralToSettlementConversion returns the price which converts the collateral
1863
+ currency into settlement currency. For example if BTC-USD-STUSD has settlement currency
1864
+ USDC, we get
1865
+ let px = fetchCollateralToSettlementConversion(&quot;BTC-USD-STUSD&quot;)
1866
+ valueInUSDC = collateralInSTUSD * px</p>
1867
+
1868
+ **Kind**: instance method of [<code>BrokerTool</code>](#BrokerTool)
1869
+ **Overrides**: [<code>fetchCollateralToSettlementConversion</code>](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
1870
+
1871
+ | Param | Description |
1872
+ | --- | --- |
1873
+ | symbol | <p>either perpetual symbol of the form BTC-USD-MATIC or just collateral token</p> |
1874
+
1775
1875
  <a name="PerpetualDataHandler+getPriceIds"></a>
1776
1876
 
1777
1877
  ### brokerTool.getPriceIds(symbol) ⇒
@@ -1906,23 +2006,45 @@ main();
1906
2006
  ### brokerTool.getMarginTokenFromSymbol(symbol) ⇒
1907
2007
  **Kind**: instance method of [<code>BrokerTool</code>](#BrokerTool)
1908
2008
  **Overrides**: [<code>getMarginTokenFromSymbol</code>](#PerpetualDataHandler+getMarginTokenFromSymbol)
1909
- **Returns**: <p>Address of the corresponding token</p>
2009
+ **Returns**: <p>Address of the corresponding margin token</p>
1910
2010
 
1911
2011
  | Param | Description |
1912
2012
  | --- | --- |
1913
2013
  | symbol | <p>Symbol of the form USDC</p> |
1914
2014
 
2015
+ <a name="PerpetualDataHandler+getSettlementTokenFromSymbol"></a>
2016
+
2017
+ ### brokerTool.getSettlementTokenFromSymbol(symbol) ⇒
2018
+ **Kind**: instance method of [<code>BrokerTool</code>](#BrokerTool)
2019
+ **Overrides**: [<code>getSettlementTokenFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenFromSymbol)
2020
+ **Returns**: <p>Address of the corresponding settlement token</p>
2021
+
2022
+ | Param | Description |
2023
+ | --- | --- |
2024
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
2025
+
1915
2026
  <a name="PerpetualDataHandler+getMarginTokenDecimalsFromSymbol"></a>
1916
2027
 
1917
2028
  ### brokerTool.getMarginTokenDecimalsFromSymbol(symbol) ⇒
1918
2029
  **Kind**: instance method of [<code>BrokerTool</code>](#BrokerTool)
1919
2030
  **Overrides**: [<code>getMarginTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol)
1920
- **Returns**: <p>Decimals of the corresponding token</p>
2031
+ **Returns**: <p>Decimals of the corresponding margin token</p>
1921
2032
 
1922
2033
  | Param | Description |
1923
2034
  | --- | --- |
1924
2035
  | symbol | <p>Symbol of the form USDC</p> |
1925
2036
 
2037
+ <a name="PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol"></a>
2038
+
2039
+ ### brokerTool.getSettlementTokenDecimalsFromSymbol(symbol) ⇒
2040
+ **Kind**: instance method of [<code>BrokerTool</code>](#BrokerTool)
2041
+ **Overrides**: [<code>getSettlementTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol)
2042
+ **Returns**: <p>Decimals of the corresponding settlement token</p>
2043
+
2044
+ | Param | Description |
2045
+ | --- | --- |
2046
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
2047
+
1926
2048
  <a name="PerpetualDataHandler+getABI"></a>
1927
2049
 
1928
2050
  ### brokerTool.getABI(contract) ⇒
@@ -1960,6 +2082,7 @@ and executes smart-contract interactions that require gas-payments.</p>
1960
2082
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
1961
2083
  * [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
1962
2084
  * [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
2085
+ * [.initSettlementToken(perpStaticInfos)](#PerpetualDataHandler+initSettlementToken)
1963
2086
  * [.getSymbolFromPoolId(poolId)](#PerpetualDataHandler+getSymbolFromPoolId) ⇒ <code>symbol</code>
1964
2087
  * [.getPoolIdFromSymbol(symbol)](#PerpetualDataHandler+getPoolIdFromSymbol) ⇒ <code>number</code>
1965
2088
  * [.getPerpIdFromSymbol(symbol)](#PerpetualDataHandler+getPerpIdFromSymbol) ⇒ <code>number</code>
@@ -1968,6 +2091,7 @@ and executes smart-contract interactions that require gas-payments.</p>
1968
2091
  * [.fetchPriceSubmissionInfoForPerpetual(symbol)](#PerpetualDataHandler+fetchPriceSubmissionInfoForPerpetual) ⇒
1969
2092
  * [.getIndexSymbols(symbol)](#PerpetualDataHandler+getIndexSymbols) ⇒
1970
2093
  * [.fetchLatestFeedPriceInfo(symbol)](#PerpetualDataHandler+fetchLatestFeedPriceInfo) ⇒
2094
+ * [.fetchCollateralToSettlementConversion(symbol)](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
1971
2095
  * [.getPriceIds(symbol)](#PerpetualDataHandler+getPriceIds) ⇒
1972
2096
  * [.getPerpetualSymbolsInPool(poolSymbol)](#PerpetualDataHandler+getPerpetualSymbolsInPool) ⇒
1973
2097
  * [.getAllOpenOrders(symbol)](#PerpetualDataHandler+getAllOpenOrders) ⇒
@@ -1975,7 +2099,9 @@ and executes smart-contract interactions that require gas-payments.</p>
1975
2099
  * [.pollLimitOrders(symbol, numElements, [startAfter])](#PerpetualDataHandler+pollLimitOrders) ⇒
1976
2100
  * [.getPoolStaticInfoIndexFromSymbol(symbol)](#PerpetualDataHandler+getPoolStaticInfoIndexFromSymbol) ⇒
1977
2101
  * [.getMarginTokenFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenFromSymbol) ⇒
2102
+ * [.getSettlementTokenFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenFromSymbol) ⇒
1978
2103
  * [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
2104
+ * [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
1979
2105
  * [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
1980
2106
 
1981
2107
  <a name="new_LiquidatorTool_new"></a>
@@ -2256,6 +2382,19 @@ and this.nestedPerpetualIDs and this.symbolToPerpStaticInfo</p>
2256
2382
 
2257
2383
  **Kind**: instance method of [<code>LiquidatorTool</code>](#LiquidatorTool)
2258
2384
  **Overrides**: [<code>\_fillSymbolMaps</code>](#PerpetualDataHandler+_fillSymbolMaps)
2385
+ <a name="PerpetualDataHandler+initSettlementToken"></a>
2386
+
2387
+ ### liquidatorTool.initSettlementToken(perpStaticInfos)
2388
+ <p>Initializes settlement currency for all pools by
2389
+ completing this.poolStaticInfos with settlement currency info</p>
2390
+
2391
+ **Kind**: instance method of [<code>LiquidatorTool</code>](#LiquidatorTool)
2392
+ **Overrides**: [<code>initSettlementToken</code>](#PerpetualDataHandler+initSettlementToken)
2393
+
2394
+ | Param | Description |
2395
+ | --- | --- |
2396
+ | perpStaticInfos | <p>PerpetualStaticInfo array from contract call</p> |
2397
+
2259
2398
  <a name="PerpetualDataHandler+getSymbolFromPoolId"></a>
2260
2399
 
2261
2400
  ### liquidatorTool.getSymbolFromPoolId(poolId) ⇒ <code>symbol</code>
@@ -2361,6 +2500,22 @@ and corresponding price information</p>
2361
2500
  | --- | --- |
2362
2501
  | symbol | <p>perpetual symbol of the form BTC-USD-MATIC</p> |
2363
2502
 
2503
+ <a name="PerpetualDataHandler+fetchCollateralToSettlementConversion"></a>
2504
+
2505
+ ### liquidatorTool.fetchCollateralToSettlementConversion(symbol)
2506
+ <p>fetchCollateralToSettlementConversion returns the price which converts the collateral
2507
+ currency into settlement currency. For example if BTC-USD-STUSD has settlement currency
2508
+ USDC, we get
2509
+ let px = fetchCollateralToSettlementConversion(&quot;BTC-USD-STUSD&quot;)
2510
+ valueInUSDC = collateralInSTUSD * px</p>
2511
+
2512
+ **Kind**: instance method of [<code>LiquidatorTool</code>](#LiquidatorTool)
2513
+ **Overrides**: [<code>fetchCollateralToSettlementConversion</code>](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
2514
+
2515
+ | Param | Description |
2516
+ | --- | --- |
2517
+ | symbol | <p>either perpetual symbol of the form BTC-USD-MATIC or just collateral token</p> |
2518
+
2364
2519
  <a name="PerpetualDataHandler+getPriceIds"></a>
2365
2520
 
2366
2521
  ### liquidatorTool.getPriceIds(symbol) ⇒
@@ -2495,23 +2650,45 @@ main();
2495
2650
  ### liquidatorTool.getMarginTokenFromSymbol(symbol) ⇒
2496
2651
  **Kind**: instance method of [<code>LiquidatorTool</code>](#LiquidatorTool)
2497
2652
  **Overrides**: [<code>getMarginTokenFromSymbol</code>](#PerpetualDataHandler+getMarginTokenFromSymbol)
2498
- **Returns**: <p>Address of the corresponding token</p>
2653
+ **Returns**: <p>Address of the corresponding margin token</p>
2499
2654
 
2500
2655
  | Param | Description |
2501
2656
  | --- | --- |
2502
2657
  | symbol | <p>Symbol of the form USDC</p> |
2503
2658
 
2659
+ <a name="PerpetualDataHandler+getSettlementTokenFromSymbol"></a>
2660
+
2661
+ ### liquidatorTool.getSettlementTokenFromSymbol(symbol) ⇒
2662
+ **Kind**: instance method of [<code>LiquidatorTool</code>](#LiquidatorTool)
2663
+ **Overrides**: [<code>getSettlementTokenFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenFromSymbol)
2664
+ **Returns**: <p>Address of the corresponding settlement token</p>
2665
+
2666
+ | Param | Description |
2667
+ | --- | --- |
2668
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
2669
+
2504
2670
  <a name="PerpetualDataHandler+getMarginTokenDecimalsFromSymbol"></a>
2505
2671
 
2506
2672
  ### liquidatorTool.getMarginTokenDecimalsFromSymbol(symbol) ⇒
2507
2673
  **Kind**: instance method of [<code>LiquidatorTool</code>](#LiquidatorTool)
2508
2674
  **Overrides**: [<code>getMarginTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol)
2509
- **Returns**: <p>Decimals of the corresponding token</p>
2675
+ **Returns**: <p>Decimals of the corresponding margin token</p>
2510
2676
 
2511
2677
  | Param | Description |
2512
2678
  | --- | --- |
2513
2679
  | symbol | <p>Symbol of the form USDC</p> |
2514
2680
 
2681
+ <a name="PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol"></a>
2682
+
2683
+ ### liquidatorTool.getSettlementTokenDecimalsFromSymbol(symbol) ⇒
2684
+ **Kind**: instance method of [<code>LiquidatorTool</code>](#LiquidatorTool)
2685
+ **Overrides**: [<code>getSettlementTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol)
2686
+ **Returns**: <p>Decimals of the corresponding settlement token</p>
2687
+
2688
+ | Param | Description |
2689
+ | --- | --- |
2690
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
2691
+
2515
2692
  <a name="PerpetualDataHandler+getABI"></a>
2516
2693
 
2517
2694
  ### liquidatorTool.getABI(contract) ⇒
@@ -2547,6 +2724,7 @@ smart-contract interactions that require gas-payments.</p>
2547
2724
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
2548
2725
  * [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
2549
2726
  * [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
2727
+ * [.initSettlementToken(perpStaticInfos)](#PerpetualDataHandler+initSettlementToken)
2550
2728
  * [.getSymbolFromPoolId(poolId)](#PerpetualDataHandler+getSymbolFromPoolId) ⇒ <code>symbol</code>
2551
2729
  * [.getPoolIdFromSymbol(symbol)](#PerpetualDataHandler+getPoolIdFromSymbol) ⇒ <code>number</code>
2552
2730
  * [.getPerpIdFromSymbol(symbol)](#PerpetualDataHandler+getPerpIdFromSymbol) ⇒ <code>number</code>
@@ -2555,6 +2733,7 @@ smart-contract interactions that require gas-payments.</p>
2555
2733
  * [.fetchPriceSubmissionInfoForPerpetual(symbol)](#PerpetualDataHandler+fetchPriceSubmissionInfoForPerpetual) ⇒
2556
2734
  * [.getIndexSymbols(symbol)](#PerpetualDataHandler+getIndexSymbols) ⇒
2557
2735
  * [.fetchLatestFeedPriceInfo(symbol)](#PerpetualDataHandler+fetchLatestFeedPriceInfo) ⇒
2736
+ * [.fetchCollateralToSettlementConversion(symbol)](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
2558
2737
  * [.getPriceIds(symbol)](#PerpetualDataHandler+getPriceIds) ⇒
2559
2738
  * [.getPerpetualSymbolsInPool(poolSymbol)](#PerpetualDataHandler+getPerpetualSymbolsInPool) ⇒
2560
2739
  * [.getAllOpenOrders(symbol)](#PerpetualDataHandler+getAllOpenOrders) ⇒
@@ -2562,7 +2741,9 @@ smart-contract interactions that require gas-payments.</p>
2562
2741
  * [.pollLimitOrders(symbol, numElements, [startAfter])](#PerpetualDataHandler+pollLimitOrders) ⇒
2563
2742
  * [.getPoolStaticInfoIndexFromSymbol(symbol)](#PerpetualDataHandler+getPoolStaticInfoIndexFromSymbol) ⇒
2564
2743
  * [.getMarginTokenFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenFromSymbol) ⇒
2744
+ * [.getSettlementTokenFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenFromSymbol) ⇒
2565
2745
  * [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
2746
+ * [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
2566
2747
  * [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
2567
2748
 
2568
2749
  <a name="new_LiquidityProviderTool_new"></a>
@@ -2782,6 +2963,19 @@ and this.nestedPerpetualIDs and this.symbolToPerpStaticInfo</p>
2782
2963
 
2783
2964
  **Kind**: instance method of [<code>LiquidityProviderTool</code>](#LiquidityProviderTool)
2784
2965
  **Overrides**: [<code>\_fillSymbolMaps</code>](#PerpetualDataHandler+_fillSymbolMaps)
2966
+ <a name="PerpetualDataHandler+initSettlementToken"></a>
2967
+
2968
+ ### liquidityProviderTool.initSettlementToken(perpStaticInfos)
2969
+ <p>Initializes settlement currency for all pools by
2970
+ completing this.poolStaticInfos with settlement currency info</p>
2971
+
2972
+ **Kind**: instance method of [<code>LiquidityProviderTool</code>](#LiquidityProviderTool)
2973
+ **Overrides**: [<code>initSettlementToken</code>](#PerpetualDataHandler+initSettlementToken)
2974
+
2975
+ | Param | Description |
2976
+ | --- | --- |
2977
+ | perpStaticInfos | <p>PerpetualStaticInfo array from contract call</p> |
2978
+
2785
2979
  <a name="PerpetualDataHandler+getSymbolFromPoolId"></a>
2786
2980
 
2787
2981
  ### liquidityProviderTool.getSymbolFromPoolId(poolId) ⇒ <code>symbol</code>
@@ -2887,6 +3081,22 @@ and corresponding price information</p>
2887
3081
  | --- | --- |
2888
3082
  | symbol | <p>perpetual symbol of the form BTC-USD-MATIC</p> |
2889
3083
 
3084
+ <a name="PerpetualDataHandler+fetchCollateralToSettlementConversion"></a>
3085
+
3086
+ ### liquidityProviderTool.fetchCollateralToSettlementConversion(symbol)
3087
+ <p>fetchCollateralToSettlementConversion returns the price which converts the collateral
3088
+ currency into settlement currency. For example if BTC-USD-STUSD has settlement currency
3089
+ USDC, we get
3090
+ let px = fetchCollateralToSettlementConversion(&quot;BTC-USD-STUSD&quot;)
3091
+ valueInUSDC = collateralInSTUSD * px</p>
3092
+
3093
+ **Kind**: instance method of [<code>LiquidityProviderTool</code>](#LiquidityProviderTool)
3094
+ **Overrides**: [<code>fetchCollateralToSettlementConversion</code>](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
3095
+
3096
+ | Param | Description |
3097
+ | --- | --- |
3098
+ | symbol | <p>either perpetual symbol of the form BTC-USD-MATIC or just collateral token</p> |
3099
+
2890
3100
  <a name="PerpetualDataHandler+getPriceIds"></a>
2891
3101
 
2892
3102
  ### liquidityProviderTool.getPriceIds(symbol) ⇒
@@ -3021,23 +3231,45 @@ main();
3021
3231
  ### liquidityProviderTool.getMarginTokenFromSymbol(symbol) ⇒
3022
3232
  **Kind**: instance method of [<code>LiquidityProviderTool</code>](#LiquidityProviderTool)
3023
3233
  **Overrides**: [<code>getMarginTokenFromSymbol</code>](#PerpetualDataHandler+getMarginTokenFromSymbol)
3024
- **Returns**: <p>Address of the corresponding token</p>
3234
+ **Returns**: <p>Address of the corresponding margin token</p>
3025
3235
 
3026
3236
  | Param | Description |
3027
3237
  | --- | --- |
3028
3238
  | symbol | <p>Symbol of the form USDC</p> |
3029
3239
 
3240
+ <a name="PerpetualDataHandler+getSettlementTokenFromSymbol"></a>
3241
+
3242
+ ### liquidityProviderTool.getSettlementTokenFromSymbol(symbol) ⇒
3243
+ **Kind**: instance method of [<code>LiquidityProviderTool</code>](#LiquidityProviderTool)
3244
+ **Overrides**: [<code>getSettlementTokenFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenFromSymbol)
3245
+ **Returns**: <p>Address of the corresponding settlement token</p>
3246
+
3247
+ | Param | Description |
3248
+ | --- | --- |
3249
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
3250
+
3030
3251
  <a name="PerpetualDataHandler+getMarginTokenDecimalsFromSymbol"></a>
3031
3252
 
3032
3253
  ### liquidityProviderTool.getMarginTokenDecimalsFromSymbol(symbol) ⇒
3033
3254
  **Kind**: instance method of [<code>LiquidityProviderTool</code>](#LiquidityProviderTool)
3034
3255
  **Overrides**: [<code>getMarginTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol)
3035
- **Returns**: <p>Decimals of the corresponding token</p>
3256
+ **Returns**: <p>Decimals of the corresponding margin token</p>
3036
3257
 
3037
3258
  | Param | Description |
3038
3259
  | --- | --- |
3039
3260
  | symbol | <p>Symbol of the form USDC</p> |
3040
3261
 
3262
+ <a name="PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol"></a>
3263
+
3264
+ ### liquidityProviderTool.getSettlementTokenDecimalsFromSymbol(symbol) ⇒
3265
+ **Kind**: instance method of [<code>LiquidityProviderTool</code>](#LiquidityProviderTool)
3266
+ **Overrides**: [<code>getSettlementTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol)
3267
+ **Returns**: <p>Decimals of the corresponding settlement token</p>
3268
+
3269
+ | Param | Description |
3270
+ | --- | --- |
3271
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
3272
+
3041
3273
  <a name="PerpetualDataHandler+getABI"></a>
3042
3274
 
3043
3275
  ### liquidityProviderTool.getABI(contract) ⇒
@@ -3097,6 +3329,7 @@ No gas required for the queries here.</p>
3097
3329
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
3098
3330
  * [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
3099
3331
  * [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
3332
+ * [.initSettlementToken(perpStaticInfos)](#PerpetualDataHandler+initSettlementToken)
3100
3333
  * [.getSymbolFromPoolId(poolId)](#PerpetualDataHandler+getSymbolFromPoolId) ⇒ <code>symbol</code>
3101
3334
  * [.getPoolIdFromSymbol(symbol)](#PerpetualDataHandler+getPoolIdFromSymbol) ⇒ <code>number</code>
3102
3335
  * [.getPerpIdFromSymbol(symbol)](#PerpetualDataHandler+getPerpIdFromSymbol) ⇒ <code>number</code>
@@ -3105,6 +3338,7 @@ No gas required for the queries here.</p>
3105
3338
  * [.fetchPriceSubmissionInfoForPerpetual(symbol)](#PerpetualDataHandler+fetchPriceSubmissionInfoForPerpetual) ⇒
3106
3339
  * [.getIndexSymbols(symbol)](#PerpetualDataHandler+getIndexSymbols) ⇒
3107
3340
  * [.fetchLatestFeedPriceInfo(symbol)](#PerpetualDataHandler+fetchLatestFeedPriceInfo) ⇒
3341
+ * [.fetchCollateralToSettlementConversion(symbol)](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
3108
3342
  * [.getPriceIds(symbol)](#PerpetualDataHandler+getPriceIds) ⇒
3109
3343
  * [.getPerpetualSymbolsInPool(poolSymbol)](#PerpetualDataHandler+getPerpetualSymbolsInPool) ⇒
3110
3344
  * [.getAllOpenOrders(symbol)](#PerpetualDataHandler+getAllOpenOrders) ⇒
@@ -3112,7 +3346,9 @@ No gas required for the queries here.</p>
3112
3346
  * [.pollLimitOrders(symbol, numElements, [startAfter])](#PerpetualDataHandler+pollLimitOrders) ⇒
3113
3347
  * [.getPoolStaticInfoIndexFromSymbol(symbol)](#PerpetualDataHandler+getPoolStaticInfoIndexFromSymbol) ⇒
3114
3348
  * [.getMarginTokenFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenFromSymbol) ⇒
3349
+ * [.getSettlementTokenFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenFromSymbol) ⇒
3115
3350
  * [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
3351
+ * [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
3116
3352
  * [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
3117
3353
 
3118
3354
  <a name="new_MarketData_new"></a>
@@ -3352,7 +3588,8 @@ main();
3352
3588
  <a name="MarketData+getWalletBalance"></a>
3353
3589
 
3354
3590
  ### marketData.getWalletBalance(address, symbol) ⇒
3355
- <p>Gets the wallet balance in the collateral currency corresponding to a given perpetual symbol.</p>
3591
+ <p>Gets the wallet balance in the settlement currency corresponding to a given perpetual symbol.
3592
+ The settlement currency is usually the same as the collateral currency.</p>
3356
3593
 
3357
3594
  **Kind**: instance method of [<code>MarketData</code>](#MarketData)
3358
3595
  **Returns**: <p>Perpetual's collateral token balance of the given address.</p>
@@ -3896,6 +4133,19 @@ and this.nestedPerpetualIDs and this.symbolToPerpStaticInfo</p>
3896
4133
 
3897
4134
  **Kind**: instance method of [<code>MarketData</code>](#MarketData)
3898
4135
  **Overrides**: [<code>\_fillSymbolMaps</code>](#PerpetualDataHandler+_fillSymbolMaps)
4136
+ <a name="PerpetualDataHandler+initSettlementToken"></a>
4137
+
4138
+ ### marketData.initSettlementToken(perpStaticInfos)
4139
+ <p>Initializes settlement currency for all pools by
4140
+ completing this.poolStaticInfos with settlement currency info</p>
4141
+
4142
+ **Kind**: instance method of [<code>MarketData</code>](#MarketData)
4143
+ **Overrides**: [<code>initSettlementToken</code>](#PerpetualDataHandler+initSettlementToken)
4144
+
4145
+ | Param | Description |
4146
+ | --- | --- |
4147
+ | perpStaticInfos | <p>PerpetualStaticInfo array from contract call</p> |
4148
+
3899
4149
  <a name="PerpetualDataHandler+getSymbolFromPoolId"></a>
3900
4150
 
3901
4151
  ### marketData.getSymbolFromPoolId(poolId) ⇒ <code>symbol</code>
@@ -4001,6 +4251,22 @@ and corresponding price information</p>
4001
4251
  | --- | --- |
4002
4252
  | symbol | <p>perpetual symbol of the form BTC-USD-MATIC</p> |
4003
4253
 
4254
+ <a name="PerpetualDataHandler+fetchCollateralToSettlementConversion"></a>
4255
+
4256
+ ### marketData.fetchCollateralToSettlementConversion(symbol)
4257
+ <p>fetchCollateralToSettlementConversion returns the price which converts the collateral
4258
+ currency into settlement currency. For example if BTC-USD-STUSD has settlement currency
4259
+ USDC, we get
4260
+ let px = fetchCollateralToSettlementConversion(&quot;BTC-USD-STUSD&quot;)
4261
+ valueInUSDC = collateralInSTUSD * px</p>
4262
+
4263
+ **Kind**: instance method of [<code>MarketData</code>](#MarketData)
4264
+ **Overrides**: [<code>fetchCollateralToSettlementConversion</code>](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
4265
+
4266
+ | Param | Description |
4267
+ | --- | --- |
4268
+ | symbol | <p>either perpetual symbol of the form BTC-USD-MATIC or just collateral token</p> |
4269
+
4004
4270
  <a name="PerpetualDataHandler+getPriceIds"></a>
4005
4271
 
4006
4272
  ### marketData.getPriceIds(symbol) ⇒
@@ -4135,23 +4401,45 @@ main();
4135
4401
  ### marketData.getMarginTokenFromSymbol(symbol) ⇒
4136
4402
  **Kind**: instance method of [<code>MarketData</code>](#MarketData)
4137
4403
  **Overrides**: [<code>getMarginTokenFromSymbol</code>](#PerpetualDataHandler+getMarginTokenFromSymbol)
4138
- **Returns**: <p>Address of the corresponding token</p>
4404
+ **Returns**: <p>Address of the corresponding margin token</p>
4139
4405
 
4140
4406
  | Param | Description |
4141
4407
  | --- | --- |
4142
4408
  | symbol | <p>Symbol of the form USDC</p> |
4143
4409
 
4410
+ <a name="PerpetualDataHandler+getSettlementTokenFromSymbol"></a>
4411
+
4412
+ ### marketData.getSettlementTokenFromSymbol(symbol) ⇒
4413
+ **Kind**: instance method of [<code>MarketData</code>](#MarketData)
4414
+ **Overrides**: [<code>getSettlementTokenFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenFromSymbol)
4415
+ **Returns**: <p>Address of the corresponding settlement token</p>
4416
+
4417
+ | Param | Description |
4418
+ | --- | --- |
4419
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
4420
+
4144
4421
  <a name="PerpetualDataHandler+getMarginTokenDecimalsFromSymbol"></a>
4145
4422
 
4146
4423
  ### marketData.getMarginTokenDecimalsFromSymbol(symbol) ⇒
4147
4424
  **Kind**: instance method of [<code>MarketData</code>](#MarketData)
4148
4425
  **Overrides**: [<code>getMarginTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol)
4149
- **Returns**: <p>Decimals of the corresponding token</p>
4426
+ **Returns**: <p>Decimals of the corresponding margin token</p>
4150
4427
 
4151
4428
  | Param | Description |
4152
4429
  | --- | --- |
4153
4430
  | symbol | <p>Symbol of the form USDC</p> |
4154
4431
 
4432
+ <a name="PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol"></a>
4433
+
4434
+ ### marketData.getSettlementTokenDecimalsFromSymbol(symbol) ⇒
4435
+ **Kind**: instance method of [<code>MarketData</code>](#MarketData)
4436
+ **Overrides**: [<code>getSettlementTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol)
4437
+ **Returns**: <p>Decimals of the corresponding settlement token</p>
4438
+
4439
+ | Param | Description |
4440
+ | --- | --- |
4441
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
4442
+
4155
4443
  <a name="PerpetualDataHandler+getABI"></a>
4156
4444
 
4157
4445
  ### marketData.getABI(contract) ⇒
@@ -4170,6 +4458,18 @@ main();
4170
4458
  ## OnChainPxFeed
4171
4459
  <p>OnChainPxFeed: get a price from a chainlink-style oracle</p>
4172
4460
 
4461
+ **Kind**: global class
4462
+ <a name="OnChainPxFeedAngle"></a>
4463
+
4464
+ ## OnChainPxFeedAngle
4465
+ <p>OnChainPxFeedAngle: get STUSD-USDC exchange rate</p>
4466
+
4467
+ **Kind**: global class
4468
+ <a name="OnChainPxFeedRedStone"></a>
4469
+
4470
+ ## OnChainPxFeedRedStone
4471
+ <p>OnChainPxFeedRedStone: get a price from a chainlink-style oracle</p>
4472
+
4173
4473
  **Kind**: global class
4174
4474
  <a name="OrderExecutorTool"></a>
4175
4475
 
@@ -4198,6 +4498,7 @@ gas-payments.</p>
4198
4498
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
4199
4499
  * [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
4200
4500
  * [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
4501
+ * [.initSettlementToken(perpStaticInfos)](#PerpetualDataHandler+initSettlementToken)
4201
4502
  * [.getSymbolFromPoolId(poolId)](#PerpetualDataHandler+getSymbolFromPoolId) ⇒ <code>symbol</code>
4202
4503
  * [.getPoolIdFromSymbol(symbol)](#PerpetualDataHandler+getPoolIdFromSymbol) ⇒ <code>number</code>
4203
4504
  * [.getPerpIdFromSymbol(symbol)](#PerpetualDataHandler+getPerpIdFromSymbol) ⇒ <code>number</code>
@@ -4206,6 +4507,7 @@ gas-payments.</p>
4206
4507
  * [.fetchPriceSubmissionInfoForPerpetual(symbol)](#PerpetualDataHandler+fetchPriceSubmissionInfoForPerpetual) ⇒
4207
4508
  * [.getIndexSymbols(symbol)](#PerpetualDataHandler+getIndexSymbols) ⇒
4208
4509
  * [.fetchLatestFeedPriceInfo(symbol)](#PerpetualDataHandler+fetchLatestFeedPriceInfo) ⇒
4510
+ * [.fetchCollateralToSettlementConversion(symbol)](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
4209
4511
  * [.getPriceIds(symbol)](#PerpetualDataHandler+getPriceIds) ⇒
4210
4512
  * [.getPerpetualSymbolsInPool(poolSymbol)](#PerpetualDataHandler+getPerpetualSymbolsInPool) ⇒
4211
4513
  * [.getAllOpenOrders(symbol)](#PerpetualDataHandler+getAllOpenOrders) ⇒
@@ -4213,7 +4515,9 @@ gas-payments.</p>
4213
4515
  * [.pollLimitOrders(symbol, numElements, [startAfter])](#PerpetualDataHandler+pollLimitOrders) ⇒
4214
4516
  * [.getPoolStaticInfoIndexFromSymbol(symbol)](#PerpetualDataHandler+getPoolStaticInfoIndexFromSymbol) ⇒
4215
4517
  * [.getMarginTokenFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenFromSymbol) ⇒
4518
+ * [.getSettlementTokenFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenFromSymbol) ⇒
4216
4519
  * [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
4520
+ * [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
4217
4521
  * [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
4218
4522
 
4219
4523
  <a name="new_OrderExecutorTool_new"></a>
@@ -4540,6 +4844,19 @@ and this.nestedPerpetualIDs and this.symbolToPerpStaticInfo</p>
4540
4844
 
4541
4845
  **Kind**: instance method of [<code>OrderExecutorTool</code>](#OrderExecutorTool)
4542
4846
  **Overrides**: [<code>\_fillSymbolMaps</code>](#PerpetualDataHandler+_fillSymbolMaps)
4847
+ <a name="PerpetualDataHandler+initSettlementToken"></a>
4848
+
4849
+ ### orderExecutorTool.initSettlementToken(perpStaticInfos)
4850
+ <p>Initializes settlement currency for all pools by
4851
+ completing this.poolStaticInfos with settlement currency info</p>
4852
+
4853
+ **Kind**: instance method of [<code>OrderExecutorTool</code>](#OrderExecutorTool)
4854
+ **Overrides**: [<code>initSettlementToken</code>](#PerpetualDataHandler+initSettlementToken)
4855
+
4856
+ | Param | Description |
4857
+ | --- | --- |
4858
+ | perpStaticInfos | <p>PerpetualStaticInfo array from contract call</p> |
4859
+
4543
4860
  <a name="PerpetualDataHandler+getSymbolFromPoolId"></a>
4544
4861
 
4545
4862
  ### orderExecutorTool.getSymbolFromPoolId(poolId) ⇒ <code>symbol</code>
@@ -4645,6 +4962,22 @@ and corresponding price information</p>
4645
4962
  | --- | --- |
4646
4963
  | symbol | <p>perpetual symbol of the form BTC-USD-MATIC</p> |
4647
4964
 
4965
+ <a name="PerpetualDataHandler+fetchCollateralToSettlementConversion"></a>
4966
+
4967
+ ### orderExecutorTool.fetchCollateralToSettlementConversion(symbol)
4968
+ <p>fetchCollateralToSettlementConversion returns the price which converts the collateral
4969
+ currency into settlement currency. For example if BTC-USD-STUSD has settlement currency
4970
+ USDC, we get
4971
+ let px = fetchCollateralToSettlementConversion(&quot;BTC-USD-STUSD&quot;)
4972
+ valueInUSDC = collateralInSTUSD * px</p>
4973
+
4974
+ **Kind**: instance method of [<code>OrderExecutorTool</code>](#OrderExecutorTool)
4975
+ **Overrides**: [<code>fetchCollateralToSettlementConversion</code>](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
4976
+
4977
+ | Param | Description |
4978
+ | --- | --- |
4979
+ | symbol | <p>either perpetual symbol of the form BTC-USD-MATIC or just collateral token</p> |
4980
+
4648
4981
  <a name="PerpetualDataHandler+getPriceIds"></a>
4649
4982
 
4650
4983
  ### orderExecutorTool.getPriceIds(symbol) ⇒
@@ -4779,23 +5112,45 @@ main();
4779
5112
  ### orderExecutorTool.getMarginTokenFromSymbol(symbol) ⇒
4780
5113
  **Kind**: instance method of [<code>OrderExecutorTool</code>](#OrderExecutorTool)
4781
5114
  **Overrides**: [<code>getMarginTokenFromSymbol</code>](#PerpetualDataHandler+getMarginTokenFromSymbol)
4782
- **Returns**: <p>Address of the corresponding token</p>
5115
+ **Returns**: <p>Address of the corresponding margin token</p>
4783
5116
 
4784
5117
  | Param | Description |
4785
5118
  | --- | --- |
4786
5119
  | symbol | <p>Symbol of the form USDC</p> |
4787
5120
 
5121
+ <a name="PerpetualDataHandler+getSettlementTokenFromSymbol"></a>
5122
+
5123
+ ### orderExecutorTool.getSettlementTokenFromSymbol(symbol) ⇒
5124
+ **Kind**: instance method of [<code>OrderExecutorTool</code>](#OrderExecutorTool)
5125
+ **Overrides**: [<code>getSettlementTokenFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenFromSymbol)
5126
+ **Returns**: <p>Address of the corresponding settlement token</p>
5127
+
5128
+ | Param | Description |
5129
+ | --- | --- |
5130
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
5131
+
4788
5132
  <a name="PerpetualDataHandler+getMarginTokenDecimalsFromSymbol"></a>
4789
5133
 
4790
5134
  ### orderExecutorTool.getMarginTokenDecimalsFromSymbol(symbol) ⇒
4791
5135
  **Kind**: instance method of [<code>OrderExecutorTool</code>](#OrderExecutorTool)
4792
5136
  **Overrides**: [<code>getMarginTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol)
4793
- **Returns**: <p>Decimals of the corresponding token</p>
5137
+ **Returns**: <p>Decimals of the corresponding margin token</p>
4794
5138
 
4795
5139
  | Param | Description |
4796
5140
  | --- | --- |
4797
5141
  | symbol | <p>Symbol of the form USDC</p> |
4798
5142
 
5143
+ <a name="PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol"></a>
5144
+
5145
+ ### orderExecutorTool.getSettlementTokenDecimalsFromSymbol(symbol) ⇒
5146
+ **Kind**: instance method of [<code>OrderExecutorTool</code>](#OrderExecutorTool)
5147
+ **Overrides**: [<code>getSettlementTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol)
5148
+ **Returns**: <p>Decimals of the corresponding settlement token</p>
5149
+
5150
+ | Param | Description |
5151
+ | --- | --- |
5152
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
5153
+
4799
5154
  <a name="PerpetualDataHandler+getABI"></a>
4800
5155
 
4801
5156
  ### orderExecutorTool.getABI(contract) ⇒
@@ -4824,6 +5179,7 @@ common data and chain operations.</p>
4824
5179
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
4825
5180
  * [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
4826
5181
  * [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
5182
+ * [.initSettlementToken(perpStaticInfos)](#PerpetualDataHandler+initSettlementToken)
4827
5183
  * [.getSymbolFromPoolId(poolId)](#PerpetualDataHandler+getSymbolFromPoolId) ⇒ <code>symbol</code>
4828
5184
  * [.getPoolIdFromSymbol(symbol)](#PerpetualDataHandler+getPoolIdFromSymbol) ⇒ <code>number</code>
4829
5185
  * [.getPerpIdFromSymbol(symbol)](#PerpetualDataHandler+getPerpIdFromSymbol) ⇒ <code>number</code>
@@ -4832,6 +5188,7 @@ common data and chain operations.</p>
4832
5188
  * [.fetchPriceSubmissionInfoForPerpetual(symbol)](#PerpetualDataHandler+fetchPriceSubmissionInfoForPerpetual) ⇒
4833
5189
  * [.getIndexSymbols(symbol)](#PerpetualDataHandler+getIndexSymbols) ⇒
4834
5190
  * [.fetchLatestFeedPriceInfo(symbol)](#PerpetualDataHandler+fetchLatestFeedPriceInfo) ⇒
5191
+ * [.fetchCollateralToSettlementConversion(symbol)](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
4835
5192
  * [.getPriceIds(symbol)](#PerpetualDataHandler+getPriceIds) ⇒
4836
5193
  * [.getPerpetualSymbolsInPool(poolSymbol)](#PerpetualDataHandler+getPerpetualSymbolsInPool) ⇒
4837
5194
  * [.getAllOpenOrders(symbol)](#PerpetualDataHandler+getAllOpenOrders) ⇒
@@ -4839,7 +5196,9 @@ common data and chain operations.</p>
4839
5196
  * [.pollLimitOrders(symbol, numElements, [startAfter])](#PerpetualDataHandler+pollLimitOrders) ⇒
4840
5197
  * [.getPoolStaticInfoIndexFromSymbol(symbol)](#PerpetualDataHandler+getPoolStaticInfoIndexFromSymbol) ⇒
4841
5198
  * [.getMarginTokenFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenFromSymbol) ⇒
5199
+ * [.getSettlementTokenFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenFromSymbol) ⇒
4842
5200
  * [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
5201
+ * [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
4843
5202
  * [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
4844
5203
  * _static_
4845
5204
  * [.getPerpetualStaticInfo(_proxyContract, nestedPerpetualIDs, symbolList)](#PerpetualDataHandler.getPerpetualStaticInfo) ⇒
@@ -4920,6 +5279,18 @@ common data and chain operations.</p>
4920
5279
  and this.nestedPerpetualIDs and this.symbolToPerpStaticInfo</p>
4921
5280
 
4922
5281
  **Kind**: instance method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
5282
+ <a name="PerpetualDataHandler+initSettlementToken"></a>
5283
+
5284
+ ### perpetualDataHandler.initSettlementToken(perpStaticInfos)
5285
+ <p>Initializes settlement currency for all pools by
5286
+ completing this.poolStaticInfos with settlement currency info</p>
5287
+
5288
+ **Kind**: instance method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
5289
+
5290
+ | Param | Description |
5291
+ | --- | --- |
5292
+ | perpStaticInfos | <p>PerpetualStaticInfo array from contract call</p> |
5293
+
4923
5294
  <a name="PerpetualDataHandler+getSymbolFromPoolId"></a>
4924
5295
 
4925
5296
  ### perpetualDataHandler.getSymbolFromPoolId(poolId) ⇒ <code>symbol</code>
@@ -5017,6 +5388,21 @@ and corresponding price information</p>
5017
5388
  | --- | --- |
5018
5389
  | symbol | <p>perpetual symbol of the form BTC-USD-MATIC</p> |
5019
5390
 
5391
+ <a name="PerpetualDataHandler+fetchCollateralToSettlementConversion"></a>
5392
+
5393
+ ### perpetualDataHandler.fetchCollateralToSettlementConversion(symbol)
5394
+ <p>fetchCollateralToSettlementConversion returns the price which converts the collateral
5395
+ currency into settlement currency. For example if BTC-USD-STUSD has settlement currency
5396
+ USDC, we get
5397
+ let px = fetchCollateralToSettlementConversion(&quot;BTC-USD-STUSD&quot;)
5398
+ valueInUSDC = collateralInSTUSD * px</p>
5399
+
5400
+ **Kind**: instance method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
5401
+
5402
+ | Param | Description |
5403
+ | --- | --- |
5404
+ | symbol | <p>either perpetual symbol of the form BTC-USD-MATIC or just collateral token</p> |
5405
+
5020
5406
  <a name="PerpetualDataHandler+getPriceIds"></a>
5021
5407
 
5022
5408
  ### perpetualDataHandler.getPriceIds(symbol) ⇒
@@ -5144,22 +5530,42 @@ main();
5144
5530
 
5145
5531
  ### perpetualDataHandler.getMarginTokenFromSymbol(symbol) ⇒
5146
5532
  **Kind**: instance method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
5147
- **Returns**: <p>Address of the corresponding token</p>
5533
+ **Returns**: <p>Address of the corresponding margin token</p>
5148
5534
 
5149
5535
  | Param | Description |
5150
5536
  | --- | --- |
5151
5537
  | symbol | <p>Symbol of the form USDC</p> |
5152
5538
 
5539
+ <a name="PerpetualDataHandler+getSettlementTokenFromSymbol"></a>
5540
+
5541
+ ### perpetualDataHandler.getSettlementTokenFromSymbol(symbol) ⇒
5542
+ **Kind**: instance method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
5543
+ **Returns**: <p>Address of the corresponding settlement token</p>
5544
+
5545
+ | Param | Description |
5546
+ | --- | --- |
5547
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
5548
+
5153
5549
  <a name="PerpetualDataHandler+getMarginTokenDecimalsFromSymbol"></a>
5154
5550
 
5155
5551
  ### perpetualDataHandler.getMarginTokenDecimalsFromSymbol(symbol) ⇒
5156
5552
  **Kind**: instance method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
5157
- **Returns**: <p>Decimals of the corresponding token</p>
5553
+ **Returns**: <p>Decimals of the corresponding margin token</p>
5158
5554
 
5159
5555
  | Param | Description |
5160
5556
  | --- | --- |
5161
5557
  | symbol | <p>Symbol of the form USDC</p> |
5162
5558
 
5559
+ <a name="PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol"></a>
5560
+
5561
+ ### perpetualDataHandler.getSettlementTokenDecimalsFromSymbol(symbol) ⇒
5562
+ **Kind**: instance method of [<code>PerpetualDataHandler</code>](#PerpetualDataHandler)
5563
+ **Returns**: <p>Decimals of the corresponding settlement token</p>
5564
+
5565
+ | Param | Description |
5566
+ | --- | --- |
5567
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
5568
+
5163
5569
  <a name="PerpetualDataHandler+getABI"></a>
5164
5570
 
5165
5571
  ### perpetualDataHandler.getABI(contract) ⇒
@@ -6114,6 +6520,7 @@ so that signatures can be handled in frontend via wallet</p>
6114
6520
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
6115
6521
  * [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
6116
6522
  * [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
6523
+ * [.initSettlementToken(perpStaticInfos)](#PerpetualDataHandler+initSettlementToken)
6117
6524
  * [.getSymbolFromPoolId(poolId)](#PerpetualDataHandler+getSymbolFromPoolId) ⇒ <code>symbol</code>
6118
6525
  * [.getPoolIdFromSymbol(symbol)](#PerpetualDataHandler+getPoolIdFromSymbol) ⇒ <code>number</code>
6119
6526
  * [.getPerpIdFromSymbol(symbol)](#PerpetualDataHandler+getPerpIdFromSymbol) ⇒ <code>number</code>
@@ -6122,6 +6529,7 @@ so that signatures can be handled in frontend via wallet</p>
6122
6529
  * [.fetchPriceSubmissionInfoForPerpetual(symbol)](#PerpetualDataHandler+fetchPriceSubmissionInfoForPerpetual) ⇒
6123
6530
  * [.getIndexSymbols(symbol)](#PerpetualDataHandler+getIndexSymbols) ⇒
6124
6531
  * [.fetchLatestFeedPriceInfo(symbol)](#PerpetualDataHandler+fetchLatestFeedPriceInfo) ⇒
6532
+ * [.fetchCollateralToSettlementConversion(symbol)](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
6125
6533
  * [.getPriceIds(symbol)](#PerpetualDataHandler+getPriceIds) ⇒
6126
6534
  * [.getPerpetualSymbolsInPool(poolSymbol)](#PerpetualDataHandler+getPerpetualSymbolsInPool) ⇒
6127
6535
  * [.getAllOpenOrders(symbol)](#PerpetualDataHandler+getAllOpenOrders) ⇒
@@ -6129,7 +6537,9 @@ so that signatures can be handled in frontend via wallet</p>
6129
6537
  * [.pollLimitOrders(symbol, numElements, [startAfter])](#PerpetualDataHandler+pollLimitOrders) ⇒
6130
6538
  * [.getPoolStaticInfoIndexFromSymbol(symbol)](#PerpetualDataHandler+getPoolStaticInfoIndexFromSymbol) ⇒
6131
6539
  * [.getMarginTokenFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenFromSymbol) ⇒
6540
+ * [.getSettlementTokenFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenFromSymbol) ⇒
6132
6541
  * [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
6542
+ * [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
6133
6543
  * [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
6134
6544
  * _static_
6135
6545
  * [.chainOrders(orders, ids)](#TraderInterface.chainOrders) ⇒
@@ -6619,7 +7029,8 @@ main();
6619
7029
  <a name="MarketData+getWalletBalance"></a>
6620
7030
 
6621
7031
  ### traderInterface.getWalletBalance(address, symbol) ⇒
6622
- <p>Gets the wallet balance in the collateral currency corresponding to a given perpetual symbol.</p>
7032
+ <p>Gets the wallet balance in the settlement currency corresponding to a given perpetual symbol.
7033
+ The settlement currency is usually the same as the collateral currency.</p>
6623
7034
 
6624
7035
  **Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
6625
7036
  **Overrides**: [<code>getWalletBalance</code>](#MarketData+getWalletBalance)
@@ -7183,6 +7594,19 @@ and this.nestedPerpetualIDs and this.symbolToPerpStaticInfo</p>
7183
7594
 
7184
7595
  **Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
7185
7596
  **Overrides**: [<code>\_fillSymbolMaps</code>](#PerpetualDataHandler+_fillSymbolMaps)
7597
+ <a name="PerpetualDataHandler+initSettlementToken"></a>
7598
+
7599
+ ### traderInterface.initSettlementToken(perpStaticInfos)
7600
+ <p>Initializes settlement currency for all pools by
7601
+ completing this.poolStaticInfos with settlement currency info</p>
7602
+
7603
+ **Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
7604
+ **Overrides**: [<code>initSettlementToken</code>](#PerpetualDataHandler+initSettlementToken)
7605
+
7606
+ | Param | Description |
7607
+ | --- | --- |
7608
+ | perpStaticInfos | <p>PerpetualStaticInfo array from contract call</p> |
7609
+
7186
7610
  <a name="PerpetualDataHandler+getSymbolFromPoolId"></a>
7187
7611
 
7188
7612
  ### traderInterface.getSymbolFromPoolId(poolId) ⇒ <code>symbol</code>
@@ -7288,6 +7712,22 @@ and corresponding price information</p>
7288
7712
  | --- | --- |
7289
7713
  | symbol | <p>perpetual symbol of the form BTC-USD-MATIC</p> |
7290
7714
 
7715
+ <a name="PerpetualDataHandler+fetchCollateralToSettlementConversion"></a>
7716
+
7717
+ ### traderInterface.fetchCollateralToSettlementConversion(symbol)
7718
+ <p>fetchCollateralToSettlementConversion returns the price which converts the collateral
7719
+ currency into settlement currency. For example if BTC-USD-STUSD has settlement currency
7720
+ USDC, we get
7721
+ let px = fetchCollateralToSettlementConversion(&quot;BTC-USD-STUSD&quot;)
7722
+ valueInUSDC = collateralInSTUSD * px</p>
7723
+
7724
+ **Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
7725
+ **Overrides**: [<code>fetchCollateralToSettlementConversion</code>](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
7726
+
7727
+ | Param | Description |
7728
+ | --- | --- |
7729
+ | symbol | <p>either perpetual symbol of the form BTC-USD-MATIC or just collateral token</p> |
7730
+
7291
7731
  <a name="PerpetualDataHandler+getPriceIds"></a>
7292
7732
 
7293
7733
  ### traderInterface.getPriceIds(symbol) ⇒
@@ -7422,23 +7862,45 @@ main();
7422
7862
  ### traderInterface.getMarginTokenFromSymbol(symbol) ⇒
7423
7863
  **Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
7424
7864
  **Overrides**: [<code>getMarginTokenFromSymbol</code>](#PerpetualDataHandler+getMarginTokenFromSymbol)
7425
- **Returns**: <p>Address of the corresponding token</p>
7865
+ **Returns**: <p>Address of the corresponding margin token</p>
7426
7866
 
7427
7867
  | Param | Description |
7428
7868
  | --- | --- |
7429
7869
  | symbol | <p>Symbol of the form USDC</p> |
7430
7870
 
7871
+ <a name="PerpetualDataHandler+getSettlementTokenFromSymbol"></a>
7872
+
7873
+ ### traderInterface.getSettlementTokenFromSymbol(symbol) ⇒
7874
+ **Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
7875
+ **Overrides**: [<code>getSettlementTokenFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenFromSymbol)
7876
+ **Returns**: <p>Address of the corresponding settlement token</p>
7877
+
7878
+ | Param | Description |
7879
+ | --- | --- |
7880
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
7881
+
7431
7882
  <a name="PerpetualDataHandler+getMarginTokenDecimalsFromSymbol"></a>
7432
7883
 
7433
7884
  ### traderInterface.getMarginTokenDecimalsFromSymbol(symbol) ⇒
7434
7885
  **Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
7435
7886
  **Overrides**: [<code>getMarginTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol)
7436
- **Returns**: <p>Decimals of the corresponding token</p>
7887
+ **Returns**: <p>Decimals of the corresponding margin token</p>
7437
7888
 
7438
7889
  | Param | Description |
7439
7890
  | --- | --- |
7440
7891
  | symbol | <p>Symbol of the form USDC</p> |
7441
7892
 
7893
+ <a name="PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol"></a>
7894
+
7895
+ ### traderInterface.getSettlementTokenDecimalsFromSymbol(symbol) ⇒
7896
+ **Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
7897
+ **Overrides**: [<code>getSettlementTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol)
7898
+ **Returns**: <p>Decimals of the corresponding settlement token</p>
7899
+
7900
+ | Param | Description |
7901
+ | --- | --- |
7902
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
7903
+
7442
7904
  <a name="PerpetualDataHandler+getABI"></a>
7443
7905
 
7444
7906
  ### traderInterface.getABI(contract) ⇒
@@ -7487,6 +7949,7 @@ require gas-payments.</p>
7487
7949
  * [.getPerpetuals(ids, overrides)](#PerpetualDataHandler+getPerpetuals) ⇒
7488
7950
  * [.getLiquidityPools(fromIdx, toIdx, overrides)](#PerpetualDataHandler+getLiquidityPools) ⇒
7489
7951
  * [._fillSymbolMaps()](#PerpetualDataHandler+_fillSymbolMaps)
7952
+ * [.initSettlementToken(perpStaticInfos)](#PerpetualDataHandler+initSettlementToken)
7490
7953
  * [.getSymbolFromPoolId(poolId)](#PerpetualDataHandler+getSymbolFromPoolId) ⇒ <code>symbol</code>
7491
7954
  * [.getPoolIdFromSymbol(symbol)](#PerpetualDataHandler+getPoolIdFromSymbol) ⇒ <code>number</code>
7492
7955
  * [.getPerpIdFromSymbol(symbol)](#PerpetualDataHandler+getPerpIdFromSymbol) ⇒ <code>number</code>
@@ -7495,6 +7958,7 @@ require gas-payments.</p>
7495
7958
  * [.fetchPriceSubmissionInfoForPerpetual(symbol)](#PerpetualDataHandler+fetchPriceSubmissionInfoForPerpetual) ⇒
7496
7959
  * [.getIndexSymbols(symbol)](#PerpetualDataHandler+getIndexSymbols) ⇒
7497
7960
  * [.fetchLatestFeedPriceInfo(symbol)](#PerpetualDataHandler+fetchLatestFeedPriceInfo) ⇒
7961
+ * [.fetchCollateralToSettlementConversion(symbol)](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
7498
7962
  * [.getPriceIds(symbol)](#PerpetualDataHandler+getPriceIds) ⇒
7499
7963
  * [.getPerpetualSymbolsInPool(poolSymbol)](#PerpetualDataHandler+getPerpetualSymbolsInPool) ⇒
7500
7964
  * [.getAllOpenOrders(symbol)](#PerpetualDataHandler+getAllOpenOrders) ⇒
@@ -7502,7 +7966,9 @@ require gas-payments.</p>
7502
7966
  * [.pollLimitOrders(symbol, numElements, [startAfter])](#PerpetualDataHandler+pollLimitOrders) ⇒
7503
7967
  * [.getPoolStaticInfoIndexFromSymbol(symbol)](#PerpetualDataHandler+getPoolStaticInfoIndexFromSymbol) ⇒
7504
7968
  * [.getMarginTokenFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenFromSymbol) ⇒
7969
+ * [.getSettlementTokenFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenFromSymbol) ⇒
7505
7970
  * [.getMarginTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol) ⇒
7971
+ * [.getSettlementTokenDecimalsFromSymbol(symbol)](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol) ⇒
7506
7972
  * [.getABI(contract)](#PerpetualDataHandler+getABI) ⇒
7507
7973
 
7508
7974
  <a name="new_WriteAccessHandler_new"></a>
@@ -7612,6 +8078,19 @@ and this.nestedPerpetualIDs and this.symbolToPerpStaticInfo</p>
7612
8078
 
7613
8079
  **Kind**: instance method of [<code>WriteAccessHandler</code>](#WriteAccessHandler)
7614
8080
  **Overrides**: [<code>\_fillSymbolMaps</code>](#PerpetualDataHandler+_fillSymbolMaps)
8081
+ <a name="PerpetualDataHandler+initSettlementToken"></a>
8082
+
8083
+ ### writeAccessHandler.initSettlementToken(perpStaticInfos)
8084
+ <p>Initializes settlement currency for all pools by
8085
+ completing this.poolStaticInfos with settlement currency info</p>
8086
+
8087
+ **Kind**: instance method of [<code>WriteAccessHandler</code>](#WriteAccessHandler)
8088
+ **Overrides**: [<code>initSettlementToken</code>](#PerpetualDataHandler+initSettlementToken)
8089
+
8090
+ | Param | Description |
8091
+ | --- | --- |
8092
+ | perpStaticInfos | <p>PerpetualStaticInfo array from contract call</p> |
8093
+
7615
8094
  <a name="PerpetualDataHandler+getSymbolFromPoolId"></a>
7616
8095
 
7617
8096
  ### writeAccessHandler.getSymbolFromPoolId(poolId) ⇒ <code>symbol</code>
@@ -7717,6 +8196,22 @@ and corresponding price information</p>
7717
8196
  | --- | --- |
7718
8197
  | symbol | <p>perpetual symbol of the form BTC-USD-MATIC</p> |
7719
8198
 
8199
+ <a name="PerpetualDataHandler+fetchCollateralToSettlementConversion"></a>
8200
+
8201
+ ### writeAccessHandler.fetchCollateralToSettlementConversion(symbol)
8202
+ <p>fetchCollateralToSettlementConversion returns the price which converts the collateral
8203
+ currency into settlement currency. For example if BTC-USD-STUSD has settlement currency
8204
+ USDC, we get
8205
+ let px = fetchCollateralToSettlementConversion(&quot;BTC-USD-STUSD&quot;)
8206
+ valueInUSDC = collateralInSTUSD * px</p>
8207
+
8208
+ **Kind**: instance method of [<code>WriteAccessHandler</code>](#WriteAccessHandler)
8209
+ **Overrides**: [<code>fetchCollateralToSettlementConversion</code>](#PerpetualDataHandler+fetchCollateralToSettlementConversion)
8210
+
8211
+ | Param | Description |
8212
+ | --- | --- |
8213
+ | symbol | <p>either perpetual symbol of the form BTC-USD-MATIC or just collateral token</p> |
8214
+
7720
8215
  <a name="PerpetualDataHandler+getPriceIds"></a>
7721
8216
 
7722
8217
  ### writeAccessHandler.getPriceIds(symbol) ⇒
@@ -7851,23 +8346,45 @@ main();
7851
8346
  ### writeAccessHandler.getMarginTokenFromSymbol(symbol) ⇒
7852
8347
  **Kind**: instance method of [<code>WriteAccessHandler</code>](#WriteAccessHandler)
7853
8348
  **Overrides**: [<code>getMarginTokenFromSymbol</code>](#PerpetualDataHandler+getMarginTokenFromSymbol)
7854
- **Returns**: <p>Address of the corresponding token</p>
8349
+ **Returns**: <p>Address of the corresponding margin token</p>
7855
8350
 
7856
8351
  | Param | Description |
7857
8352
  | --- | --- |
7858
8353
  | symbol | <p>Symbol of the form USDC</p> |
7859
8354
 
8355
+ <a name="PerpetualDataHandler+getSettlementTokenFromSymbol"></a>
8356
+
8357
+ ### writeAccessHandler.getSettlementTokenFromSymbol(symbol) ⇒
8358
+ **Kind**: instance method of [<code>WriteAccessHandler</code>](#WriteAccessHandler)
8359
+ **Overrides**: [<code>getSettlementTokenFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenFromSymbol)
8360
+ **Returns**: <p>Address of the corresponding settlement token</p>
8361
+
8362
+ | Param | Description |
8363
+ | --- | --- |
8364
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
8365
+
7860
8366
  <a name="PerpetualDataHandler+getMarginTokenDecimalsFromSymbol"></a>
7861
8367
 
7862
8368
  ### writeAccessHandler.getMarginTokenDecimalsFromSymbol(symbol) ⇒
7863
8369
  **Kind**: instance method of [<code>WriteAccessHandler</code>](#WriteAccessHandler)
7864
8370
  **Overrides**: [<code>getMarginTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getMarginTokenDecimalsFromSymbol)
7865
- **Returns**: <p>Decimals of the corresponding token</p>
8371
+ **Returns**: <p>Decimals of the corresponding margin token</p>
7866
8372
 
7867
8373
  | Param | Description |
7868
8374
  | --- | --- |
7869
8375
  | symbol | <p>Symbol of the form USDC</p> |
7870
8376
 
8377
+ <a name="PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol"></a>
8378
+
8379
+ ### writeAccessHandler.getSettlementTokenDecimalsFromSymbol(symbol) ⇒
8380
+ **Kind**: instance method of [<code>WriteAccessHandler</code>](#WriteAccessHandler)
8381
+ **Overrides**: [<code>getSettlementTokenDecimalsFromSymbol</code>](#PerpetualDataHandler+getSettlementTokenDecimalsFromSymbol)
8382
+ **Returns**: <p>Decimals of the corresponding settlement token</p>
8383
+
8384
+ | Param | Description |
8385
+ | --- | --- |
8386
+ | symbol | <p>Symbol of the form ETH-USD-WEETH</p> |
8387
+
7871
8388
  <a name="PerpetualDataHandler+getABI"></a>
7872
8389
 
7873
8390
  ### writeAccessHandler.getABI(contract) ⇒
@@ -7881,3 +8398,16 @@ main();
7881
8398
  | --- | --- |
7882
8399
  | contract | <p>name of contract: proxy|lob|sharetoken</p> |
7883
8400
 
8401
+ <a name="default"></a>
8402
+
8403
+ ## default ⇒
8404
+ <p>Gets the price of one Angle stUSD in USDC from
8405
+ on-chain</p>
8406
+
8407
+ **Kind**: global variable
8408
+ **Returns**: <p>STUSD-USDC</p>
8409
+
8410
+ | Param | Description |
8411
+ | --- | --- |
8412
+ | provider | <p>arbitrum provider</p> |
8413
+