@d8x/perpetuals-sdk 0.7.6 → 0.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/cjs/accountTrade.js +243 -134
  2. package/dist/cjs/accountTrade.js.map +1 -1
  3. package/dist/cjs/brokerTool.js +290 -144
  4. package/dist/cjs/brokerTool.js.map +1 -1
  5. package/dist/cjs/config/priceFeedConfig.json +1 -1
  6. package/dist/cjs/contracts/factories/ERC20__factory.js +12 -9
  7. package/dist/cjs/contracts/factories/ERC20__factory.js.map +1 -1
  8. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +12 -9
  9. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  10. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js +12 -9
  11. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  12. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js +12 -9
  13. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  14. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js +12 -9
  15. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  16. package/dist/cjs/contracts/factories/ShareToken__factory.js +12 -9
  17. package/dist/cjs/contracts/factories/ShareToken__factory.js.map +1 -1
  18. package/dist/cjs/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js +12 -9
  19. package/dist/cjs/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js.map +1 -1
  20. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js +12 -9
  21. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js.map +1 -1
  22. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js +12 -9
  23. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js.map +1 -1
  24. package/dist/cjs/contracts/factories/zkevmTestnet/ShareToken__factory.js +12 -9
  25. package/dist/cjs/contracts/factories/zkevmTestnet/ShareToken__factory.js.map +1 -1
  26. package/dist/cjs/contracts/index.js +1 -1
  27. package/dist/cjs/d8XMath.js +66 -65
  28. package/dist/cjs/d8XMath.js.map +1 -1
  29. package/dist/cjs/index.js +11 -11
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/liquidatorTool.js +137 -80
  32. package/dist/cjs/liquidatorTool.js.map +1 -1
  33. package/dist/cjs/liquidityProviderTool.js +65 -33
  34. package/dist/cjs/liquidityProviderTool.js.map +1 -1
  35. package/dist/cjs/marketData.js +978 -635
  36. package/dist/cjs/marketData.js.map +1 -1
  37. package/dist/cjs/nodeSDKTypes.js +22 -10
  38. package/dist/cjs/nodeSDKTypes.js.map +1 -1
  39. package/dist/cjs/orderReferrerTool.js +323 -200
  40. package/dist/cjs/orderReferrerTool.js.map +1 -1
  41. package/dist/cjs/perpetualDataHandler.js +550 -404
  42. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  43. package/dist/cjs/perpetualEventHandler.js +190 -129
  44. package/dist/cjs/perpetualEventHandler.js.map +1 -1
  45. package/dist/cjs/priceFeeds.js +335 -223
  46. package/dist/cjs/priceFeeds.js.map +1 -1
  47. package/dist/cjs/traderDigests.js +23 -20
  48. package/dist/cjs/traderDigests.js.map +1 -1
  49. package/dist/cjs/traderInterface.js +87 -54
  50. package/dist/cjs/traderInterface.js.map +1 -1
  51. package/dist/cjs/triangulator.js +38 -34
  52. package/dist/cjs/triangulator.js.map +1 -1
  53. package/dist/cjs/utils.js +32 -18
  54. package/dist/cjs/utils.js.map +1 -1
  55. package/dist/cjs/version.d.ts +1 -1
  56. package/dist/cjs/version.js +1 -1
  57. package/dist/cjs/writeAccessHandler.js +112 -78
  58. package/dist/cjs/writeAccessHandler.js.map +1 -1
  59. package/dist/esm/accountTrade.js +237 -126
  60. package/dist/esm/accountTrade.js.map +1 -1
  61. package/dist/esm/brokerTool.js +284 -136
  62. package/dist/esm/brokerTool.js.map +1 -1
  63. package/dist/esm/config/priceFeedConfig.json +1 -1
  64. package/dist/esm/contracts/factories/ERC20__factory.js +12 -8
  65. package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -1
  66. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +12 -8
  67. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  68. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +12 -8
  69. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  70. package/dist/esm/contracts/factories/LimitOrderBook__factory.js +12 -8
  71. package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  72. package/dist/esm/contracts/factories/MockTokenSwap__factory.js +12 -8
  73. package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  74. package/dist/esm/contracts/factories/ShareToken__factory.js +12 -8
  75. package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -1
  76. package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js +12 -8
  77. package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js.map +1 -1
  78. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js +12 -8
  79. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js.map +1 -1
  80. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js +12 -8
  81. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js.map +1 -1
  82. package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js +12 -8
  83. package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js.map +1 -1
  84. package/dist/esm/d8XMath.js +64 -63
  85. package/dist/esm/d8XMath.js.map +1 -1
  86. package/dist/esm/liquidatorTool.js +136 -77
  87. package/dist/esm/liquidatorTool.js.map +1 -1
  88. package/dist/esm/liquidityProviderTool.js +63 -29
  89. package/dist/esm/liquidityProviderTool.js.map +1 -1
  90. package/dist/esm/marketData.js +971 -626
  91. package/dist/esm/marketData.js.map +1 -1
  92. package/dist/esm/nodeSDKTypes.js +48 -36
  93. package/dist/esm/nodeSDKTypes.js.map +1 -1
  94. package/dist/esm/orderReferrerTool.js +319 -194
  95. package/dist/esm/orderReferrerTool.js.map +1 -1
  96. package/dist/esm/perpetualDataHandler.js +542 -394
  97. package/dist/esm/perpetualDataHandler.js.map +1 -1
  98. package/dist/esm/perpetualEventHandler.js +188 -126
  99. package/dist/esm/perpetualEventHandler.js.map +1 -1
  100. package/dist/esm/priceFeeds.js +332 -218
  101. package/dist/esm/priceFeeds.js.map +1 -1
  102. package/dist/esm/traderDigests.js +19 -15
  103. package/dist/esm/traderDigests.js.map +1 -1
  104. package/dist/esm/traderInterface.js +83 -48
  105. package/dist/esm/traderInterface.js.map +1 -1
  106. package/dist/esm/triangulator.js +39 -34
  107. package/dist/esm/triangulator.js.map +1 -1
  108. package/dist/esm/utils.js +30 -16
  109. package/dist/esm/utils.js.map +1 -1
  110. package/dist/esm/version.d.ts +1 -1
  111. package/dist/esm/version.js +1 -1
  112. package/dist/esm/version.js.map +1 -1
  113. package/dist/esm/writeAccessHandler.js +105 -69
  114. package/dist/esm/writeAccessHandler.js.map +1 -1
  115. package/package.json +1 -1
  116. package/src/accountTrade.ts +6 -1
  117. package/src/config/priceFeedConfig.json +1 -1
  118. package/src/orderReferrerTool.ts +2 -0
  119. package/src/version.ts +1 -1
