@gainsnetwork/sdk 0.0.19 → 0.0.20-rc2

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 (152) hide show
  1. package/README.md +11 -11
  2. package/lib/constants.d.ts +135 -135
  3. package/lib/constants.js +123 -123
  4. package/lib/contracts/addresses.d.ts +2 -2
  5. package/lib/contracts/addresses.js +15 -15
  6. package/lib/contracts/addresses.json +23 -23
  7. package/lib/contracts/index.d.ts +6 -6
  8. package/lib/contracts/index.js +32 -32
  9. package/lib/contracts/types/GFarmTradingStorageV5.d.ts +1911 -0
  10. package/lib/contracts/types/GFarmTradingStorageV5.js +2 -0
  11. package/lib/contracts/types/GNSPairInfosV6_1.d.ts +911 -0
  12. package/lib/contracts/types/GNSPairInfosV6_1.js +2 -0
  13. package/lib/contracts/types/GNSPairsStorageV6.d.ts +660 -0
  14. package/lib/contracts/types/GNSPairsStorageV6.js +2 -0
  15. package/lib/contracts/types/common.d.ts +22 -0
  16. package/lib/contracts/types/common.js +2 -0
  17. package/lib/contracts/types/factories/GFarmTradingStorageV5__factory.d.ts +83 -0
  18. package/lib/contracts/types/factories/GFarmTradingStorageV5__factory.js +2691 -0
  19. package/lib/contracts/types/factories/GNSPairInfosV6_1__factory.d.ts +98 -0
  20. package/lib/contracts/types/factories/GNSPairInfosV6_1__factory.js +1485 -0
  21. package/lib/contracts/types/factories/GNSPairsStorageV6__factory.d.ts +117 -0
  22. package/lib/contracts/types/factories/GNSPairsStorageV6__factory.js +1265 -0
  23. package/lib/contracts/types/factories/index.d.ts +3 -0
  24. package/lib/contracts/types/factories/index.js +12 -0
  25. package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +1911 -1911
  26. package/lib/contracts/types/generated/GFarmTradingStorageV5.js +2 -2
  27. package/lib/contracts/types/generated/GNSNftRewardsV6.d.ts +533 -533
  28. package/lib/contracts/types/generated/GNSNftRewardsV6.js +2 -2
  29. package/lib/contracts/types/generated/GNSPairInfosV6_1.d.ts +911 -911
  30. package/lib/contracts/types/generated/GNSPairInfosV6_1.js +2 -2
  31. package/lib/contracts/types/generated/GNSPairsStorageV6.d.ts +660 -660
  32. package/lib/contracts/types/generated/GNSPairsStorageV6.js +2 -2
  33. package/lib/contracts/types/generated/GTokenOpenPnlFeed.d.ts +557 -557
  34. package/lib/contracts/types/generated/GTokenOpenPnlFeed.js +2 -2
  35. package/lib/contracts/types/generated/common.d.ts +22 -22
  36. package/lib/contracts/types/generated/common.js +2 -2
  37. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +83 -83
  38. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +2691 -2691
  39. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.d.ts +100 -100
  40. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.js +1003 -1003
  41. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.d.ts +98 -98
  42. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.js +1485 -1485
  43. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.d.ts +117 -117
  44. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.js +1265 -1265
  45. package/lib/contracts/types/generated/factories/GTokenOpenPnlFeed__factory.d.ts +59 -59
  46. package/lib/contracts/types/generated/factories/GTokenOpenPnlFeed__factory.js +765 -765
  47. package/lib/contracts/types/generated/factories/index.d.ts +5 -5
  48. package/lib/contracts/types/generated/factories/index.js +16 -16
  49. package/lib/contracts/types/generated/index.d.ts +11 -11
  50. package/lib/contracts/types/generated/index.js +37 -37
  51. package/lib/contracts/types/index.d.ts +16 -16
  52. package/lib/contracts/types/index.js +2 -2
  53. package/lib/contracts/utils/index.d.ts +3 -3
  54. package/lib/contracts/utils/index.js +19 -19
  55. package/lib/contracts/utils/openLimitOrders.d.ts +8 -8
  56. package/lib/contracts/utils/openLimitOrders.js +77 -77
  57. package/lib/contracts/utils/openTrades.d.ts +9 -9
  58. package/lib/contracts/utils/openTrades.js +169 -193
  59. package/lib/contracts/utils/openTradesOriginal.d.ts +3 -0
  60. package/lib/contracts/utils/openTradesOriginal.js +134 -0
  61. package/lib/contracts/utils/pairs.d.ts +6 -6
  62. package/lib/contracts/utils/pairs.js +102 -102
  63. package/lib/index.d.ts +5 -4
  64. package/lib/index.js +21 -20
  65. package/lib/markets/commodities.d.ts +1 -1
  66. package/lib/markets/commodities.js +31 -31
  67. package/lib/markets/crypto.d.ts +1 -1
  68. package/lib/markets/crypto.js +6 -6
  69. package/lib/markets/forex.d.ts +2 -2
  70. package/lib/markets/forex.js +38 -38
  71. package/lib/markets/index.d.ts +5 -5
  72. package/lib/markets/index.js +21 -21
  73. package/lib/markets/indices.d.ts +1 -1
  74. package/lib/markets/indices.js +6 -6
  75. package/lib/markets/stocks.d.ts +3 -3
  76. package/lib/markets/stocks.js +54 -54
  77. package/lib/prices/PricingNetworkClient.d.ts +22 -0
  78. package/lib/prices/PricingNetworkClient.js +179 -0
  79. package/lib/prices/PricingStreamClient.d.ts +16 -0
  80. package/lib/prices/PricingStreamClient.js +101 -0
  81. package/lib/prices/index.d.ts +1 -0
  82. package/lib/prices/index.js +17 -0
  83. package/lib/src/contracts/addresses.d.ts +2 -0
  84. package/lib/src/contracts/addresses.js +15 -0
  85. package/lib/src/contracts/addresses.json +20 -0
  86. package/lib/src/contracts/index.d.ts +6 -0
  87. package/lib/src/contracts/index.js +31 -0
  88. package/lib/src/contracts/types/generated/GFarmTradingStorageV5.d.ts +1911 -0
  89. package/lib/src/contracts/types/generated/GFarmTradingStorageV5.js +2 -0
  90. package/lib/src/contracts/types/generated/GNSPairInfosV6_1.d.ts +911 -0
  91. package/lib/src/contracts/types/generated/GNSPairInfosV6_1.js +2 -0
  92. package/lib/src/contracts/types/generated/GNSPairsStorageV6.d.ts +660 -0
  93. package/lib/src/contracts/types/generated/GNSPairsStorageV6.js +2 -0
  94. package/lib/src/contracts/types/generated/GTokenOpenPnlFeed.d.ts +557 -0
  95. package/lib/src/contracts/types/generated/GTokenOpenPnlFeed.js +2 -0
  96. package/lib/src/contracts/types/generated/common.d.ts +22 -0
  97. package/lib/src/contracts/types/generated/common.js +2 -0
  98. package/lib/src/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +83 -0
  99. package/lib/src/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +2691 -0
  100. package/lib/src/contracts/types/generated/factories/GNSPairInfosV6_1__factory.d.ts +98 -0
  101. package/lib/src/contracts/types/generated/factories/GNSPairInfosV6_1__factory.js +1485 -0
  102. package/lib/src/contracts/types/generated/factories/GNSPairsStorageV6__factory.d.ts +117 -0
  103. package/lib/src/contracts/types/generated/factories/GNSPairsStorageV6__factory.js +1265 -0
  104. package/lib/src/contracts/types/generated/factories/GTokenOpenPnlFeed__factory.d.ts +59 -0
  105. package/lib/src/contracts/types/generated/factories/GTokenOpenPnlFeed__factory.js +765 -0
  106. package/lib/src/contracts/types/generated/factories/index.d.ts +4 -0
  107. package/lib/src/contracts/types/generated/factories/index.js +14 -0
  108. package/lib/src/contracts/types/generated/index.d.ts +9 -0
  109. package/lib/src/contracts/types/generated/index.js +35 -0
  110. package/lib/src/contracts/types/index.d.ts +13 -0
  111. package/lib/src/contracts/types/index.js +2 -0
  112. package/lib/src/contracts/utils/index.d.ts +2 -0
  113. package/lib/src/contracts/utils/index.js +18 -0
  114. package/lib/src/contracts/utils/openTrades.d.ts +3 -0
  115. package/lib/src/contracts/utils/openTrades.js +107 -0
  116. package/lib/src/contracts/utils/pairs.d.ts +6 -0
  117. package/lib/src/contracts/utils/pairs.js +102 -0
  118. package/lib/src/index.d.ts +3 -0
  119. package/lib/src/index.js +19 -0
  120. package/lib/src/markets/commodities.d.ts +1 -0
  121. package/lib/src/markets/commodities.js +31 -0
  122. package/lib/src/markets/crypto.d.ts +1 -0
  123. package/lib/src/markets/crypto.js +6 -0
  124. package/lib/src/markets/forex.d.ts +2 -0
  125. package/lib/src/markets/forex.js +38 -0
  126. package/lib/src/markets/index.d.ts +5 -0
  127. package/lib/src/markets/index.js +21 -0
  128. package/lib/src/markets/indices.d.ts +1 -0
  129. package/lib/src/markets/indices.js +6 -0
  130. package/lib/src/markets/stocks.d.ts +3 -0
  131. package/lib/src/markets/stocks.js +54 -0
  132. package/lib/src/trade/fees.d.ts +15 -0
  133. package/lib/src/trade/fees.js +45 -0
  134. package/lib/src/trade/index.d.ts +2 -0
  135. package/lib/src/trade/index.js +18 -0
  136. package/lib/src/trade/pnl.d.ts +7 -0
  137. package/lib/src/trade/pnl.js +43 -0
  138. package/lib/src/trade/types.d.ts +143 -0
  139. package/lib/src/trade/types.js +8 -0
  140. package/lib/test/index.d.ts +1 -0
  141. package/lib/test/index.js +22 -0
  142. package/lib/test.d.ts +1 -0
  143. package/lib/test.js +37 -0
  144. package/lib/trade/fees.d.ts +15 -15
  145. package/lib/trade/fees.js +45 -45
  146. package/lib/trade/index.d.ts +2 -2
  147. package/lib/trade/index.js +18 -18
  148. package/lib/trade/pnl.d.ts +7 -7
  149. package/lib/trade/pnl.js +43 -43
  150. package/lib/trade/types.d.ts +157 -157
  151. package/lib/trade/types.js +8 -8
  152. package/package.json +107 -104
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.PricingNetworkClient = void 0;
16
+ /* eslint-disable @typescript-eslint/restrict-template-expressions */
17
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
18
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
19
+ const ws_1 = __importDefault(require("ws"));
20
+ const __1 = require("..");
21
+ class PricingNetworkClient {
22
+ constructor(endpoints, onPriceMessage, concurrentConnections = 3, bufferTimeoutMs = 500, reconnectTimeoutMs = 1000) {
23
+ this.endpoints = endpoints;
24
+ this._onPriceMessage = onPriceMessage;
25
+ this.concurrentConnections = concurrentConnections;
26
+ this.bufferTimeoutMs = bufferTimeoutMs;
27
+ this.reconnectTimeoutMs = reconnectTimeoutMs;
28
+ this.sockets = new Map();
29
+ this.latencyMap = new Map();
30
+ this.priceBuffer = new Map();
31
+ this.priceBufferLastFlush = new Map();
32
+ this.stagedPrices = [];
33
+ this.pairsToIndex = new Map();
34
+ Object.keys(__1.pairs).forEach((pair, index) => {
35
+ this.pairsToIndex.set(pair, index);
36
+ });
37
+ }
38
+ connect() {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ if (this.sockets.size > 0) {
41
+ return;
42
+ }
43
+ const latencies = yield Promise.all(this.endpoints.map(endpoint => this.measureLatency(endpoint)));
44
+ this.endpoints.forEach((endpoint, index) => this.latencyMap.set(endpoint, latencies[index]));
45
+ this.latencyMap.forEach((latency, endpoint) => console.log(`Latency to ${endpoint}: ${latency}ms`));
46
+ // Sort endpoints by latency
47
+ const sortedEndpoints = [...this.endpoints].sort((a, b) => {
48
+ const aLatency = latencies[this.endpoints.indexOf(a)];
49
+ const bLatency = latencies[this.endpoints.indexOf(b)];
50
+ return aLatency - bLatency;
51
+ });
52
+ for (let i = 0; i < this.concurrentConnections; i++) {
53
+ if (sortedEndpoints[i])
54
+ this._connect(sortedEndpoints[i]);
55
+ }
56
+ // Backstop to flush the buffer in case we don't get any messages
57
+ setInterval(() => {
58
+ const now = Date.now();
59
+ this.priceBuffer.forEach((buffer, pair) => {
60
+ const lastFlush = this.priceBufferLastFlush.get(pair);
61
+ if (buffer.length > 0 &&
62
+ lastFlush &&
63
+ now - lastFlush > this.bufferTimeoutMs) {
64
+ const median = buffer.sort()[Math.floor(buffer.length / 2)];
65
+ this.stagedPrices.push(pair, median);
66
+ buffer.length = 0;
67
+ }
68
+ });
69
+ }, this.bufferTimeoutMs);
70
+ });
71
+ }
72
+ _connect(endpoint) {
73
+ const socket = new ws_1.default(endpoint);
74
+ this.sockets.set(endpoint, socket);
75
+ socket.onmessage = message => {
76
+ // Ignore return pong messages
77
+ if (message.data === "pong") {
78
+ return;
79
+ }
80
+ this.processMessage(message);
81
+ };
82
+ socket.onclose = () => {
83
+ this.sockets.delete(endpoint);
84
+ setTimeout(() => {
85
+ this.fallbackToNextEndpoint();
86
+ }, this.reconnectTimeoutMs);
87
+ };
88
+ socket.onerror = error => {
89
+ console.error(`WebSocket error: ${error.message}`);
90
+ };
91
+ }
92
+ fallbackToNextEndpoint() {
93
+ const connectedEndpoints = [...this.sockets.keys()];
94
+ const sortedAvailableEndpoints = [...this.endpoints]
95
+ .sort((a, b) => {
96
+ const aLatency = this.latencyMap.get(a) || Number.MAX_VALUE;
97
+ const bLatency = this.latencyMap.get(b) || Number.MAX_VALUE;
98
+ return aLatency - bLatency;
99
+ })
100
+ .filter(endpoint => !connectedEndpoints.includes(endpoint));
101
+ if (sortedAvailableEndpoints.length > 0) {
102
+ this._connect(sortedAvailableEndpoints[0]);
103
+ }
104
+ }
105
+ measureLatency(endpoint) {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ return new Promise(resolve => {
108
+ const startTime = Date.now();
109
+ const socket = new ws_1.default(endpoint);
110
+ socket.onopen = () => {
111
+ socket.send("ping");
112
+ };
113
+ socket.onmessage = message => {
114
+ if (message.data === "pong") {
115
+ const latency = Date.now() - startTime;
116
+ socket.close();
117
+ resolve(latency);
118
+ }
119
+ };
120
+ socket.on("error", e => {
121
+ resolve(Number.MAX_VALUE);
122
+ });
123
+ // Backstop so we don't wait forever
124
+ setTimeout(() => {
125
+ socket.close();
126
+ resolve(2000);
127
+ }, 2000);
128
+ });
129
+ });
130
+ }
131
+ processMessage(message) {
132
+ var _a;
133
+ try {
134
+ const priceUpdates = JSON.parse(message.data.toString());
135
+ if (!priceUpdates) {
136
+ console.log("Invalid price update message received", priceUpdates);
137
+ return;
138
+ }
139
+ const finalMessage = [];
140
+ for (let i = 0; i < priceUpdates.length; i += 1) {
141
+ const pairAndPrice = priceUpdates[i];
142
+ const pair = this.pairsToIndex.get(pairAndPrice[0]);
143
+ if (pair === undefined) {
144
+ console.log("Invalid pair received", pairAndPrice[0]);
145
+ continue;
146
+ }
147
+ const price = pairAndPrice[1];
148
+ if (!this.priceBuffer.has(pair)) {
149
+ this.priceBuffer.set(pair, []);
150
+ this.priceBufferLastFlush.set(pair, 0);
151
+ }
152
+ // Checking existence above, so this should be safe
153
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
154
+ const buffer = this.priceBuffer.get(pair);
155
+ if (buffer.length >= this.sockets.size) {
156
+ const median = buffer.sort()[Math.floor(buffer.length / 2)];
157
+ finalMessage.push(pair, median);
158
+ buffer.length = 0;
159
+ }
160
+ buffer.push(price);
161
+ }
162
+ if (finalMessage.length > 0 || this.stagedPrices.length > 0) {
163
+ finalMessage.push(...(this.stagedPrices || []));
164
+ (_a = this._onPriceMessage) === null || _a === void 0 ? void 0 : _a.call(this, finalMessage);
165
+ }
166
+ }
167
+ catch (e) {
168
+ console.error(e);
169
+ }
170
+ }
171
+ get activeSockets() {
172
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
173
+ return this.sockets;
174
+ }
175
+ set onPriceMessage(callback) {
176
+ this._onPriceMessage = callback;
177
+ }
178
+ }
179
+ exports.PricingNetworkClient = PricingNetworkClient;
@@ -0,0 +1,16 @@
1
+ import WebSocket from "ws";
2
+ export type PriceMessage = WebSocket.MessageEvent;
3
+ export declare class PricingStreamClient {
4
+ private endpoints;
5
+ private _activeSocket;
6
+ private fallbackIndex;
7
+ private reconnectTimeoutMs;
8
+ private _onPriceMessage;
9
+ constructor(endpoints: string[], onPriceMessage: (message: PriceMessage) => void, reconnectTimeoutMs?: number);
10
+ connect(): Promise<void>;
11
+ private _connect;
12
+ private fallbackToNextEndpoint;
13
+ private measureLatency;
14
+ get activeSocket(): WebSocket | null;
15
+ set onPriceMessage(callback: (message: WebSocket.MessageEvent) => void);
16
+ }
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.PricingStreamClient = void 0;
16
+ /* eslint-disable @typescript-eslint/restrict-template-expressions */
17
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
18
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
19
+ const ws_1 = __importDefault(require("ws"));
20
+ class PricingStreamClient {
21
+ constructor(endpoints, onPriceMessage, reconnectTimeoutMs = 1000) {
22
+ this.endpoints = endpoints;
23
+ this._activeSocket = null;
24
+ this.fallbackIndex = 0;
25
+ this.reconnectTimeoutMs = reconnectTimeoutMs;
26
+ this._onPriceMessage = onPriceMessage;
27
+ }
28
+ connect() {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ if (this._activeSocket) {
31
+ return;
32
+ }
33
+ const latencies = yield Promise.all(this.endpoints.map(endpoint => this.measureLatency(endpoint)));
34
+ // Sort endpoints by latency
35
+ this.endpoints.sort((a, b) => {
36
+ const aLatency = latencies[this.endpoints.indexOf(a)];
37
+ const bLatency = latencies[this.endpoints.indexOf(b)];
38
+ return aLatency - bLatency;
39
+ });
40
+ this._connect(this.endpoints[0]);
41
+ });
42
+ }
43
+ _connect(endpoint) {
44
+ this._activeSocket = new ws_1.default(endpoint);
45
+ this._activeSocket.onmessage = message => {
46
+ var _a;
47
+ // Ignore return pong messages
48
+ if (message.data === "pong") {
49
+ return;
50
+ }
51
+ (_a = this._onPriceMessage) === null || _a === void 0 ? void 0 : _a.call(this, message);
52
+ };
53
+ this._activeSocket.onclose = () => {
54
+ setTimeout(() => void this.fallbackToNextEndpoint(), this.reconnectTimeoutMs);
55
+ };
56
+ this._activeSocket.onerror = error => {
57
+ var _a;
58
+ console.error(`WebSocket error: ${error.message}`);
59
+ (_a = this._activeSocket) === null || _a === void 0 ? void 0 : _a.close();
60
+ };
61
+ }
62
+ fallbackToNextEndpoint() {
63
+ this.fallbackIndex = (this.fallbackIndex + 1) % this.endpoints.length;
64
+ const fallbackEndpoint = this.endpoints[this.fallbackIndex];
65
+ this._connect(fallbackEndpoint);
66
+ }
67
+ measureLatency(endpoint) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ return new Promise(resolve => {
70
+ const startTime = Date.now();
71
+ const socket = new ws_1.default(endpoint);
72
+ socket.onopen = () => {
73
+ socket.send("ping");
74
+ };
75
+ socket.onmessage = message => {
76
+ if (message.data === "pong") {
77
+ const latency = Date.now() - startTime;
78
+ socket.close();
79
+ resolve(latency);
80
+ }
81
+ };
82
+ socket.on("error", e => {
83
+ resolve(Number.MAX_VALUE);
84
+ });
85
+ // Backstop so we don't wait forever
86
+ setTimeout(() => {
87
+ socket.close();
88
+ resolve(2000);
89
+ }, 2000);
90
+ });
91
+ });
92
+ }
93
+ get activeSocket() {
94
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
95
+ return this._activeSocket;
96
+ }
97
+ set onPriceMessage(callback) {
98
+ this._onPriceMessage = callback;
99
+ }
100
+ }
101
+ exports.PricingStreamClient = PricingStreamClient;
@@ -0,0 +1 @@
1
+ export * from "./PricingNetworkClient";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./PricingNetworkClient"), exports);
@@ -0,0 +1,2 @@
1
+ import { ContractAddresses } from "./types";
2
+ export declare const getContractAddressesForChain: (chainId: number) => ContractAddresses;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getContractAddressesForChain = void 0;
7
+ const addresses_json_1 = __importDefault(require("./addresses.json"));
8
+ const getContractAddressesForChain = (chainId) => {
9
+ const _addresses = addresses_json_1.default;
10
+ if (!_addresses[chainId]) {
11
+ throw new Error(`Unknown chain id (${chainId}). No known contracts have been deployed on this chain.`);
12
+ }
13
+ return _addresses[chainId];
14
+ };
15
+ exports.getContractAddressesForChain = getContractAddressesForChain;
@@ -0,0 +1,20 @@
1
+ {
2
+ "137": {
3
+ "gfarmTradingStorageV5": "0xaee4d11a16B2bc65EDD6416Fb626EB404a6D65BD",
4
+ "gnsPairsStorageV6": "0x6e5326e944F528c243B9Ca5d14fe5C9269a8c922",
5
+ "gnsPairInfosV6_1": "0xEe7442aCcC1C27f2C69423576d3b1D25b563E977",
6
+ "gTokenOpenPnlFeed": "0x8d687276543b92819F2f2B5C3faad4AD27F4440c"
7
+ },
8
+ "42161": {
9
+ "gfarmTradingStorageV5": "0xcFa6ebD475d89dB04cAd5A756fff1cb2BC5bE33c",
10
+ "gnsPairsStorageV6": "0xf67Df2a4339eC1591615d94599081Dd037960d4b",
11
+ "gnsPairInfosV6_1": "0x04a5e3cf21B0080B72fAcDca634349A56982D497",
12
+ "gTokenOpenPnlFeed": "0x990BA9Edd8a9615A23E4c452E63A80e519A4a23D"
13
+ },
14
+ "80001": {
15
+ "gfarmTradingStorageV5": "0x4d2dF485c608aa55A23d8d98dD2B4FA24Ba0f2Cf",
16
+ "gnsPairsStorageV6": "0xF7F324bc1D659f01A9a8d00C40d65568b25b4007",
17
+ "gnsPairInfosV6_1": "0xe780bBf94b0257fEDccF4EAEcBC70722E6F5F574",
18
+ "gTokenOpenPnlFeed": "0xA7C829CB2346E12DC49Fd5ea8002Abaf48E9396C"
19
+ }
20
+ }
@@ -0,0 +1,6 @@
1
+ import type { Signer } from "ethers";
2
+ import type { Provider } from "@ethersproject/providers";
3
+ import { Contracts } from "./types";
4
+ export declare const getContractsForChain: (chainId: number, signerOrProvider?: Signer | Provider) => Contracts;
5
+ export * from "./utils";
6
+ export * from "./addresses";
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getContractsForChain = void 0;
18
+ const addresses_1 = require("./addresses");
19
+ const factories_1 = require("./types/generated/factories");
20
+ const getContractsForChain = (chainId, signerOrProvider) => {
21
+ const addresses = (0, addresses_1.getContractAddressesForChain)(chainId);
22
+ return {
23
+ gfarmTradingStorageV5: factories_1.GFarmTradingStorageV5__factory.connect(addresses.gfarmTradingStorageV5, signerOrProvider),
24
+ gnsPairInfosV6_1: factories_1.GNSPairInfosV6_1__factory.connect(addresses.gnsPairInfosV6_1, signerOrProvider),
25
+ gnsPairsStorageV6: factories_1.GNSPairsStorageV6__factory.connect(addresses.gnsPairsStorageV6, signerOrProvider),
26
+ gTokenOpenPnlFeed: factories_1.GTokenOpenPnlFeed__factory.connect(addresses.gTokenOpenPnlFeed, signerOrProvider),
27
+ };
28
+ };
29
+ exports.getContractsForChain = getContractsForChain;
30
+ __exportStar(require("./utils"), exports);
31
+ __exportStar(require("./addresses"), exports);