@d8x/perpetuals-sdk 2.1.13-alpha2 → 2.1.25-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.
Files changed (163) hide show
  1. package/dist/cjs/abi/BeaconProxy.json +71 -0
  2. package/dist/cjs/abi/Maintainer.json +774 -0
  3. package/dist/cjs/abi/MockToken.json +347 -0
  4. package/dist/cjs/abi/UUPSUpgradeable.json +104 -0
  5. package/dist/cjs/abi/WeETH.json +310 -0
  6. package/dist/cjs/abi-zkevm/LimitOrderBook.json +910 -0
  7. package/dist/cjs/abi-zkevm/LimitOrderBookFactory.json +236 -0
  8. package/dist/cjs/config/priceFeedConfig.json +0 -12
  9. package/dist/cjs/contracts/BeaconProxy.d.ts +63 -0
  10. package/dist/cjs/contracts/BeaconProxy.js +3 -0
  11. package/dist/cjs/contracts/BeaconProxy.js.map +1 -0
  12. package/dist/cjs/contracts/Maintainer.d.ts +799 -0
  13. package/dist/cjs/contracts/Maintainer.js +3 -0
  14. package/dist/cjs/contracts/Maintainer.js.map +1 -0
  15. package/dist/cjs/contracts/MockToken.d.ts +263 -0
  16. package/dist/cjs/contracts/MockToken.js +3 -0
  17. package/dist/cjs/contracts/MockToken.js.map +1 -0
  18. package/dist/cjs/contracts/UUPSUpgradeable.d.ts +118 -0
  19. package/dist/cjs/contracts/UUPSUpgradeable.js +3 -0
  20. package/dist/cjs/contracts/UUPSUpgradeable.js.map +1 -0
  21. package/dist/cjs/contracts/WeETH.d.ts +503 -0
  22. package/dist/cjs/contracts/WeETH.js +3 -0
  23. package/dist/cjs/contracts/WeETH.js.map +1 -0
  24. package/dist/cjs/contracts/factories/BeaconProxy__factory.d.ts +61 -0
  25. package/dist/cjs/contracts/factories/BeaconProxy__factory.js +89 -0
  26. package/dist/cjs/contracts/factories/BeaconProxy__factory.js.map +1 -0
  27. package/dist/cjs/contracts/factories/Maintainer__factory.d.ts +609 -0
  28. package/dist/cjs/contracts/factories/Maintainer__factory.js +792 -0
  29. package/dist/cjs/contracts/factories/Maintainer__factory.js.map +1 -0
  30. package/dist/{esm/contracts/factories/PerpStorage__factory.d.ts → cjs/contracts/factories/MockToken__factory.d.ts} +128 -115
  31. package/dist/cjs/contracts/factories/MockToken__factory.js +365 -0
  32. package/dist/cjs/contracts/factories/MockToken__factory.js.map +1 -0
  33. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.d.ts +87 -0
  34. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js +122 -0
  35. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js.map +1 -0
  36. package/dist/cjs/contracts/factories/WeETH__factory.d.ts +545 -0
  37. package/dist/cjs/contracts/factories/WeETH__factory.js +721 -0
  38. package/dist/cjs/contracts/factories/WeETH__factory.js.map +1 -0
  39. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.d.ts +4136 -0
  40. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js +5324 -0
  41. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js.map +1 -0
  42. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +189 -0
  43. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js +254 -0
  44. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +1 -0
  45. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.d.ts +715 -0
  46. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js +928 -0
  47. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js.map +1 -0
  48. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.d.ts +344 -0
  49. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js +456 -0
  50. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js.map +1 -0
  51. package/dist/cjs/contracts/factories/lean0/index.d.ts +4 -0
  52. package/dist/cjs/contracts/factories/lean0/index.js +15 -0
  53. package/dist/cjs/contracts/factories/lean0/index.js.map +1 -0
  54. package/dist/cjs/contracts/lean0/IPerpetualManager.d.ts +2821 -0
  55. package/dist/cjs/contracts/lean0/IPerpetualManager.js +3 -0
  56. package/dist/cjs/contracts/lean0/IPerpetualManager.js.map +1 -0
  57. package/dist/cjs/contracts/lean0/LimitOrderBook.d.ts +533 -0
  58. package/dist/cjs/contracts/lean0/LimitOrderBook.js +3 -0
  59. package/dist/cjs/contracts/lean0/LimitOrderBook.js.map +1 -0
  60. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.d.ts +210 -0
  61. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js +3 -0
  62. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js.map +1 -0
  63. package/dist/cjs/contracts/lean0/ShareToken.d.ts +320 -0
  64. package/dist/cjs/contracts/lean0/ShareToken.js +3 -0
  65. package/dist/cjs/contracts/lean0/ShareToken.js.map +1 -0
  66. package/dist/cjs/contracts/lean0/index.d.ts +4 -0
  67. package/dist/cjs/contracts/lean0/index.js +3 -0
  68. package/dist/cjs/contracts/lean0/index.js.map +1 -0
  69. package/dist/cjs/d8XMath.d.ts +3 -5
  70. package/dist/cjs/d8XMath.js +9 -11
  71. package/dist/cjs/d8XMath.js.map +1 -1
  72. package/dist/cjs/liquidatorTool.d.ts +2 -1
  73. package/dist/cjs/liquidatorTool.js +28 -13
  74. package/dist/cjs/liquidatorTool.js.map +1 -1
  75. package/dist/cjs/version.d.ts +1 -1
  76. package/dist/cjs/version.js +1 -1
  77. package/dist/esm/abi/BeaconProxy.json +71 -0
  78. package/dist/esm/abi/Maintainer.json +774 -0
  79. package/dist/esm/abi/MockToken.json +347 -0
  80. package/dist/esm/abi/UUPSUpgradeable.json +104 -0
  81. package/dist/esm/abi/WeETH.json +310 -0
  82. package/dist/esm/abi/lean0/IPerpetualManager.json +5306 -0
  83. package/dist/esm/abi/lean0/LimitOrderBook.json +910 -0
  84. package/dist/esm/abi/lean0/LimitOrderBookFactory.json +236 -0
  85. package/dist/esm/abi/lean0/ShareToken.json +438 -0
  86. package/dist/esm/abi-zkevm/LimitOrderBook.json +910 -0
  87. package/dist/esm/abi-zkevm/LimitOrderBookFactory.json +236 -0
  88. package/dist/esm/config/priceFeedConfig.json +0 -12
  89. package/dist/esm/contracts/BeaconProxy.d.ts +63 -0
  90. package/dist/esm/contracts/BeaconProxy.js +2 -0
  91. package/dist/esm/contracts/BeaconProxy.js.map +1 -0
  92. package/dist/esm/contracts/Maintainer.d.ts +799 -0
  93. package/dist/esm/contracts/Maintainer.js +2 -0
  94. package/dist/esm/contracts/Maintainer.js.map +1 -0
  95. package/dist/esm/contracts/MockToken.d.ts +263 -0
  96. package/dist/esm/contracts/MockToken.js +2 -0
  97. package/dist/esm/contracts/MockToken.js.map +1 -0
  98. package/dist/esm/contracts/UUPSUpgradeable.d.ts +118 -0
  99. package/dist/esm/contracts/UUPSUpgradeable.js +2 -0
  100. package/dist/esm/contracts/UUPSUpgradeable.js.map +1 -0
  101. package/dist/esm/contracts/WeETH.d.ts +503 -0
  102. package/dist/esm/contracts/WeETH.js +2 -0
  103. package/dist/esm/contracts/WeETH.js.map +1 -0
  104. package/dist/esm/contracts/factories/BeaconProxy__factory.d.ts +61 -0
  105. package/dist/esm/contracts/factories/BeaconProxy__factory.js +85 -0
  106. package/dist/esm/contracts/factories/BeaconProxy__factory.js.map +1 -0
  107. package/dist/esm/contracts/factories/Maintainer__factory.d.ts +609 -0
  108. package/dist/esm/contracts/factories/Maintainer__factory.js +788 -0
  109. package/dist/esm/contracts/factories/Maintainer__factory.js.map +1 -0
  110. package/dist/esm/contracts/factories/MockToken__factory.d.ts +273 -0
  111. package/dist/esm/contracts/factories/{PerpStorage__factory.js → MockToken__factory.js} +139 -128
  112. package/dist/esm/contracts/factories/MockToken__factory.js.map +1 -0
  113. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.d.ts +87 -0
  114. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js +118 -0
  115. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js.map +1 -0
  116. package/dist/esm/contracts/factories/WeETH__factory.d.ts +545 -0
  117. package/dist/esm/contracts/factories/WeETH__factory.js +717 -0
  118. package/dist/esm/contracts/factories/WeETH__factory.js.map +1 -0
  119. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.d.ts +4136 -0
  120. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js +5320 -0
  121. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js.map +1 -0
  122. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +189 -0
  123. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js +250 -0
  124. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +1 -0
  125. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.d.ts +715 -0
  126. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js +924 -0
  127. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js.map +1 -0
  128. package/dist/esm/contracts/factories/lean0/ShareToken__factory.d.ts +344 -0
  129. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js +452 -0
  130. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js.map +1 -0
  131. package/dist/esm/contracts/factories/lean0/index.d.ts +4 -0
  132. package/dist/esm/contracts/factories/lean0/index.js +8 -0
  133. package/dist/esm/contracts/factories/lean0/index.js.map +1 -0
  134. package/dist/esm/contracts/lean0/IPerpetualManager.d.ts +2821 -0
  135. package/dist/esm/contracts/lean0/IPerpetualManager.js +2 -0
  136. package/dist/esm/contracts/lean0/IPerpetualManager.js.map +1 -0
  137. package/dist/esm/contracts/lean0/LimitOrderBook.d.ts +533 -0
  138. package/dist/esm/contracts/lean0/LimitOrderBook.js +2 -0
  139. package/dist/esm/contracts/lean0/LimitOrderBook.js.map +1 -0
  140. package/dist/esm/contracts/lean0/LimitOrderBookFactory.d.ts +210 -0
  141. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js +2 -0
  142. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js.map +1 -0
  143. package/dist/esm/contracts/lean0/ShareToken.d.ts +320 -0
  144. package/dist/esm/contracts/lean0/ShareToken.js +2 -0
  145. package/dist/esm/contracts/lean0/ShareToken.js.map +1 -0
  146. package/dist/esm/contracts/lean0/index.d.ts +4 -0
  147. package/dist/esm/contracts/lean0/index.js +2 -0
  148. package/dist/esm/contracts/lean0/index.js.map +1 -0
  149. package/dist/esm/d8XMath.d.ts +3 -5
  150. package/dist/esm/d8XMath.js +9 -11
  151. package/dist/esm/d8XMath.js.map +1 -1
  152. package/dist/esm/liquidatorTool.d.ts +2 -1
  153. package/dist/esm/liquidatorTool.js +29 -14
  154. package/dist/esm/liquidatorTool.js.map +1 -1
  155. package/dist/esm/version.d.ts +1 -1
  156. package/dist/esm/version.js +1 -1
  157. package/doc/d8x-perpetuals-sdk.md +4 -6
  158. package/package.json +1 -1
  159. package/src/config/priceFeedConfig.json +0 -12
  160. package/src/d8XMath.ts +8 -12
  161. package/src/liquidatorTool.ts +48 -15
  162. package/src/version.ts +1 -1
  163. package/dist/esm/contracts/factories/PerpStorage__factory.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"d8XMath.js","sourceRoot":"","sources":["../../src/d8XMath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"d8XMath.js","sourceRoot":"","sources":["../../src/d8XMath.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ContractTransactionResponse, Overrides, Signer, TransactionResponse } from "ethers";