package/dist/esm/utils.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { __read, __values } from "tslib";
1
2
  import { BigNumber } from "@ethersproject/bignumber";
2
3
  import { Buffer } from "buffer";
3
4
  /**
@@ -16,7 +17,7 @@ export function to4Chars(s) {
16
17
  while (s.length < 4) {
17
18
  s = s + "\0";
18
19
  }
19
- let k = s.length - 1;
20
+ var k = s.length - 1;
20
21
  while (s.length > 4 && k >= 0) {
21
22
  // chop off vocals from the end of string
22
23
  // e.g. MATIC -> MATC
@@ -39,7 +40,7 @@ export function to4Chars(s) {
39
40
  */
40
41
  export function toBytes4(s) {
41
42
  s = to4Chars(s);
42
- let valBuff = Buffer.from(s, "ascii");
43
+ var valBuff = Buffer.from(s, "ascii");
43
44
  return valBuff;
44
45
  }
45
46
  /**
@@ -50,7 +51,7 @@ export function toBytes4(s) {
50
51
  * @returns {string} String decoded into to4Chars-type string without null characters
51
52
  */
52
53
  export function fromBytes4(b) {
53
- let val = b.toString("ascii");
54
+ var val = b.toString("ascii");
54
55
  val = val.replace(/\0/g, "");
55
56
  return val;
56
57
  }
