@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/cjs/utils.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.containsFlag = exports.combineFlags = exports.symbol4BToLongSymbol = exports.symbolToContractSymbol = exports.contractSymbolToSymbol = exports.fromBytes4HexString = exports.fromBytes4 = exports.toBytes4 = exports.to4Chars = void 0;
4
- const bignumber_1 = require("@ethersproject/bignumber");
5
- const buffer_1 = require("buffer");
4
+ var tslib_1 = require("tslib");
5
+ var bignumber_1 = require("@ethersproject/bignumber");
6
+ var buffer_1 = require("buffer");
6
7
  /**
7
8
  * @module utils
8
9
  */
@@ -19,7 +20,7 @@ function to4Chars(s) {
19
20
  while (s.length < 4) {
20
21
  s = s + "\0";
21
22
  }
22
- let k = s.length - 1;
23
+ var k = s.length - 1;
23
24
  while (s.length > 4 && k >= 0) {
24
25
  // chop off vocals from the end of string
25
26
  // e.g. MATIC -> MATC
@@ -43,7 +44,7 @@ exports.to4Chars = to4Chars;
43
44
  */
44
45
  function toBytes4(s) {
45
46
  s = to4Chars(s);
46
- let valBuff = buffer_1.Buffer.from(s, "ascii");
47
+ var valBuff = buffer_1.Buffer.from(s, "ascii");
47
48
  return valBuff;
48
49
  }
49
50
  exports.toBytes4 = toBytes4;
@@ -55,7 +56,7 @@ exports.toBytes4 = toBytes4;
55
56
  * @returns {string} String decoded into to4Chars-type string without null characters
56
57
  */
57
58
  function fromBytes4(b) {
58
- let val = b.toString("ascii");
59
+ var val = b.toString("ascii");
59
60
  val = val.replace(/\0/g, "");
60
61
  return val;
61
62
  }
@@ -69,8 +70,8 @@ exports.fromBytes4 = fromBytes4;
69
70
  * returned by the smart contract as bytes4
70
71
  */
71
72
  function fromBytes4HexString(s) {
72
- let res = "";
73
- for (let k = 2; k < s.length; k = k + 2) {
73
+ var res = "";
74
+ for (var k = 2; k < s.length; k = k + 2) {
74
75
  res = res + String.fromCharCode(parseInt(s.substring(k, k + 2), 16));
75
76
  }
76
77
  res = res.replace(/\0/g, "");
@@ -84,9 +85,10 @@ exports.fromBytes4HexString = fromBytes4HexString;
84
85
  * @returns {string} User friendly currency symbol, e.g. "MATIC"
85
86
  */
86
87
  function contractSymbolToSymbol(s, mapping) {
87
- let shortCCY = fromBytes4HexString(s);
88
+ var _a;
89
+ var shortCCY = fromBytes4HexString(s);
88
90
  // assume CCY is already short if not in the mapping file
89
- let longCCY = mapping.get(shortCCY) ?? shortCCY;
91
+ var longCCY = (_a = mapping.get(shortCCY)) !== null && _a !== void 0 ? _a : shortCCY;
90
92
  return longCCY;
91
93
  }
92
94
  exports.contractSymbolToSymbol = contractSymbolToSymbol;
@@ -97,14 +99,25 @@ exports.contractSymbolToSymbol = contractSymbolToSymbol;
97
99
  * @returns {Buffer} Buffer that can be used with smart contract to identify tokens
98
100
  */
99
101
  function symbolToContractSymbol(s, mapping) {
100
- let shortCCY = undefined;
101
- for (let [k, v] of mapping) {
102
- if (v == s) {
103
- shortCCY = k;
102
+ var e_1, _a;
103
+ var shortCCY = undefined;
104
+ try {
105
+ for (var mapping_1 = tslib_1.__values(mapping), mapping_1_1 = mapping_1.next(); !mapping_1_1.done; mapping_1_1 = mapping_1.next()) {
106
+ var _b = tslib_1.__read(mapping_1_1.value, 2), k = _b[0], v = _b[1];
107
+ if (v == s) {
108
+ shortCCY = k;
109
+ }
104
110
  }
105
111
  }
112
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
113
+ finally {
114
+ try {
115
+ if (mapping_1_1 && !mapping_1_1.done && (_a = mapping_1.return)) _a.call(mapping_1);
116
+ }
117
+ finally { if (e_1) throw e_1.error; }
118
+ }
106
119
  // if not in the mapping file, assume ccy is already valid
107
- shortCCY = shortCCY ?? s;
120
+ shortCCY = shortCCY !== null && shortCCY !== void 0 ? shortCCY : s;
108
121
  return toBytes4(shortCCY);
109
122
  }
110
123
  exports.symbolToContractSymbol = symbolToContractSymbol;
@@ -115,10 +128,11 @@ exports.symbolToContractSymbol = symbolToContractSymbol;
115
128
  * @returns {string} long format e.g. MATIC. if not found the element is ""
116
129
  */
117
130
  function symbol4BToLongSymbol(s, mapping) {
118
- let ccy = s.split("-");
119
- let longCCY = "";
120
- for (let k = 0; k < ccy.length; k++) {
121
- let sym = mapping.get(ccy[k]) ?? to4Chars(ccy[k]);
131
+ var _a;
132
+ var ccy = s.split("-");
133
+ var longCCY = "";
134
+ for (var k = 0; k < ccy.length; k++) {
135
+ var sym = (_a = mapping.get(ccy[k])) !== null && _a !== void 0 ? _a : to4Chars(ccy[k]);
122
136
  sym = sym.replace(/\0/g, "");
123
137
  longCCY = longCCY + "-" + sym;
124
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AACrD,mCAAgC;AAEhC;;GAEG;AAEH,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,OAAO,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;AACjF,CAAC;AAED;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,CAAS;IAChC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;KACd;IACD,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACrB,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC7B,yCAAyC;QACzC,qBAAqB;QACrB,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YACzB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;SACtD;QACD,CAAC,EAAE,CAAC;KACL;IACD,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC;AACX,CAAC;AAfD,4BAeC;AAED;;;;;;;;GAQG;AACH,SAAgB,QAAQ,CAAC,CAAS;IAChC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChB,IAAI,OAAO,GAAW,eAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC;AACjB,CAAC;AAJD,4BAIC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,CAAS;IAClC,IAAI,GAAG,GAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC;AACb,CAAC;AAJD,gCAIC;AAED;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CAAC,CAAS;IAC3C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACvC,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;KACtE;IACD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC;AACb,CAAC;AAPD,kDAOC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,CAAS,EAAE,OAA4B;IAC5E,IAAI,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACtC,yDAAyD;IACzD,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;IAChD,OAAO,OAAO,CAAC;AACjB,CAAC;AALD,wDAKC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,CAAS,EAAE,OAA4B;IAC5E,IAAI,QAAQ,GAAuB,SAAS,CAAC;IAC7C,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,EAAE;QAC1B,IAAI,CAAC,IAAI,CAAC,EAAE;YACV,QAAQ,GAAG,CAAC,CAAC;SACd;KACF;IACD,0DAA0D;IAC1D,QAAQ,GAAG,QAAQ,IAAI,CAAC,CAAC;IACzB,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC;AAVD,wDAUC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,CAAS,EAAE,OAA4B;IAC1E,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC;KAC/B;IACD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AATD,oDASC;AAED,SAAgB,YAAY,CAAC,EAAa,EAAE,EAAa;IACvD,OAAO,qBAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACnF,CAAC;AAFD,oCAEC;AAED,SAAgB,YAAY,CAAC,EAAa,EAAE,EAAa;IACvD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC;AAFD,oCAEC"}
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,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.D8X_SDK_VERSION = void 0;
4
- exports.D8X_SDK_VERSION = "0.7.6";
4
+ exports.D8X_SDK_VERSION = "0.7.7";
5
5
  //# sourceMappingURL=version.js.map
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const contracts_1 = require("@ethersproject/contracts");
5
- const providers_1 = require("@ethersproject/providers");
6
- const units_1 = require("@ethersproject/units");
7
- const wallet_1 = require("@ethersproject/wallet");
8
- const contracts_2 = require("./contracts");
9
- const d8XMath_1 = require("./d8XMath");
10
- const nodeSDKTypes_1 = require("./nodeSDKTypes");
11
- const perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataHandler"));
3
+ var tslib_1 = require("tslib");
4
+ var contracts_1 = require("@ethersproject/contracts");
5
+ var providers_1 = require("@ethersproject/providers");
6
+ var units_1 = require("@ethersproject/units");
7
+ var wallet_1 = require("@ethersproject/wallet");
8
+ var contracts_2 = require("./contracts");
9
+ var d8XMath_1 = require("./d8XMath");
10
+ var nodeSDKTypes_1 = require("./nodeSDKTypes");
11
+ var perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataHandler"));
12
12
  /**
13
13
  * This is a parent class for the classes that require
14
14
  * write access to the contracts.
@@ -16,25 +16,27 @@ const perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataH
16
16
  * require gas-payments.
17
17
  * @extends PerpetualDataHandler
18
18
  */
19
- class WriteAccessHandler extends perpetualDataHandler_1.default {
19
+ var WriteAccessHandler = /** @class */ (function (_super) {
20
+ tslib_1.__extends(WriteAccessHandler, _super);
20
21
  /**
21
22
  * Constructor
22
23
  * @param {string | Signer} signer Private key or ethers Signer of the account
23
24
  */
24
- constructor(config, signer) {
25
- super(config);
26
- this.traderAddr = "";
27
- this.signer = null;
28
- this.gasLimit = 15000000;
25
+ function WriteAccessHandler(config, signer) {
26
+ var _this = _super.call(this, config) || this;
27
+ _this.traderAddr = "";
28
+ _this.signer = null;
29
+ _this.gasLimit = 15000000;
29
30
  if (typeof signer == "string") {
30
- this.privateKey = signer;
31
+ _this.privateKey = signer;
31
32
  }
32
33
  else {
33
- this.signer = signer;
34
+ _this.signer = signer;
34
35
  }
35
36
  if (config.gasLimit != undefined) {
36
- this.gasLimit = config.gasLimit;
37
+ _this.gasLimit = config.gasLimit;
37
38
  }
39
+ return _this;
38
40
  }
39
41
  /**
40
42
  * Initialize the writeAccessHandler-Class with this function
@@ -42,55 +44,80 @@ class WriteAccessHandler extends perpetualDataHandler_1.default {
42
44
  * about perpetual currencies
43
45
  * @param provider optional provider
44
46
  */
45
- async createProxyInstance(provider, overrides) {
46
- if (provider == undefined) {
47
- this.provider = new providers_1.StaticJsonRpcProvider(this.nodeURL);
48
- }
49
- else {
50
- this.provider = provider;
51
- }
52
- if (!this.signer) {
53
- const wallet = new wallet_1.Wallet(this.privateKey);
54
- this.signer = wallet.connect(this.provider);
55
- }
56
- await this.initContractsAndData(this.signer, overrides);
57
- this.traderAddr = await this.signer.getAddress();
58
- }
47
+ WriteAccessHandler.prototype.createProxyInstance = function (provider, overrides) {
48
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
49
+ var wallet, _a;
50
+ return tslib_1.__generator(this, function (_b) {
51
+ switch (_b.label) {
52
+ case 0:
53
+ if (provider == undefined) {
54
+ this.provider = new providers_1.StaticJsonRpcProvider(this.nodeURL);
55
+ }
56
+ else {
57
+ this.provider = provider;
58
+ }
59
+ if (!this.signer) {
60
+ wallet = new wallet_1.Wallet(this.privateKey);
61
+ this.signer = wallet.connect(this.provider);
62
+ }
63
+ return [4 /*yield*/, this.initContractsAndData(this.signer, overrides)];
64
+ case 1:
65
+ _b.sent();
66
+ _a = this;
67
+ return [4 /*yield*/, this.signer.getAddress()];
68
+ case 2:
69
+ _a.traderAddr = _b.sent();
70
+ return [2 /*return*/];
71
+ }
72
+ });
73
+ });
74
+ };
59
75
  /**
60
76
  * Set allowance for ar margin token (e.g., MATIC, ETH, USDC)
61
77
  * @param symbol token in 'long-form' such as MATIC, symbol also fine (ETH-USD-MATIC)
62
78
  * @param amount optional, amount to approve if not 'infinity'
63
79
  * @returns ContractTransaction
64
80
  */
65
- async setAllowance(symbol, amount, overrides) {
66
- //extract margin-currency name
67
- let symbolarr = symbol.split("-");
68
- symbol = symbol.length == 3 ? symbolarr[2] : symbolarr[0];
69
- //note: symbol is in long format
70
- let marginTokenAddr = this.symbolToTokenAddrMap.get(symbol);
71
- if (marginTokenAddr == undefined || this.signer == null) {
72
- throw Error("No margin token or signer defined, call createProxyInstance");
73
- }
74
- let amountDec18;
75
- if (amount == undefined) {
76
- amountDec18 = nodeSDKTypes_1.MAX_UINT_256;
77
- }
78
- else {
79
- amountDec18 = (0, d8XMath_1.floatToDecN)(amount, this.getMarginTokenDecimalsFromSymbol(symbol));
80
- }
81
- return WriteAccessHandler._setAllowance(marginTokenAddr, this.proxyAddr, this.signer, amountDec18, overrides);
82
- }
83
- static async _setAllowance(tokenAddr, proxyAddr, signer, amount, overrides) {
84
- const marginToken = contracts_2.ERC20__factory.connect(tokenAddr, signer);
85
- return await marginToken.approve(proxyAddr, amount, overrides || {});
86
- }
81
+ WriteAccessHandler.prototype.setAllowance = function (symbol, amount, overrides) {
82
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
83
+ var symbolarr, marginTokenAddr, amountDec18;
84
+ return tslib_1.__generator(this, function (_a) {
85
+ symbolarr = symbol.split("-");
86
+ symbol = symbol.length == 3 ? symbolarr[2] : symbolarr[0];
87
+ marginTokenAddr = this.symbolToTokenAddrMap.get(symbol);
88
+ if (marginTokenAddr == undefined || this.signer == null) {
89
+ throw Error("No margin token or signer defined, call createProxyInstance");
90
+ }
91
+ if (amount == undefined) {
92
+ amountDec18 = nodeSDKTypes_1.MAX_UINT_256;
93
+ }
94
+ else {
95
+ amountDec18 = (0, d8XMath_1.floatToDecN)(amount, this.getMarginTokenDecimalsFromSymbol(symbol));
96
+ }
97
+ return [2 /*return*/, WriteAccessHandler._setAllowance(marginTokenAddr, this.proxyAddr, this.signer, amountDec18, overrides)];
98
+ });
99
+ });
100
+ };
101
+ WriteAccessHandler._setAllowance = function (tokenAddr, proxyAddr, signer, amount, overrides) {
102
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
103
+ var marginToken;
104
+ return tslib_1.__generator(this, function (_a) {
105
+ switch (_a.label) {
106
+ case 0:
107
+ marginToken = contracts_2.ERC20__factory.connect(tokenAddr, signer);
108
+ return [4 /*yield*/, marginToken.approve(proxyAddr, amount, overrides || {})];
109
+ case 1: return [2 /*return*/, _a.sent()];
110
+ }
111
+ });
112
+ });
113
+ };
87
114
  /**
88
115
  * Address corresponding to the private key used to instantiate this class.
89
116
  * @returns {string} Address of this wallet.
90
117
  */
91
- getAddress() {
118
+ WriteAccessHandler.prototype.getAddress = function () {
92
119
  return this.traderAddr;
93
- }
120
+ };
94
121
  /**
95
122
  * Converts a given amount of chain native currency (test MATIC)
96
123
  * into a mock token used for trading on testnet, with a rate of 1:100_000
@@ -98,28 +125,35 @@ class WriteAccessHandler extends perpetualDataHandler_1.default {
98
125
  * @param amountToPay Amount in chain currency, e.g. "0.1" for 0.1 MATIC
99
126
  * @returns Transaction object
100
127
  */
101
- async swapForMockToken(symbol, amountToPay, overrides) {
102
- if (this.signer == null) {
103
- throw Error("no wallet initialized. Use createProxyInstance().");
104
- }
105
- let tokenAddress = this.getMarginTokenFromSymbol(symbol);
106
- if (tokenAddress == undefined) {
107
- throw Error("symbols not found");
108
- }
109
- let tokenToSwap = new Map(Object.entries(require("./config/mockSwap.json")));
110
- let swapAddress = tokenToSwap.get(tokenAddress);
111
- if (swapAddress == undefined) {
112
- throw Error("No swap contract found for symbol.");
113
- }
114
- let contract = new contracts_1.Contract(swapAddress, nodeSDKTypes_1.MOCK_TOKEN_SWAP_ABI, this.signer);
115
- if (overrides && overrides.value !== undefined) {
116
- throw Error("Pass value to send in function call, not overrides.");
117
- }
118
- return await contract.swapToMockToken({
119
- value: (0, units_1.parseEther)(amountToPay),
120
- ...overrides,
128
+ WriteAccessHandler.prototype.swapForMockToken = function (symbol, amountToPay, overrides) {
129
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
130
+ var tokenAddress, tokenToSwap, swapAddress, contract;
131
+ return tslib_1.__generator(this, function (_a) {
132
+ switch (_a.label) {
133
+ case 0:
134
+ if (this.signer == null) {
135
+ throw Error("no wallet initialized. Use createProxyInstance().");
136
+ }
137
+ tokenAddress = this.getMarginTokenFromSymbol(symbol);
138
+ if (tokenAddress == undefined) {
139
+ throw Error("symbols not found");
140
+ }
141
+ tokenToSwap = new Map(Object.entries(require("./config/mockSwap.json")));
142
+ swapAddress = tokenToSwap.get(tokenAddress);
143
+ if (swapAddress == undefined) {
144
+ throw Error("No swap contract found for symbol.");
145
+ }
146
+ contract = new contracts_1.Contract(swapAddress, nodeSDKTypes_1.MOCK_TOKEN_SWAP_ABI, this.signer);
147
+ if (overrides && overrides.value !== undefined) {
148
+ throw Error("Pass value to send in function call, not overrides.");
149
+ }
150
+ return [4 /*yield*/, contract.swapToMockToken(tslib_1.__assign({ value: (0, units_1.parseEther)(amountToPay) }, overrides))];
151
+ case 1: return [2 /*return*/, _a.sent()];
152
+ }
153
+ });
121
154
  });
122
- }
123
- }
155
+ };
156
+ return WriteAccessHandler;
157
+ }(perpetualDataHandler_1.default));
124
158
  exports.default = WriteAccessHandler;
125
159
  //# sourceMappingURL=writeAccessHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writeAccessHandler.js","sourceRoot":"","sources":["../../src/writeAccessHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeAccessHandler.js","sourceRoot":"","sources":["../../src/writeAccessHandler.ts"],"names":[],"mappings":"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"}