1
+ import { BigNumberish, ContractTransactionResponse, Overrides, Signer, TransactionResponse } from "ethers";
2
2
  import { PayableOverrides } from "./contracts/common";
3
3
  import type { NodeSDKConfig, PriceFeedSubmission } from "./nodeSDKTypes";
4
4
  import WriteAccessHandler from "./writeAccessHandler";
@@ -60,6 +60,7 @@ export default class LiquidatorTool extends WriteAccessHandler {
60
60
  liquidateTrader(symbol: string, traderAddr: string, liquidatorAddr?: string, submission?: PriceFeedSubmission, overrides?: PayableOverrides & {
61
61
  rpcURL?: string;
62
62
  splitTx?: boolean;
63
+ maxGasLimit?: BigNumberish;
63
64
  }): Promise<TransactionResponse>;
64
65
  /**
65
66
  * Check if the collateral of a trader is above the maintenance margin ("maintenance margin safe").
@@ -1,4 +1,4 @@
1
- import { JsonRpcProvider } from "ethers";
1
+ import { JsonRpcProvider, } from "ethers";
2
2
  import { IPyth__factory } from "./contracts/factories";
3
3
  import { ABK64x64ToFloat, floatToABK64x64, entropy } from "./d8XMath";
4
4
  import WriteAccessHandler from "./writeAccessHandler";
@@ -94,20 +94,15 @@ export default class LiquidatorTool extends WriteAccessHandler {
94
94
  }
95
95
  let rpcURL;
96
96
  let splitTx;
97
+ let maxGasLimit;
97
98
  if (overrides) {
98
- ({ rpcURL, splitTx, ...overrides } = overrides);
99
+ ({ rpcURL, splitTx, maxGasLimit, ...overrides } = overrides);
99
100
  }
100
101
  const provider = new JsonRpcProvider(rpcURL ?? this.nodeURL, this.network, { staticNetwork: true });
101
102
  let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
102
103
  if (submission == undefined) {
103
104
  submission = await this.fetchLatestFeedPriceInfo(symbol);
104
105
  }
105
- if (!overrides || overrides.gasLimit == undefined) {
106
- overrides = {
107
- gasLimit: overrides?.gasLimit ?? this.gasLimit,
108
- ...overrides,
109
- };
110
- }
111
106
  // update first
112
107
  let nonceInc = 0;
113
108
  let txData;
@@ -119,7 +114,7 @@ export default class LiquidatorTool extends WriteAccessHandler {
119
114
  const pythTx = await pyth.updatePriceFeedsIfNecessary(submission.priceFeedVaas, priceIds, submission.timestamps, {
120
115
  value: this.PRICE_UPDATE_FEE_GWEI * submission.timestamps.length,
121
116
  gasLimit: overrides?.gasLimit ?? this.gasLimit,
122
- nonce: overrides.nonce,
117
+ nonce: overrides?.nonce,
123
118
  });
124
119
  nonceInc += 1;
125
120
  // await pythTx.wait();
@@ -145,21 +140,41 @@ export default class LiquidatorTool extends WriteAccessHandler {
145
140
  ]);
146
141
  value = this.PRICE_UPDATE_FEE_GWEI * submission.timestamps.length;
147
142
  }
148
- if (!!overrides?.nonce) {
143
+ if (overrides?.nonce != undefined) {
149
144
  overrides.nonce = overrides.nonce + nonceInc;
150
145
  }
146
+ if (overrides?.gasLimit !== undefined) {
147
+ overrides.gasLimit = await overrides.gasLimit;
148
+ }
149
+ if (overrides?.gasPrice !== undefined) {
150
+ overrides.gasPrice = await overrides.gasPrice;
151
+ }
151
152
  let unsignedTx = {
152
153
  to: this.proxyAddr,
153
154
  from: this.traderAddr,
154
- nonce: overrides.nonce,
155
+ nonce: overrides?.nonce,
155
156
  data: txData,
156
157
  value: value,
157
- gasLimit: overrides.gasLimit,
158
+ gasLimit: overrides?.gasLimit,
158
159
  // gas price is populated by the provider if undefined
159
- gasPrice: overrides.gasPrice,
160
+ gasPrice: overrides?.gasPrice,
160
161
  chainId: this.chainId,
161
162
  };
162
- return await this.signer.sendTransaction(unsignedTx);
163
+ // no gas limit was specified, explicitly estimate
164
+ if (!overrides?.gasLimit) {
165
+ let gasLimit = await this.signer
166
+ .estimateGas(unsignedTx)
167
+ .then((gas) => (gas * 1500n) / 1000n)
168
+ .catch((_e) => undefined);
169
+ if (!gasLimit) {
170
+ // gas estimate failed - txn would probably revert, double check (and possibly re-throw):
171
+ overrides = { gasLimit: maxGasLimit ?? this.gasLimit, value: unsignedTx.value, ...overrides };
172
+ await this.proxyContract.liquidateByAMM.staticCall(perpID, liquidatorAddr, traderAddr, submission.priceFeedVaas, submission.timestamps, overrides);
173
+ gasLimit = BigInt(maxGasLimit ?? this.gasLimit);
174
+ }
175
+ unsignedTx.gasLimit = gasLimit;
176
+ }
177
+ return await this.signer.connect(provider).sendTransaction(unsignedTx);
163
178
  }
164
179
  /**
165
180
  * Check if the collateral of a trader is above the maintenance margin ("maintenance margin safe").
@@ -1 +1 @@
1
- {"version":3,"file":"liquidatorTool.js","sourceRoot":"","sources":["../../src/liquidatorTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"liquidatorTool.js","sourceRoot":"","sources":["../../src/liquidatorTool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const D8X_SDK_VERSION = "2.1.13-alpha2";
1
+ export declare const D8X_SDK_VERSION = "2.1.25-alpha2";
@@ -1,2 +1,2 @@
1
- export const D8X_SDK_VERSION = "2.1.13-alpha2";
1
+ export const D8X_SDK_VERSION = "2.1.25-alpha2";
2
2
  //# sourceMappingURL=version.js.map
@@ -156,7 +156,7 @@ on-chain</p></dd>
156
156
  * [~excessMargin(tradeAmt, currentCashCC, currentPos, currentLockedInQC, limitPrice, Sm, S3)](#module_d8xMath..excessMargin) ⇒
157
157
  * [~pmGetDepositAmtForLvgTrade(tradeAmt, targetLvg, price, S3, S2Mark)](#module_d8xMath..pmGetDepositAmtForLvgTrade) ⇒
158
158
  * [~pmExcessCashAtLvg(tradeAmt, lvg, walletBalCC, currentCashCC, currentPosition, currentLockedInValue, slippage, S2, Sm, S3, totLong, totShort)](#module_d8xMath..pmExcessCashAtLvg) ⇒
159
- * [~pmFindMaxPersonalTradeSizeAtLeverage(dir, lvg, walletBalCC, slippage, currentPosition, currentCashCC, currentLockedInValue, S2, Sm, S3, totLong, totShort, maxShort, maxLong)](#module_d8xMath..pmFindMaxPersonalTradeSizeAtLeverage) ⇒
159
+ * [~pmFindMaxPersonalTradeSizeAtLeverage(dir, lvg, walletBalCC, slippage, currentPosition, currentCashCC, currentLockedInValue, S2, Sm, S3, maxShort, maxLong)](#module_d8xMath..pmFindMaxPersonalTradeSizeAtLeverage) ⇒
160
160
  * [~pmFindMaxTradeSize(dir, currentPosition, currentCashCC, currentLockedInValue, limitPrice, Sm, S3, totLong, totShort, maxShort, maxLong)](#module_d8xMath..pmFindMaxTradeSize) ⇒
161
161
 
162
162
  <a name="module_d8xMath..ABDK29ToFloat"></a>
@@ -594,7 +594,7 @@ after a trade of size tradeAmt in prediction markets</p>
594
594
 
595
595
  <a name="module_d8xMath..pmFindMaxPersonalTradeSizeAtLeverage"></a>
596
596
 
597
- ### d8xMath~pmFindMaxPersonalTradeSizeAtLeverage(dir, lvg, walletBalCC, slippage, currentPosition, currentCashCC, currentLockedInValue, S2, Sm, S3, totLong, totShort, maxShort, maxLong) ⇒
597
+ ### d8xMath~pmFindMaxPersonalTradeSizeAtLeverage(dir, lvg, walletBalCC, slippage, currentPosition, currentCashCC, currentLockedInValue, S2, Sm, S3, maxShort, maxLong) ⇒
598
598
  <p>Find maximal trade size (short dir=-1 or long dir=1) for prediction
599
599
  markets at provided leverage and incorporating the current position
600
600
  and wallet balance.
@@ -615,10 +615,8 @@ Factors in lot size and global max short/long</p>
615
615
  | S2 | |
616
616
  | Sm | |
617
617
  | S3 | |
618
- | totLong | |
619
- | totShort | |
620
- | maxShort | |
621
- | maxLong | |
618
+ | maxShort | <p>global max short order size (sign irrelevant)</p> |
619
+ | maxLong | <p>global max long order size (positive)</p> |
622
620
 
623
621
  <a name="module_d8xMath..pmFindMaxTradeSize"></a>
624
622
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d8x/perpetuals-sdk",
3
- "version": "2.1.13-alpha2",
3
+ "version": "2.1.25-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",
@@ -50,12 +50,6 @@
50
50
  "type": "pyth",
51
51
  "origin": "Crypto.ETH/USD"
52
52
  },
53
- {
54
- "symbol": "MATIC-USD",
55
- "id": "0x5de33a9112c2b700b8d30b8a3402c103578ccfa2765696471cc672bd5cf6ac52",
56
- "type": "pyth",
57
- "origin": "Crypto.MATIC/USD"
58
- },
59
53
  {
60
54
  "symbol": "USD-CHF",
61
55
  "id": "0x0b1e3297e69f162877b577b0d6a47a0d63b2392bc8499e6540da4187a63e28f8",
@@ -202,12 +196,6 @@
202
196
  "type": "odin",
203
197
  "origin": "Crypto.ETH/USD"
204
198
  },
205
- {
206
- "symbol": "MATIC-USD",
207
- "id": "0x5de33a9112c2b700b8d30b8a3402c103578ccfa2765696471cc672bd5cf6ac52",
208
- "type": "odin",
209
- "origin": "Crypto.MATIC/USD"
210
- },
211
199
  {
212
200
  "symbol": "USD-CHF",
213
201
  "id": "0x0b1e3297e69f162877b577b0d6a47a0d63b2392bc8499e6540da4187a63e28f8",
package/src/d8XMath.ts CHANGED
@@ -748,10 +748,10 @@ function pmExcessCashAtLvg(
748
748
  if (tradeAmt < 0) {
749
749
  p0 = 2 - Sm; //=1-(Sm-1)
750
750
  }
751
- const feeCc = pmExchangeFee(p0, m0, tradeAmt, 1 / lvg) / S3;
751
+ const feeCc = (tradeAmt * pmExchangeFee(p0, m0, tradeAmt, 1 / lvg)) / S3;
752
752
 
753
753
  //excess cash
754
- let exc = walletBalCC - depositFromWallet - feeCc;
754
+ let exc = walletBalCC - depositFromWallet;
755
755
 
756
756
  // margin balance
757
757
  let pos = currentPosition + tradeAmt;
@@ -792,10 +792,8 @@ function pmExcessCashAtLvg(
792
792
  * @param S2
793
793
  * @param Sm
794
794
  * @param S3
795
- * @param totLong
796
- * @param totShort
797
- * @param maxShort
798
- * @param maxLong
795
+ * @param maxShort global max short order size (sign irrelevant)
796
+ * @param maxLong global max long order size (positive)
799
797
  * @returns max trade size
800
798
  */
801
799
  export function pmFindMaxPersonalTradeSizeAtLeverage(
@@ -809,8 +807,6 @@ export function pmFindMaxPersonalTradeSizeAtLeverage(
809
807
  S2: number,
810
808
  Sm: number,
811
809
  S3: number,
812
- totLong: number,
813
- totShort: number,
814
810
  maxShort: number,
815
811
  maxLong: number
816
812
  ): number {
@@ -891,10 +887,10 @@ export function pmFindMaxPersonalTradeSizeAtLeverage(
891
887
  }
892
888
  // ensure trade maximal trade sNew does not exceed
893
889
  // the contract limits
894
- if (currentPosition + sNew < maxShort) {
895
- sNew = maxShort - currentPosition;
896
- } else if (currentPosition + sNew > maxLong) {
897
- sNew = maxLong - currentPosition;
890
+ if (sNew < -Math.abs(maxShort)) {
891
+ sNew = -Math.abs(maxShort);
892
+ } else if (sNew > maxLong) {
893
+ sNew = maxLong;
898
894
  }
899
895
  // round trade size down to lot
900
896
  sNew = Math.sign(sNew) * Math.floor(Math.abs(sNew) / lot) * lot;
@@ -1,4 +1,11 @@
1
- import { ContractTransactionResponse, JsonRpcProvider, Overrides, Signer, TransactionResponse } from "ethers";
1
+ import {
2
+ BigNumberish,
3
+ ContractTransactionResponse,
4
+ JsonRpcProvider,
5
+ Overrides,
6
+ Signer,
7
+ TransactionResponse,
8
+ } from "ethers";
2
9
  import { PayableOverrides } from "./contracts/common";
3
10
  import { IPyth__factory } from "./contracts/factories";
4
11
  import { ABK64x64ToFloat, floatToABK64x64, entropy } from "./d8XMath";
@@ -98,7 +105,7 @@ export default class LiquidatorTool extends WriteAccessHandler {
98
105
  traderAddr: string,
99
106
  liquidatorAddr: string = "",
100
107
  submission?: PriceFeedSubmission,
101
- overrides?: PayableOverrides & { rpcURL?: string; splitTx?: boolean }
108
+ overrides?: PayableOverrides & { rpcURL?: string; splitTx?: boolean; maxGasLimit?: BigNumberish }
102
109
  ): Promise<TransactionResponse> {
103
110
  // this operation spends gas, so signer is required
104
111
  if (this.proxyContract == null || this.signer == null) {
@@ -110,20 +117,17 @@ export default class LiquidatorTool extends WriteAccessHandler {
110
117
  }
111
118
  let rpcURL: string | undefined;
112
119
  let splitTx: boolean | undefined;
120
+ let maxGasLimit: BigNumberish | undefined;
113
121
  if (overrides) {
114
- ({ rpcURL, splitTx, ...overrides } = overrides);
122
+ ({ rpcURL, splitTx, maxGasLimit, ...overrides } = overrides);
115
123
  }
124
+
116
125
  const provider = new JsonRpcProvider(rpcURL ?? this.nodeURL, this.network, { staticNetwork: true });
117
126
  let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
118
127
  if (submission == undefined) {
119
128
  submission = await this.fetchLatestFeedPriceInfo(symbol);
120
129
  }
121
- if (!overrides || overrides.gasLimit == undefined) {
122
- overrides = {
123
- gasLimit: overrides?.gasLimit ?? this.gasLimit,
124
- ...overrides,
125
- } as PayableOverrides;
126
- }
130
+
127
131
  // update first
128
132
  let nonceInc = 0;
129
133
  let txData: string;
@@ -139,7 +143,7 @@ export default class LiquidatorTool extends WriteAccessHandler {
139
143
  {
140
144
  value: this.PRICE_UPDATE_FEE_GWEI * submission.timestamps.length,
141
145
  gasLimit: overrides?.gasLimit ?? this.gasLimit,
142
- nonce: overrides.nonce,
146
+ nonce: overrides?.nonce,
143
147
  }
144
148
  );
145
149
  nonceInc += 1;
@@ -164,21 +168,50 @@ export default class LiquidatorTool extends WriteAccessHandler {
164
168
  ]);
165
169
  value = this.PRICE_UPDATE_FEE_GWEI * submission.timestamps.length;
166
170
  }
167
- if (!!overrides?.nonce) {
171
+ if (overrides?.nonce != undefined) {
168
172
  overrides.nonce = overrides.nonce + nonceInc;
169
173
  }
174
+
175
+ if (overrides?.gasLimit !== undefined) {
176
+ overrides.gasLimit = await overrides.gasLimit;
177
+ }
178
+
179
+ if (overrides?.gasPrice !== undefined) {
180
+ overrides.gasPrice = await overrides.gasPrice;
181
+ }
170
182
  let unsignedTx = {
171
183
  to: this.proxyAddr,
172
184
  from: this.traderAddr,
173
- nonce: overrides.nonce,
185
+ nonce: overrides?.nonce,
174
186
  data: txData,
175
187
  value: value,
176
- gasLimit: overrides.gasLimit,
188
+ gasLimit: overrides?.gasLimit,
177
189
  // gas price is populated by the provider if undefined
178
- gasPrice: overrides.gasPrice,
190
+ gasPrice: overrides?.gasPrice,
179
191
  chainId: this.chainId,
180
192
  };
181
- return await this.signer.sendTransaction(unsignedTx);
193
+ // no gas limit was specified, explicitly estimate
194
+ if (!overrides?.gasLimit) {
195
+ let gasLimit = await this.signer
196
+ .estimateGas(unsignedTx)
197
+ .then((gas) => (gas * 1500n) / 1000n)
198
+ .catch((_e) => undefined);
199
+ if (!gasLimit) {
200
+ // gas estimate failed - txn would probably revert, double check (and possibly re-throw):
201
+ overrides = { gasLimit: maxGasLimit ?? this.gasLimit, value: unsignedTx.value, ...overrides };
202
+ await this.proxyContract.liquidateByAMM.staticCall(
203
+ perpID,
204
+ liquidatorAddr,
205
+ traderAddr,
206
+ submission.priceFeedVaas,
207
+ submission.timestamps,
208
+ overrides
209
+ );
210
+ gasLimit = BigInt(maxGasLimit ?? this.gasLimit);
211
+ }
212
+ unsignedTx.gasLimit = gasLimit;
213
+ }
214
+ return await this.signer.connect(provider).sendTransaction(unsignedTx);
182
215
  }
183
216
 
184
217
  /**
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const D8X_SDK_VERSION = "2.1.13-alpha2";
1
+ export const D8X_SDK_VERSION = "2.1.25-alpha2";
@@ -1 +0,0 @@
1
- {"version":3,"file":"PerpStorage__factory.js","sourceRoot":"","sources":["../../../../src/contracts/factories/PerpStorage__factory.ts"],"names":[],"mappings":"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"}