@@ -63,8 +64,8 @@ export function fromBytes4(b) {
63
64
  * returned by the smart contract as bytes4
64
65
  */
65
66
  export function fromBytes4HexString(s) {
66
- let res = "";
67
- for (let k = 2; k < s.length; k = k + 2) {
67
+ var res = "";
68
+ for (var k = 2; k < s.length; k = k + 2) {
68
69
  res = res + String.fromCharCode(parseInt(s.substring(k, k + 2), 16));
69
70
  }
70
71
  res = res.replace(/\0/g, "");
@@ -77,9 +78,10 @@ export function fromBytes4HexString(s) {
77
78
  * @returns {string} User friendly currency symbol, e.g. "MATIC"
78
79
  */
79
80
  export function contractSymbolToSymbol(s, mapping) {
80
- let shortCCY = fromBytes4HexString(s);
81
+ var _a;
82
+ var shortCCY = fromBytes4HexString(s);
81
83
  // assume CCY is already short if not in the mapping file
82
- let longCCY = mapping.get(shortCCY) ?? shortCCY;
84
+ var longCCY = (_a = mapping.get(shortCCY)) !== null && _a !== void 0 ? _a : shortCCY;
83
85
  return longCCY;
84
86
  }
85
87
  /**
@@ -89,14 +91,25 @@ export function contractSymbolToSymbol(s, mapping) {
89
91
  * @returns {Buffer} Buffer that can be used with smart contract to identify tokens
90
92
  */
91
93
  export function symbolToContractSymbol(s, mapping) {
92
- let shortCCY = undefined;
93
- for (let [k, v] of mapping) {
94
- if (v == s) {
95
- shortCCY = k;
94
+ var e_1, _a;
95
+ var shortCCY = undefined;
96
+ try {
97
+ for (var mapping_1 = __values(mapping), mapping_1_1 = mapping_1.next(); !mapping_1_1.done; mapping_1_1 = mapping_1.next()) {
98
+ var _b = __read(mapping_1_1.value, 2), k = _b[0], v = _b[1];
99
+ if (v == s) {
100
+ shortCCY = k;
101
+ }
96
102
  }
97
103
  }
104
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
105
+ finally {
106
+ try {
107
+ if (mapping_1_1 && !mapping_1_1.done && (_a = mapping_1.return)) _a.call(mapping_1);
108
+ }
109
+ finally { if (e_1) throw e_1.error; }
110
+ }
98
111
  // if not in the mapping file, assume ccy is already valid
99
- shortCCY = shortCCY ?? s;
112
+ shortCCY = shortCCY !== null && shortCCY !== void 0 ? shortCCY : s;
100
113
  return toBytes4(shortCCY);
101
114
  }
102
115
  /**
@@ -106,10 +119,11 @@ export function symbolToContractSymbol(s, mapping) {
106
119
  * @returns {string} long format e.g. MATIC. if not found the element is ""
107
120
  */
108
121
  export function symbol4BToLongSymbol(s, mapping) {
109
- let ccy = s.split("-");
110
- let longCCY = "";
111
- for (let k = 0; k < ccy.length; k++) {
112
- let sym = mapping.get(ccy[k]) ?? to4Chars(ccy[k]);
122
+ var _a;
123
+ var ccy = s.split("-");
124
+ var longCCY = "";
125
+ for (var k = 0; k < ccy.length; k++) {
126
+ var sym = (_a = mapping.get(ccy[k])) !== null && _a !== void 0 ? _a : to4Chars(ccy[k]);
113
127
  sym = sym.replace(/\0/g, "");
114
128
  longCCY = longCCY + "-" + sym;
115
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const D8X_SDK_VERSION = "0.7.6";
1
+ export declare const D8X_SDK_VERSION = "0.7.7";
@@ -1,2 +1,2 @@
1
- export const D8X_SDK_VERSION = "0.7.6";
1
+ export var D8X_SDK_VERSION = "0.7.7";
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,eAAe,GAAG,OAAO,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { __assign, __awaiter, __extends, __generator } from "tslib";
1
2
  import { Contract } from "@ethersproject/contracts";
2
3
  import { StaticJsonRpcProvider } from "@ethersproject/providers";
3
4
  import { parseEther } from "@ethersproject/units";
@@ -13,25 +14,27 @@ import PerpetualDataHandler from "./perpetualDataHandler";
13
14
  * require gas-payments.
14
15
  * @extends PerpetualDataHandler
15
16
  */
16
- export default class WriteAccessHandler extends PerpetualDataHandler {
17
+ var WriteAccessHandler = /** @class */ (function (_super) {
18
+ __extends(WriteAccessHandler, _super);
17
19
  /**
18
20
  * Constructor
19
21
  * @param {string | Signer} signer Private key or ethers Signer of the account
20
22
  */
21
- constructor(config, signer) {
22
- super(config);
23
- this.traderAddr = "";
24
- this.signer = null;
25
- this.gasLimit = 15000000;
23
+ function WriteAccessHandler(config, signer) {
24
+ var _this = _super.call(this, config) || this;
25
+ _this.traderAddr = "";
26
+ _this.signer = null;
27
+ _this.gasLimit = 15000000;
26
28
  if (typeof signer == "string") {
27
- this.privateKey = signer;
29
+ _this.privateKey = signer;
28
30
  }
29
31
  else {
30
- this.signer = signer;
32
+ _this.signer = signer;
31
33
  }
32
34
  if (config.gasLimit != undefined) {
33
- this.gasLimit = config.gasLimit;
35
+ _this.gasLimit = config.gasLimit;
34
36
  }
37
+ return _this;
35
38
  }
36
39
  /**
37
40
  * Initialize the writeAccessHandler-Class with this function
@@ -39,55 +42,80 @@ export default class WriteAccessHandler extends PerpetualDataHandler {
39
42
  * about perpetual currencies
40
43
  * @param provider optional provider
41
44
  */
42
- async createProxyInstance(provider, overrides) {
43
- if (provider == undefined) {
44
- this.provider = new StaticJsonRpcProvider(this.nodeURL);
45
- }
46
- else {
47
- this.provider = provider;
48
- }
49
- if (!this.signer) {
50
- const wallet = new Wallet(this.privateKey);
51
- this.signer = wallet.connect(this.provider);
52
- }
53
- await this.initContractsAndData(this.signer, overrides);
54
- this.traderAddr = await this.signer.getAddress();
55
- }
45
+ WriteAccessHandler.prototype.createProxyInstance = function (provider, overrides) {
46
+ return __awaiter(this, void 0, void 0, function () {
47
+ var wallet, _a;
48
+ return __generator(this, function (_b) {
49
+ switch (_b.label) {
50
+ case 0:
51
+ if (provider == undefined) {
52
+ this.provider = new StaticJsonRpcProvider(this.nodeURL);
53
+ }
54
+ else {
55
+ this.provider = provider;
56
+ }
57
+ if (!this.signer) {
58
+ wallet = new Wallet(this.privateKey);
59
+ this.signer = wallet.connect(this.provider);
60
+ }
61
+ return [4 /*yield*/, this.initContractsAndData(this.signer, overrides)];
62
+ case 1:
63
+ _b.sent();
64
+ _a = this;
65
+ return [4 /*yield*/, this.signer.getAddress()];
66
+ case 2:
67
+ _a.traderAddr = _b.sent();
68
+ return [2 /*return*/];
69
+ }
70
+ });
71
+ });
72
+ };
56
73
  /**
57
74
  * Set allowance for ar margin token (e.g., MATIC, ETH, USDC)
58
75
  * @param symbol token in 'long-form' such as MATIC, symbol also fine (ETH-USD-MATIC)
59
76
  * @param amount optional, amount to approve if not 'infinity'
60
77
  * @returns ContractTransaction
61
78
  */
62
- async setAllowance(symbol, amount, overrides) {
63
- //extract margin-currency name
64
- let symbolarr = symbol.split("-");
65
- symbol = symbol.length == 3 ? symbolarr[2] : symbolarr[0];
66
- //note: symbol is in long format
67
- let marginTokenAddr = this.symbolToTokenAddrMap.get(symbol);
68
- if (marginTokenAddr == undefined || this.signer == null) {
69
- throw Error("No margin token or signer defined, call createProxyInstance");
70
- }
71
- let amountDec18;
72
- if (amount == undefined) {
73
- amountDec18 = MAX_UINT_256;
74
- }
75
- else {
76
- amountDec18 = floatToDecN(amount, this.getMarginTokenDecimalsFromSymbol(symbol));
77
- }
78
- return WriteAccessHandler._setAllowance(marginTokenAddr, this.proxyAddr, this.signer, amountDec18, overrides);
79
- }
80
- static async _setAllowance(tokenAddr, proxyAddr, signer, amount, overrides) {
81
- const marginToken = ERC20__factory.connect(tokenAddr, signer);
82
- return await marginToken.approve(proxyAddr, amount, overrides || {});
83
- }
79
+ WriteAccessHandler.prototype.setAllowance = function (symbol, amount, overrides) {
80
+ return __awaiter(this, void 0, void 0, function () {
81
+ var symbolarr, marginTokenAddr, amountDec18;
82
+ return __generator(this, function (_a) {
83
+ symbolarr = symbol.split("-");
84
+ symbol = symbol.length == 3 ? symbolarr[2] : symbolarr[0];
85
+ marginTokenAddr = this.symbolToTokenAddrMap.get(symbol);
86
+ if (marginTokenAddr == undefined || this.signer == null) {
87
+ throw Error("No margin token or signer defined, call createProxyInstance");
88
+ }
89
+ if (amount == undefined) {
90
+ amountDec18 = MAX_UINT_256;
91
+ }
92
+ else {
93
+ amountDec18 = floatToDecN(amount, this.getMarginTokenDecimalsFromSymbol(symbol));
94
+ }
95
+ return [2 /*return*/, WriteAccessHandler._setAllowance(marginTokenAddr, this.proxyAddr, this.signer, amountDec18, overrides)];
96
+ });
97
+ });
98
+ };
99
+ WriteAccessHandler._setAllowance = function (tokenAddr, proxyAddr, signer, amount, overrides) {
100
+ return __awaiter(this, void 0, void 0, function () {
101
+ var marginToken;
102
+ return __generator(this, function (_a) {
103
+ switch (_a.label) {
104
+ case 0:
105
+ marginToken = ERC20__factory.connect(tokenAddr, signer);
106
+ return [4 /*yield*/, marginToken.approve(proxyAddr, amount, overrides || {})];
107
+ case 1: return [2 /*return*/, _a.sent()];
108
+ }
109
+ });
110
+ });
111
+ };
84
112
  /**
85
113
  * Address corresponding to the private key used to instantiate this class.
86
114
  * @returns {string} Address of this wallet.
87
115
  */
88
- getAddress() {
116
+ WriteAccessHandler.prototype.getAddress = function () {
89
117
  return this.traderAddr;
90
- }
118
+ };
91
119
  /**
92
120
  * Converts a given amount of chain native currency (test MATIC)
93
121
  * into a mock token used for trading on testnet, with a rate of 1:100_000
@@ -95,27 +123,35 @@ export default class WriteAccessHandler extends PerpetualDataHandler {
95
123
  * @param amountToPay Amount in chain currency, e.g. "0.1" for 0.1 MATIC
96
124
  * @returns Transaction object
97
125
  */
98
- async swapForMockToken(symbol, amountToPay, overrides) {
99
- if (this.signer == null) {
100
- throw Error("no wallet initialized. Use createProxyInstance().");
101
- }
102
- let tokenAddress = this.getMarginTokenFromSymbol(symbol);
103
- if (tokenAddress == undefined) {
104
- throw Error("symbols not found");
105
- }
106
- let tokenToSwap = new Map(Object.entries(require("./config/mockSwap.json")));
107
- let swapAddress = tokenToSwap.get(tokenAddress);
108
- if (swapAddress == undefined) {
109
- throw Error("No swap contract found for symbol.");
110
- }
111
- let contract = new Contract(swapAddress, MOCK_TOKEN_SWAP_ABI, this.signer);
112
- if (overrides && overrides.value !== undefined) {
113
- throw Error("Pass value to send in function call, not overrides.");
114
- }
115
- return await contract.swapToMockToken({
116
- value: parseEther(amountToPay),
117
- ...overrides,
126
+ WriteAccessHandler.prototype.swapForMockToken = function (symbol, amountToPay, overrides) {
127
+ return __awaiter(this, void 0, void 0, function () {
128
+ var tokenAddress, tokenToSwap, swapAddress, contract;
129
+ return __generator(this, function (_a) {
130
+ switch (_a.label) {
131
+ case 0:
132
+ if (this.signer == null) {
133
+ throw Error("no wallet initialized. Use createProxyInstance().");
134
+ }
135
+ tokenAddress = this.getMarginTokenFromSymbol(symbol);
136
+ if (tokenAddress == undefined) {
137
+ throw Error("symbols not found");
138
+ }
139
+ tokenToSwap = new Map(Object.entries(require("./config/mockSwap.json")));
140
+ swapAddress = tokenToSwap.get(tokenAddress);
141
+ if (swapAddress == undefined) {
142
+ throw Error("No swap contract found for symbol.");
143
+ }
144
+ contract = new Contract(swapAddress, MOCK_TOKEN_SWAP_ABI, this.signer);
145
+ if (overrides && overrides.value !== undefined) {
146
+ throw Error("Pass value to send in function call, not overrides.");
147
+ }
148
+ return [4 /*yield*/, contract.swapToMockToken(__assign({ value: parseEther(amountToPay) }, overrides))];
149
+ case 1: return [2 /*return*/, _a.sent()];
150
+ }
151
+ });
118
152
  });
119
- }
120
- }
153
+ };
154
+ return WriteAccessHandler;
155
+ }(PerpetualDataHandler));
156
+ export default WriteAccessHandler;
121
157
  //# sourceMappingURL=writeAccessHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writeAccessHandler.js","sourceRoot":"","sources":["../../src/writeAccessHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,QAAQ,EAAoD,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAAY,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAiB,MAAM,gBAAgB,CAAC;AAClF,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,oBAAoB;IAKlE;;;OAGG;IACH,YAAmB,MAAqB,EAAE,MAAuB;QAC/D,KAAK,CAAC,MAAM,CAAC,CAAC;QARN,eAAU,GAAW,EAAE,CAAC;QACxB,WAAM,GAAkB,IAAI,CAAC;QAC7B,aAAQ,GAAW,QAAU,CAAC;QAOtC,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE;YAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;QACD,IAAI,MAAM,CAAC,QAAQ,IAAI,SAAS,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;SACjC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,mBAAmB,CAAC,QAAmB,EAAE,SAAyB;QAC7E,IAAI,QAAQ,IAAI,SAAS,EAAE;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzD;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC7C;QACD,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAe,EAAE,SAAqB;QAC9E,8BAA8B;QAC9B,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1D,gCAAgC;QAChC,IAAI,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACvD,MAAM,KAAK,CAAC,6DAA6D,CAAC,CAAC;SAC5E;QACD,IAAI,WAAsB,CAAC;QAC3B,IAAI,MAAM,IAAI,SAAS,EAAE;YACvB,WAAW,GAAG,YAAY,CAAC;SAC5B;aAAM;YACL,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAE,CAAC,CAAC;SACnF;QACD,OAAO,kBAAkB,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAChH,CAAC;IAES,MAAM,CAAC,KAAK,CAAC,aAAa,CAClC,SAAiB,EACjB,SAAiB,EACjB,MAAc,EACd,MAAiB,EACjB,SAAqB;QAErB,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9D,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,gBAAgB,CAC3B,MAAc,EACd,WAAmB,EACnB,SAA4B;QAE5B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACvB,MAAM,KAAK,CAAC,mDAAmD,CAAC,CAAC;SAClE;QACD,IAAI,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,YAAY,IAAI,SAAS,EAAE;YAC7B,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAC;SAClC;QACD,IAAI,WAAW,GAAG,IAAI,GAAG,CAAiB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC7F,IAAI,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,WAAW,IAAI,SAAS,EAAE;YAC5B,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACnD;QACD,IAAI,QAAQ,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE;YAC9C,MAAM,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACpE;QACD,OAAO,MAAM,QAAQ,CAAC,eAAe,CAAC;YACpC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC;YAC9B,GAAG,SAAS;SACO,CAAC,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"writeAccessHandler.js","sourceRoot":"","sources":["../../src/writeAccessHandler.ts"],"names":[],"mappings":";AAEA,OAAO,EAAiB,QAAQ,EAAoD,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAAY,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAiB,MAAM,gBAAgB,CAAC;AAClF,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D;;;;;;GAMG;AACH;IAAgD,sCAAoB;IAKlE;;;OAGG;IACH,4BAAmB,MAAqB,EAAE,MAAuB;QAAjE,YACE,kBAAM,MAAM,CAAC,SASd;QAjBS,gBAAU,GAAW,EAAE,CAAC;QACxB,YAAM,GAAkB,IAAI,CAAC;QAC7B,cAAQ,GAAW,QAAU,CAAC;QAOtC,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE;YAC7B,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC;SAC1B;aAAM;YACL,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;QACD,IAAI,MAAM,CAAC,QAAQ,IAAI,SAAS,EAAE;YAChC,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;SACjC;;IACH,CAAC;IAED;;;;;OAKG;IACU,gDAAmB,GAAhC,UAAiC,QAAmB,EAAE,SAAyB;;;;;;wBAC7E,IAAI,QAAQ,IAAI,SAAS,EAAE;4BACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBACzD;6BAAM;4BACL,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;yBAC1B;wBACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;4BACV,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;4BAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;yBAC7C;wBACD,qBAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAA;;wBAAvD,SAAuD,CAAC;wBACxD,KAAA,IAAI,CAAA;wBAAc,qBAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;wBAAhD,GAAK,UAAU,GAAG,SAA8B,CAAC;;;;;KAClD;IAED;;;;;OAKG;IACU,yCAAY,GAAzB,UAA0B,MAAc,EAAE,MAAe,EAAE,SAAqB;;;;gBAE1E,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAEtD,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC5D,IAAI,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;oBACvD,MAAM,KAAK,CAAC,6DAA6D,CAAC,CAAC;iBAC5E;gBAED,IAAI,MAAM,IAAI,SAAS,EAAE;oBACvB,WAAW,GAAG,YAAY,CAAC;iBAC5B;qBAAM;oBACL,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAE,CAAC,CAAC;iBACnF;gBACD,sBAAO,kBAAkB,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAC;;;KAC/G;IAEsB,gCAAa,GAApC,UACE,SAAiB,EACjB,SAAiB,EACjB,MAAc,EACd,MAAiB,EACjB,SAAqB;;;;;;wBAEf,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;wBACvD,qBAAM,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,EAAA;4BAApE,sBAAO,SAA6D,EAAC;;;;KACtE;IAED;;;OAGG;IACI,uCAAU,GAAjB;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACU,6CAAgB,GAA7B,UACE,MAAc,EACd,WAAmB,EACnB,SAA4B;;;;;;wBAE5B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;4BACvB,MAAM,KAAK,CAAC,mDAAmD,CAAC,CAAC;yBAClE;wBACG,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;wBACzD,IAAI,YAAY,IAAI,SAAS,EAAE;4BAC7B,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAC;yBAClC;wBACG,WAAW,GAAG,IAAI,GAAG,CAAiB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;wBACzF,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wBAChD,IAAI,WAAW,IAAI,SAAS,EAAE;4BAC5B,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;yBACnD;wBACG,QAAQ,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC3E,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE;4BAC9C,MAAM,KAAK,CAAC,qDAAqD,CAAC,CAAC;yBACpE;wBACM,qBAAM,QAAQ,CAAC,eAAe,CAAC,WACpC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,IAC3B,SAAS,CACO,CAAC,EAAA;4BAHtB,sBAAO,SAGe,EAAC;;;;KACxB;IACH,yBAAC;AAAD,CAAC,AArHD,CAAgD,oBAAoB,GAqHnE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d8x/perpetuals-sdk",
3
- "version": "0.7.6",
3
+ "version": "0.7.7",
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",
@@ -295,7 +295,12 @@ export default class AccountTrade extends WriteAccessHandler {
295
295
  let tx: ContractTransaction;
296
296
  // all orders are sent to the order-book
297
297
  let [signature, digest] = await this._createSignature(scOrder, chainId, true, signer, proxyContract.address);
298
- tx = await orderBookContract.postOrder(clientOrder, signature, overrides || { gasLimit: this.gasLimit });
298
+ let nonce = await this.signer?.getTransactionCount();
299
+ tx = await orderBookContract.postOrder(
300
+ clientOrder,
301
+ signature,
302
+ overrides || { gasLimit: this.gasLimit, nonce: nonce }
303
+ );
299
304
  let id = await this.digestTool.createOrderId(digest);
300
305
  return { tx: tx, orderId: id };
301
306
  }
@@ -57,7 +57,7 @@
57
57
  "origin": "FX.USD/JPY"
58
58
  }
59
59
  ],
60
- "endpoints": [{ "type": "pyth", "endpoint": "https://xc-testnet.pyth.network/api" }]
60
+ "endpoints": [{ "type": "pyth", "endpoint": "https://pyth.testnet.quantena.tech/api" }]
61
61
  },
62
62
  {
63
63
  "network": "mainnet",
@@ -102,10 +102,12 @@ export default class OrderReferrerTool extends WriteAccessHandler {
102
102
  if (submission == undefined) {
103
103
  submission = await this.priceFeedGetter.fetchLatestFeedPriceInfoForPerpetual(symbol);
104
104
  }
105
+ let nonce = await this.signer.getTransactionCount();
105
106
  if (!overrides || overrides.value == undefined) {
106
107
  overrides = {
107
108
  value: submission.timestamps.length * this.PRICE_UPDATE_FEE_GWEI,
108
109
  gasLimit: overrides?.gasLimit ?? this.gasLimit,
110
+ nonce: nonce,
109
111
  ...overrides,
110
112
  } as PayableOverrides;
111
113
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const D8X_SDK_VERSION = "0.7.6";
1
+ export const D8X_SDK_VERSION = "0.7.7";