@drift-labs/sdk 0.1.25-master.0 → 0.1.28

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 (121) hide show
  1. package/lib/accounts/pollingOracleSubscriber.d.ts +26 -0
  2. package/lib/accounts/pollingOracleSubscriber.js +79 -0
  3. package/lib/accounts/types.d.ts +14 -1
  4. package/lib/clearingHouse.d.ts +6 -4
  5. package/lib/clearingHouse.js +56 -7
  6. package/lib/constants/markets.d.ts +4 -2
  7. package/lib/constants/markets.js +76 -28
  8. package/lib/idl/clearing_house.json +65 -1
  9. package/lib/index.d.ts +1 -0
  10. package/lib/index.js +1 -0
  11. package/lib/math/market.d.ts +2 -0
  12. package/lib/math/market.js +6 -1
  13. package/lib/orderParams.d.ts +1 -1
  14. package/lib/orderParams.js +2 -2
  15. package/lib/orders.d.ts +3 -2
  16. package/lib/orders.js +11 -4
  17. package/lib/types.d.ts +3 -0
  18. package/lib/types.js +1 -0
  19. package/package.json +1 -1
  20. package/src/accounts/bulkAccountLoader.js +180 -0
  21. package/src/accounts/bulkAccountLoader.js.map +1 -0
  22. package/src/accounts/bulkUserSubscription.js +56 -0
  23. package/src/accounts/bulkUserSubscription.js.map +1 -0
  24. package/src/accounts/pollingClearingHouseAccountSubscriber.js +210 -0
  25. package/src/accounts/pollingClearingHouseAccountSubscriber.js.map +1 -0
  26. package/src/accounts/pollingOracleSubscriber.js +65 -0
  27. package/src/accounts/pollingOracleSubscriber.js.map +1 -0
  28. package/src/accounts/pollingOracleSubscriber.ts +103 -0
  29. package/src/accounts/pollingTokenAccountSubscriber.js +65 -0
  30. package/src/accounts/pollingTokenAccountSubscriber.js.map +1 -0
  31. package/src/accounts/pollingUserAccountSubscriber.js +139 -0
  32. package/src/accounts/pollingUserAccountSubscriber.js.map +1 -0
  33. package/src/accounts/types.js +1 -0
  34. package/src/accounts/types.js.map +1 -0
  35. package/src/accounts/types.ts +22 -1
  36. package/src/accounts/utils.js +1 -0
  37. package/src/accounts/utils.js.map +1 -0
  38. package/src/accounts/webSocketAccountSubscriber.js +15 -27
  39. package/src/accounts/webSocketAccountSubscriber.js.map +1 -0
  40. package/src/accounts/webSocketClearingHouseAccountSubscriber.js +212 -0
  41. package/src/accounts/webSocketClearingHouseAccountSubscriber.js.map +1 -0
  42. package/src/accounts/webSocketUserAccountSubscriber.js +78 -0
  43. package/src/accounts/webSocketUserAccountSubscriber.js.map +1 -0
  44. package/src/addresses.js +20 -44
  45. package/src/addresses.js.map +1 -0
  46. package/src/admin.js +443 -0
  47. package/src/admin.js.map +1 -0
  48. package/src/assert/assert.js +10 -0
  49. package/src/assert/assert.js.map +1 -0
  50. package/src/clearingHouse.ts +85 -7
  51. package/src/clearingHouseUser.js +581 -0
  52. package/src/clearingHouseUser.js.map +1 -0
  53. package/src/config.js +37 -0
  54. package/src/config.js.map +1 -0
  55. package/src/constants/markets.js +167 -0
  56. package/src/constants/markets.js.map +1 -0
  57. package/src/constants/markets.ts +80 -30
  58. package/src/constants/numericConstants.js +22 -0
  59. package/src/constants/numericConstants.js.map +1 -0
  60. package/src/factory/clearingHouse.js +65 -0
  61. package/src/factory/clearingHouse.js.map +1 -0
  62. package/src/factory/clearingHouseUser.js +35 -0
  63. package/src/factory/clearingHouseUser.js.map +1 -0
  64. package/src/factory/oracleClient.js +17 -0
  65. package/src/factory/oracleClient.js.map +1 -0
  66. package/src/idl/clearing_house.json +65 -1
  67. package/src/index.js +56 -0
  68. package/src/index.js.map +1 -0
  69. package/src/index.ts +1 -0
  70. package/src/math/amm.js +285 -0
  71. package/src/math/amm.js.map +1 -0
  72. package/src/math/conversion.js +16 -0
  73. package/src/math/conversion.js.map +1 -0
  74. package/src/math/funding.js +223 -0
  75. package/src/math/funding.js.map +1 -0
  76. package/src/math/insuranceFund.js +23 -0
  77. package/src/math/insuranceFund.js.map +1 -0
  78. package/src/math/market.js +30 -0
  79. package/src/math/market.js.map +1 -0
  80. package/src/math/market.ts +9 -0
  81. package/src/math/orders.js +73 -0
  82. package/src/math/orders.js.map +1 -0
  83. package/src/math/position.js +121 -0
  84. package/src/math/position.js.map +1 -0
  85. package/src/math/trade.js +182 -0
  86. package/src/math/trade.js.map +1 -0
  87. package/src/math/utils.js +27 -0
  88. package/src/math/utils.js.map +1 -0
  89. package/src/mockUSDCFaucet.js +88 -116
  90. package/src/mockUSDCFaucet.js.map +1 -0
  91. package/src/oracles/pythClient.js +39 -0
  92. package/src/oracles/pythClient.js.map +1 -0
  93. package/src/oracles/switchboardClient.js +60 -0
  94. package/src/oracles/switchboardClient.js.map +1 -0
  95. package/src/oracles/types.js +3 -0
  96. package/src/oracles/types.js.map +1 -0
  97. package/src/orderParams.js +109 -0
  98. package/src/orderParams.js.map +1 -0
  99. package/src/orderParams.ts +3 -2
  100. package/src/orders.js +172 -0
  101. package/src/orders.js.map +1 -0
  102. package/src/orders.ts +17 -4
  103. package/src/token/index.js +39 -0
  104. package/src/token/index.js.map +1 -0
  105. package/src/tx/defaultTxSender.js +13 -0
  106. package/src/tx/defaultTxSender.js.map +1 -0
  107. package/src/tx/retryTxSender.js +137 -0
  108. package/src/tx/retryTxSender.js.map +1 -0
  109. package/src/tx/types.js +3 -0
  110. package/src/tx/types.js.map +1 -0
  111. package/src/tx/utils.js +9 -0
  112. package/src/tx/utils.js.map +1 -0
  113. package/src/types.js +1 -0
  114. package/src/types.js.map +1 -0
  115. package/src/types.ts +1 -0
  116. package/src/util/computeUnits.js +17 -0
  117. package/src/util/computeUnits.js.map +1 -0
  118. package/src/util/tps.js +17 -0
  119. package/src/util/tps.js.map +1 -0
  120. package/src/wallet.js +23 -0
  121. package/src/wallet.js.map +1 -0
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebSocketClearingHouseAccountSubscriber = void 0;
4
+ const types_1 = require("./types");
5
+ const events_1 = require("events");
6
+ const addresses_1 = require("../addresses");
7
+ const webSocketAccountSubscriber_1 = require("./webSocketAccountSubscriber");
8
+ class WebSocketClearingHouseAccountSubscriber {
9
+ constructor(program) {
10
+ this.optionalExtraSubscriptions = [];
11
+ this.type = 'websocket';
12
+ this.isSubscribing = false;
13
+ this.isSubscribed = false;
14
+ this.program = program;
15
+ this.eventEmitter = new events_1.EventEmitter();
16
+ }
17
+ async subscribe(optionalSubscriptions) {
18
+ if (this.isSubscribed) {
19
+ return true;
20
+ }
21
+ if (this.isSubscribing) {
22
+ return await this.subscriptionPromise;
23
+ }
24
+ this.isSubscribing = true;
25
+ this.subscriptionPromise = new Promise((res) => {
26
+ this.subscriptionPromiseResolver = res;
27
+ });
28
+ const statePublicKey = await (0, addresses_1.getClearingHouseStateAccountPublicKey)(this.program.programId);
29
+ // create and activate main state account subscription
30
+ this.stateAccountSubscriber = new webSocketAccountSubscriber_1.WebSocketAccountSubscriber('state', this.program, statePublicKey);
31
+ await this.stateAccountSubscriber.subscribe((data) => {
32
+ this.eventEmitter.emit('stateAccountUpdate', data);
33
+ this.eventEmitter.emit('update');
34
+ });
35
+ const state = this.stateAccountSubscriber.data;
36
+ this.marketsAccountSubscriber = new webSocketAccountSubscriber_1.WebSocketAccountSubscriber('markets', this.program, state.markets);
37
+ await this.marketsAccountSubscriber.subscribe((data) => {
38
+ this.eventEmitter.emit('marketsAccountUpdate', data);
39
+ this.eventEmitter.emit('update');
40
+ });
41
+ this.orderStateAccountSubscriber = new webSocketAccountSubscriber_1.WebSocketAccountSubscriber('orderState', this.program, state.orderState);
42
+ await this.orderStateAccountSubscriber.subscribe((data) => {
43
+ this.eventEmitter.emit('orderStateAccountUpdate', data);
44
+ this.eventEmitter.emit('update');
45
+ });
46
+ const orderState = this.orderStateAccountSubscriber.data;
47
+ // create subscribers for other state accounts
48
+ this.tradeHistoryAccountSubscriber = new webSocketAccountSubscriber_1.WebSocketAccountSubscriber('tradeHistory', this.program, state.tradeHistory);
49
+ this.depositHistoryAccountSubscriber = new webSocketAccountSubscriber_1.WebSocketAccountSubscriber('depositHistory', this.program, state.depositHistory);
50
+ this.fundingPaymentHistoryAccountSubscriber =
51
+ new webSocketAccountSubscriber_1.WebSocketAccountSubscriber('fundingPaymentHistory', this.program, state.fundingPaymentHistory);
52
+ this.fundingRateHistoryAccountSubscriber = new webSocketAccountSubscriber_1.WebSocketAccountSubscriber('fundingRateHistory', this.program, state.fundingRateHistory);
53
+ this.liquidationHistoryAccountSubscriber = new webSocketAccountSubscriber_1.WebSocketAccountSubscriber('liquidationHistory', this.program, state.liquidationHistory);
54
+ this.curveHistoryAccountSubscriber = new webSocketAccountSubscriber_1.WebSocketAccountSubscriber('extendedCurveHistory', this.program, state.extendedCurveHistory);
55
+ this.orderHistoryAccountSubscriber = new webSocketAccountSubscriber_1.WebSocketAccountSubscriber('orderHistory', this.program, orderState.orderHistory);
56
+ const extraSusbcribersToUse = [];
57
+ if (optionalSubscriptions === null || optionalSubscriptions === void 0 ? void 0 : optionalSubscriptions.includes('tradeHistoryAccount'))
58
+ extraSusbcribersToUse.push({
59
+ subscriber: this.tradeHistoryAccountSubscriber,
60
+ eventType: 'tradeHistoryAccountUpdate',
61
+ });
62
+ if (optionalSubscriptions === null || optionalSubscriptions === void 0 ? void 0 : optionalSubscriptions.includes('depositHistoryAccount'))
63
+ extraSusbcribersToUse.push({
64
+ subscriber: this.depositHistoryAccountSubscriber,
65
+ eventType: 'depositHistoryAccountUpdate',
66
+ });
67
+ if (optionalSubscriptions === null || optionalSubscriptions === void 0 ? void 0 : optionalSubscriptions.includes('fundingPaymentHistoryAccount'))
68
+ extraSusbcribersToUse.push({
69
+ subscriber: this.fundingPaymentHistoryAccountSubscriber,
70
+ eventType: 'fundingPaymentHistoryAccountUpdate',
71
+ });
72
+ if (optionalSubscriptions === null || optionalSubscriptions === void 0 ? void 0 : optionalSubscriptions.includes('fundingRateHistoryAccount'))
73
+ extraSusbcribersToUse.push({
74
+ subscriber: this.fundingRateHistoryAccountSubscriber,
75
+ eventType: 'fundingRateHistoryAccountUpdate',
76
+ });
77
+ if (optionalSubscriptions === null || optionalSubscriptions === void 0 ? void 0 : optionalSubscriptions.includes('liquidationHistoryAccount'))
78
+ extraSusbcribersToUse.push({
79
+ subscriber: this.liquidationHistoryAccountSubscriber,
80
+ eventType: 'liquidationHistoryAccountUpdate',
81
+ });
82
+ if (optionalSubscriptions === null || optionalSubscriptions === void 0 ? void 0 : optionalSubscriptions.includes('curveHistoryAccount'))
83
+ extraSusbcribersToUse.push({
84
+ subscriber: this.curveHistoryAccountSubscriber,
85
+ eventType: 'curveHistoryAccountUpdate',
86
+ });
87
+ if (optionalSubscriptions === null || optionalSubscriptions === void 0 ? void 0 : optionalSubscriptions.includes('orderHistoryAccount'))
88
+ extraSusbcribersToUse.push({
89
+ subscriber: this.orderHistoryAccountSubscriber,
90
+ eventType: 'orderHistoryAccountUpdate',
91
+ });
92
+ this.optionalExtraSubscriptions = optionalSubscriptions !== null && optionalSubscriptions !== void 0 ? optionalSubscriptions : [];
93
+ // await all subcriptions in parallel to boost performance
94
+ //// the state account subscription above can't happen in here, because some of these susbcriptions are dependent on clearing house state being available
95
+ await Promise.all(extraSusbcribersToUse.map(({ subscriber, eventType }) => subscriber.subscribe((data) => {
96
+ this.eventEmitter.emit(eventType, data);
97
+ this.eventEmitter.emit('update');
98
+ })));
99
+ this.eventEmitter.emit('update');
100
+ this.isSubscribing = false;
101
+ this.isSubscribed = true;
102
+ this.subscriptionPromiseResolver(true);
103
+ return true;
104
+ }
105
+ async fetch() {
106
+ if (!this.isSubscribed) {
107
+ return;
108
+ }
109
+ const promises = this.optionalExtraSubscriptions
110
+ .map((optionalSubscription) => {
111
+ const subscriber = `${optionalSubscription}Subscriber`;
112
+ return this[subscriber].fetch();
113
+ })
114
+ .concat([
115
+ this.stateAccountSubscriber.fetch(),
116
+ this.marketsAccountSubscriber.fetch(),
117
+ ]);
118
+ await Promise.all(promises);
119
+ }
120
+ async unsubscribe() {
121
+ if (!this.isSubscribed) {
122
+ return;
123
+ }
124
+ await this.stateAccountSubscriber.unsubscribe();
125
+ await this.marketsAccountSubscriber.unsubscribe();
126
+ await this.orderStateAccountSubscriber.unsubscribe();
127
+ if (this.optionalExtraSubscriptions.includes('tradeHistoryAccount')) {
128
+ await this.tradeHistoryAccountSubscriber.unsubscribe();
129
+ }
130
+ if (this.optionalExtraSubscriptions.includes('fundingRateHistoryAccount')) {
131
+ await this.fundingRateHistoryAccountSubscriber.unsubscribe();
132
+ }
133
+ if (this.optionalExtraSubscriptions.includes('fundingPaymentHistoryAccount')) {
134
+ await this.fundingPaymentHistoryAccountSubscriber.unsubscribe();
135
+ }
136
+ if (this.optionalExtraSubscriptions.includes('depositHistoryAccount')) {
137
+ await this.depositHistoryAccountSubscriber.unsubscribe();
138
+ }
139
+ if (this.optionalExtraSubscriptions.includes('curveHistoryAccount')) {
140
+ await this.curveHistoryAccountSubscriber.unsubscribe();
141
+ }
142
+ if (this.optionalExtraSubscriptions.includes('liquidationHistoryAccount')) {
143
+ await this.liquidationHistoryAccountSubscriber.unsubscribe();
144
+ }
145
+ if (this.optionalExtraSubscriptions.includes('orderHistoryAccount')) {
146
+ await this.orderHistoryAccountSubscriber.unsubscribe();
147
+ }
148
+ this.isSubscribed = false;
149
+ }
150
+ assertIsSubscribed() {
151
+ if (!this.isSubscribed) {
152
+ throw new types_1.NotSubscribedError('You must call `subscribe` before using this function');
153
+ }
154
+ }
155
+ assertOptionalIsSubscribed(optionalSubscription) {
156
+ if (!this.isSubscribed) {
157
+ throw new types_1.NotSubscribedError('You must call `subscribe` before using this function');
158
+ }
159
+ if (!this.optionalExtraSubscriptions.includes(optionalSubscription)) {
160
+ throw new types_1.NotSubscribedError(`You need to subscribe to the optional Clearing House account "${optionalSubscription}" to use this method`);
161
+ }
162
+ }
163
+ getStateAccount() {
164
+ this.assertIsSubscribed();
165
+ return this.stateAccountSubscriber.data;
166
+ }
167
+ getMarketsAccount() {
168
+ this.assertIsSubscribed();
169
+ return this.marketsAccountSubscriber.data;
170
+ }
171
+ getTradeHistoryAccount() {
172
+ this.assertIsSubscribed();
173
+ this.assertOptionalIsSubscribed('tradeHistoryAccount');
174
+ return this.tradeHistoryAccountSubscriber.data;
175
+ }
176
+ getDepositHistoryAccount() {
177
+ this.assertIsSubscribed();
178
+ this.assertOptionalIsSubscribed('depositHistoryAccount');
179
+ return this.depositHistoryAccountSubscriber.data;
180
+ }
181
+ getFundingPaymentHistoryAccount() {
182
+ this.assertIsSubscribed();
183
+ this.assertOptionalIsSubscribed('fundingPaymentHistoryAccount');
184
+ return this.fundingPaymentHistoryAccountSubscriber.data;
185
+ }
186
+ getFundingRateHistoryAccount() {
187
+ this.assertIsSubscribed();
188
+ this.assertOptionalIsSubscribed('fundingRateHistoryAccount');
189
+ return this.fundingRateHistoryAccountSubscriber.data;
190
+ }
191
+ getCurveHistoryAccount() {
192
+ this.assertIsSubscribed();
193
+ this.assertOptionalIsSubscribed('curveHistoryAccount');
194
+ return this.curveHistoryAccountSubscriber.data;
195
+ }
196
+ getLiquidationHistoryAccount() {
197
+ this.assertIsSubscribed();
198
+ this.assertOptionalIsSubscribed('liquidationHistoryAccount');
199
+ return this.liquidationHistoryAccountSubscriber.data;
200
+ }
201
+ getOrderHistoryAccount() {
202
+ this.assertIsSubscribed();
203
+ this.assertOptionalIsSubscribed('orderHistoryAccount');
204
+ return this.orderHistoryAccountSubscriber.data;
205
+ }
206
+ getOrderStateAccount() {
207
+ this.assertIsSubscribed();
208
+ return this.orderStateAccountSubscriber.data;
209
+ }
210
+ }
211
+ exports.WebSocketClearingHouseAccountSubscriber = WebSocketClearingHouseAccountSubscriber;
212
+ //# sourceMappingURL=webSocketClearingHouseAccountSubscriber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webSocketClearingHouseAccountSubscriber.js","sourceRoot":"","sources":["webSocketClearingHouseAccountSubscriber.ts"],"names":[],"mappings":";;;AAKA,mCAAgE;AAehE,mCAAsC;AACtC,4CAAqE;AACrE,6EAA0E;AAG1E,MAAa,uCAAuC;IAyBnD,YAAmB,OAAgB;QARnC,+BAA0B,GAAgC,EAAE,CAAC;QAE7D,SAAI,GAA4B,WAAW,CAAC;QAEpC,kBAAa,GAAG,KAAK,CAAC;QAK7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAY,EAAE,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,SAAS,CACrB,qBAAmD;QAEnD,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC;SACtC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9C,IAAI,CAAC,2BAA2B,GAAG,GAAG,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,MAAM,IAAA,iDAAqC,EACjE,IAAI,CAAC,OAAO,CAAC,SAAS,CACtB,CAAC;QAEF,sDAAsD;QACtD,IAAI,CAAC,sBAAsB,GAAG,IAAI,uDAA0B,CAC3D,OAAO,EACP,IAAI,CAAC,OAAO,EACZ,cAAc,CACd,CAAC;QACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,IAAkB,EAAE,EAAE;YAClE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;QAE/C,IAAI,CAAC,wBAAwB,GAAG,IAAI,uDAA0B,CAC7D,SAAS,EACT,IAAI,CAAC,OAAO,EACZ,KAAK,CAAC,OAAO,CACb,CAAC;QAEF,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,IAAoB,EAAE,EAAE;YACtE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,2BAA2B,GAAG,IAAI,uDAA0B,CAChE,YAAY,EACZ,IAAI,CAAC,OAAO,EACZ,KAAK,CAAC,UAAU,CAChB,CAAC;QAEF,MAAM,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAC/C,CAAC,IAAuB,EAAE,EAAE;YAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CACD,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;QAEzD,8CAA8C;QAE9C,IAAI,CAAC,6BAA6B,GAAG,IAAI,uDAA0B,CAClE,cAAc,EACd,IAAI,CAAC,OAAO,EACZ,KAAK,CAAC,YAAY,CAClB,CAAC;QAEF,IAAI,CAAC,+BAA+B,GAAG,IAAI,uDAA0B,CACpE,gBAAgB,EAChB,IAAI,CAAC,OAAO,EACZ,KAAK,CAAC,cAAc,CACpB,CAAC;QAEF,IAAI,CAAC,sCAAsC;YAC1C,IAAI,uDAA0B,CAC7B,uBAAuB,EACvB,IAAI,CAAC,OAAO,EACZ,KAAK,CAAC,qBAAqB,CAC3B,CAAC;QAEH,IAAI,CAAC,mCAAmC,GAAG,IAAI,uDAA0B,CACxE,oBAAoB,EACpB,IAAI,CAAC,OAAO,EACZ,KAAK,CAAC,kBAAkB,CACxB,CAAC;QAEF,IAAI,CAAC,mCAAmC,GAAG,IAAI,uDAA0B,CACxE,oBAAoB,EACpB,IAAI,CAAC,OAAO,EACZ,KAAK,CAAC,kBAAkB,CACxB,CAAC;QAEF,IAAI,CAAC,6BAA6B,GAAG,IAAI,uDAA0B,CAClE,sBAAsB,EACtB,IAAI,CAAC,OAAO,EACZ,KAAK,CAAC,oBAAoB,CAC1B,CAAC;QAEF,IAAI,CAAC,6BAA6B,GAAG,IAAI,uDAA0B,CAClE,cAAc,EACd,IAAI,CAAC,OAAO,EACZ,UAAU,CAAC,YAAY,CACvB,CAAC;QAEF,MAAM,qBAAqB,GAGrB,EAAE,CAAC;QAET,IAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,QAAQ,CAAC,qBAAqB,CAAC;YACzD,qBAAqB,CAAC,IAAI,CAAC;gBAC1B,UAAU,EAAE,IAAI,CAAC,6BAA6B;gBAC9C,SAAS,EAAE,2BAA2B;aACtC,CAAC,CAAC;QAEJ,IAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,QAAQ,CAAC,uBAAuB,CAAC;YAC3D,qBAAqB,CAAC,IAAI,CAAC;gBAC1B,UAAU,EAAE,IAAI,CAAC,+BAA+B;gBAChD,SAAS,EAAE,6BAA6B;aACxC,CAAC,CAAC;QAEJ,IAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,QAAQ,CAAC,8BAA8B,CAAC;YAClE,qBAAqB,CAAC,IAAI,CAAC;gBAC1B,UAAU,EAAE,IAAI,CAAC,sCAAsC;gBACvD,SAAS,EAAE,oCAAoC;aAC/C,CAAC,CAAC;QAEJ,IAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,QAAQ,CAAC,2BAA2B,CAAC;YAC/D,qBAAqB,CAAC,IAAI,CAAC;gBAC1B,UAAU,EAAE,IAAI,CAAC,mCAAmC;gBACpD,SAAS,EAAE,iCAAiC;aAC5C,CAAC,CAAC;QAEJ,IAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,QAAQ,CAAC,2BAA2B,CAAC;YAC/D,qBAAqB,CAAC,IAAI,CAAC;gBAC1B,UAAU,EAAE,IAAI,CAAC,mCAAmC;gBACpD,SAAS,EAAE,iCAAiC;aAC5C,CAAC,CAAC;QAEJ,IAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,QAAQ,CAAC,qBAAqB,CAAC;YACzD,qBAAqB,CAAC,IAAI,CAAC;gBAC1B,UAAU,EAAE,IAAI,CAAC,6BAA6B;gBAC9C,SAAS,EAAE,2BAA2B;aACtC,CAAC,CAAC;QAEJ,IAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,QAAQ,CAAC,qBAAqB,CAAC;YACzD,qBAAqB,CAAC,IAAI,CAAC;gBAC1B,UAAU,EAAE,IAAI,CAAC,6BAA6B;gBAC9C,SAAS,EAAE,2BAA2B;aACtC,CAAC,CAAC;QAEJ,IAAI,CAAC,0BAA0B,GAAG,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,EAAE,CAAC;QAE9D,0DAA0D;QAC1D,yJAAyJ;QACzJ,MAAM,OAAO,CAAC,GAAG,CAChB,qBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,CACvD,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CACF,CACD,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAEvC,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,KAAK;QACjB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,OAAO;SACP;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B;aAC9C,GAAG,CAAC,CAAC,oBAAoB,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,GAAG,oBAAoB,YAAY,CAAC;YACvD,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC,CAAC;aACD,MAAM,CAAC;YACP,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE;YACnC,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE;SACrC,CAAC,CAAC;QAEJ,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,OAAO;SACP;QAED,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,CAAC;QAErD,IAAI,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;YACpE,MAAM,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;YAC1E,MAAM,IAAI,CAAC,mCAAmC,CAAC,WAAW,EAAE,CAAC;SAC7D;QAED,IACC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EACvE;YACD,MAAM,IAAI,CAAC,sCAAsC,CAAC,WAAW,EAAE,CAAC;SAChE;QAED,IAAI,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE;YACtE,MAAM,IAAI,CAAC,+BAA+B,CAAC,WAAW,EAAE,CAAC;SACzD;QAED,IAAI,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;YACpE,MAAM,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;YAC1E,MAAM,IAAI,CAAC,mCAAmC,CAAC,WAAW,EAAE,CAAC;SAC7D;QAED,IAAI,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;YACpE,MAAM,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,CAAC;SACvD;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,MAAM,IAAI,0BAAkB,CAC3B,sDAAsD,CACtD,CAAC;SACF;IACF,CAAC;IAED,0BAA0B,CACzB,oBAA+C;QAE/C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,MAAM,IAAI,0BAAkB,CAC3B,sDAAsD,CACtD,CAAC;SACF;QAED,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;YACpE,MAAM,IAAI,0BAAkB,CAC3B,iEAAiE,oBAAoB,sBAAsB,CAC3G,CAAC;SACF;IACF,CAAC;IAEM,eAAe;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;IACzC,CAAC;IAEM,iBAAiB;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;IAC3C,CAAC;IAEM,sBAAsB;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC;IAChD,CAAC;IAEM,wBAAwB;QAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,0BAA0B,CAAC,uBAAuB,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC;IAClD,CAAC;IAEM,+BAA+B;QACrC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,0BAA0B,CAAC,8BAA8B,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC;IACzD,CAAC;IAEM,4BAA4B;QAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,0BAA0B,CAAC,2BAA2B,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC;IACtD,CAAC;IAEM,sBAAsB;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC;IAChD,CAAC;IAEM,4BAA4B;QAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,0BAA0B,CAAC,2BAA2B,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC;IACtD,CAAC;IAEM,sBAAsB;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC;IAChD,CAAC;IAEM,oBAAoB;QAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;IAC9C,CAAC;CACD;AAzVD,0FAyVC"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebSocketUserAccountSubscriber = void 0;
4
+ const types_1 = require("./types");
5
+ const events_1 = require("events");
6
+ const addresses_1 = require("../addresses");
7
+ const webSocketAccountSubscriber_1 = require("./webSocketAccountSubscriber");
8
+ class WebSocketUserAccountSubscriber {
9
+ constructor(program, authority) {
10
+ this.type = 'websocket';
11
+ this.isSubscribed = false;
12
+ this.program = program;
13
+ this.authority = authority;
14
+ this.eventEmitter = new events_1.EventEmitter();
15
+ }
16
+ async subscribe() {
17
+ if (this.isSubscribed) {
18
+ return true;
19
+ }
20
+ const userPublicKey = await (0, addresses_1.getUserAccountPublicKey)(this.program.programId, this.authority);
21
+ this.userDataAccountSubscriber = new webSocketAccountSubscriber_1.WebSocketAccountSubscriber('user', this.program, userPublicKey);
22
+ await this.userDataAccountSubscriber.subscribe((data) => {
23
+ this.eventEmitter.emit('userAccountData', data);
24
+ this.eventEmitter.emit('update');
25
+ });
26
+ const userAccountData = this.userDataAccountSubscriber.data;
27
+ this.userPositionsAccountSubscriber = new webSocketAccountSubscriber_1.WebSocketAccountSubscriber('userPositions', this.program, userAccountData.positions);
28
+ await this.userPositionsAccountSubscriber.subscribe((data) => {
29
+ this.eventEmitter.emit('userPositionsData', data);
30
+ this.eventEmitter.emit('update');
31
+ });
32
+ const userOrdersPublicKey = await (0, addresses_1.getUserOrdersAccountPublicKey)(this.program.programId, userPublicKey);
33
+ this.userOrdersAccountSubscriber = new webSocketAccountSubscriber_1.WebSocketAccountSubscriber('userOrders', this.program, userOrdersPublicKey);
34
+ await this.userOrdersAccountSubscriber.subscribe((data) => {
35
+ this.eventEmitter.emit('userOrdersData', data);
36
+ this.eventEmitter.emit('update');
37
+ });
38
+ this.eventEmitter.emit('update');
39
+ this.isSubscribed = true;
40
+ return true;
41
+ }
42
+ async fetch() {
43
+ await Promise.all([
44
+ this.userDataAccountSubscriber.fetch(),
45
+ this.userPositionsAccountSubscriber.fetch(),
46
+ this.userOrdersAccountSubscriber.fetch(),
47
+ ]);
48
+ }
49
+ async unsubscribe() {
50
+ if (!this.isSubscribed) {
51
+ return;
52
+ }
53
+ await Promise.all([
54
+ this.userDataAccountSubscriber.unsubscribe(),
55
+ this.userPositionsAccountSubscriber.unsubscribe(),
56
+ await this.userOrdersAccountSubscriber.unsubscribe(),
57
+ ]);
58
+ this.isSubscribed = false;
59
+ }
60
+ assertIsSubscribed() {
61
+ if (!this.isSubscribed) {
62
+ throw new types_1.NotSubscribedError('You must call `subscribe` before using this function');
63
+ }
64
+ }
65
+ getUserAccount() {
66
+ this.assertIsSubscribed();
67
+ return this.userDataAccountSubscriber.data;
68
+ }
69
+ getUserPositionsAccount() {
70
+ this.assertIsSubscribed();
71
+ return this.userPositionsAccountSubscriber.data;
72
+ }
73
+ getUserOrdersAccount() {
74
+ return this.userOrdersAccountSubscriber.data;
75
+ }
76
+ }
77
+ exports.WebSocketUserAccountSubscriber = WebSocketUserAccountSubscriber;
78
+ //# sourceMappingURL=webSocketUserAccountSubscriber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webSocketUserAccountSubscriber.js","sourceRoot":"","sources":["webSocketUserAccountSubscriber.ts"],"names":[],"mappings":"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"}
package/src/addresses.js CHANGED
@@ -18,66 +18,42 @@ var __importStar = (this && this.__importStar) || function (mod) {
18
18
  __setModuleDefault(result, mod);
19
19
  return result;
20
20
  };
21
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
- return new (P || (P = Promise))(function (resolve, reject) {
24
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
- step((generator = generator.apply(thisArg, _arguments || [])).next());
28
- });
29
- };
30
21
  Object.defineProperty(exports, "__esModule", { value: true });
31
22
  exports.getUserOrdersAccountPublicKey = exports.getUserOrdersAccountPublicKeyAndNonce = exports.getUserAccountPublicKey = exports.getUserAccountPublicKeyAndNonce = exports.getClearingHouseStateAccountPublicKey = exports.getOrderStateAccountPublicKeyAndNonce = exports.getOrderStateAccountPublicKey = exports.getClearingHouseStateAccountPublicKeyAndNonce = void 0;
32
23
  const anchor = __importStar(require("@project-serum/anchor"));
33
- function getClearingHouseStateAccountPublicKeyAndNonce(programId) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- return anchor.web3.PublicKey.findProgramAddress([Buffer.from(anchor.utils.bytes.utf8.encode('clearing_house'))], programId);
36
- });
24
+ async function getClearingHouseStateAccountPublicKeyAndNonce(programId) {
25
+ return anchor.web3.PublicKey.findProgramAddress([Buffer.from(anchor.utils.bytes.utf8.encode('clearing_house'))], programId);
37
26
  }
38
27
  exports.getClearingHouseStateAccountPublicKeyAndNonce = getClearingHouseStateAccountPublicKeyAndNonce;
39
- function getOrderStateAccountPublicKey(programId) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- return (yield getOrderStateAccountPublicKeyAndNonce(programId))[0];
42
- });
28
+ async function getOrderStateAccountPublicKey(programId) {
29
+ return (await getOrderStateAccountPublicKeyAndNonce(programId))[0];
43
30
  }
44
31
  exports.getOrderStateAccountPublicKey = getOrderStateAccountPublicKey;
45
- function getOrderStateAccountPublicKeyAndNonce(programId) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- return anchor.web3.PublicKey.findProgramAddress([Buffer.from(anchor.utils.bytes.utf8.encode('order_state'))], programId);
48
- });
32
+ async function getOrderStateAccountPublicKeyAndNonce(programId) {
33
+ return anchor.web3.PublicKey.findProgramAddress([Buffer.from(anchor.utils.bytes.utf8.encode('order_state'))], programId);
49
34
  }
50
35
  exports.getOrderStateAccountPublicKeyAndNonce = getOrderStateAccountPublicKeyAndNonce;
51
- function getClearingHouseStateAccountPublicKey(programId) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- return (yield getClearingHouseStateAccountPublicKeyAndNonce(programId))[0];
54
- });
36
+ async function getClearingHouseStateAccountPublicKey(programId) {
37
+ return (await getClearingHouseStateAccountPublicKeyAndNonce(programId))[0];
55
38
  }
56
39
  exports.getClearingHouseStateAccountPublicKey = getClearingHouseStateAccountPublicKey;
57
- function getUserAccountPublicKeyAndNonce(programId, authority) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- return anchor.web3.PublicKey.findProgramAddress([Buffer.from(anchor.utils.bytes.utf8.encode('user')), authority.toBuffer()], programId);
60
- });
40
+ async function getUserAccountPublicKeyAndNonce(programId, authority) {
41
+ return anchor.web3.PublicKey.findProgramAddress([Buffer.from(anchor.utils.bytes.utf8.encode('user')), authority.toBuffer()], programId);
61
42
  }
62
43
  exports.getUserAccountPublicKeyAndNonce = getUserAccountPublicKeyAndNonce;
63
- function getUserAccountPublicKey(programId, authority) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- return (yield getUserAccountPublicKeyAndNonce(programId, authority))[0];
66
- });
44
+ async function getUserAccountPublicKey(programId, authority) {
45
+ return (await getUserAccountPublicKeyAndNonce(programId, authority))[0];
67
46
  }
68
47
  exports.getUserAccountPublicKey = getUserAccountPublicKey;
69
- function getUserOrdersAccountPublicKeyAndNonce(programId, userAccount) {
70
- return __awaiter(this, void 0, void 0, function* () {
71
- return anchor.web3.PublicKey.findProgramAddress([
72
- Buffer.from(anchor.utils.bytes.utf8.encode('user_orders')),
73
- userAccount.toBuffer(),
74
- ], programId);
75
- });
48
+ async function getUserOrdersAccountPublicKeyAndNonce(programId, userAccount) {
49
+ return anchor.web3.PublicKey.findProgramAddress([
50
+ Buffer.from(anchor.utils.bytes.utf8.encode('user_orders')),
51
+ userAccount.toBuffer(),
52
+ ], programId);
76
53
  }
77
54
  exports.getUserOrdersAccountPublicKeyAndNonce = getUserOrdersAccountPublicKeyAndNonce;
78
- function getUserOrdersAccountPublicKey(programId, userAccount) {
79
- return __awaiter(this, void 0, void 0, function* () {
80
- return (yield getUserOrdersAccountPublicKeyAndNonce(programId, userAccount))[0];
81
- });
55
+ async function getUserOrdersAccountPublicKey(programId, userAccount) {
56
+ return (await getUserOrdersAccountPublicKeyAndNonce(programId, userAccount))[0];
82
57
  }
83
58
  exports.getUserOrdersAccountPublicKey = getUserOrdersAccountPublicKey;
59
+ //# sourceMappingURL=addresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addresses.js","sourceRoot":"","sources":["addresses.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,8DAAgD;AAEzC,KAAK,UAAU,6CAA6C,CAClE,SAAoB;IAEpB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC9C,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAC/D,SAAS,CACT,CAAC;AACH,CAAC;AAPD,sGAOC;AAEM,KAAK,UAAU,6BAA6B,CAClD,SAAoB;IAEpB,OAAO,CAAC,MAAM,qCAAqC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAJD,sEAIC;AAEM,KAAK,UAAU,qCAAqC,CAC1D,SAAoB;IAEpB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC9C,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAC5D,SAAS,CACT,CAAC;AACH,CAAC;AAPD,sFAOC;AAEM,KAAK,UAAU,qCAAqC,CAC1D,SAAoB;IAEpB,OAAO,CAAC,MAAM,6CAA6C,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAJD,sFAIC;AAEM,KAAK,UAAU,+BAA+B,CACpD,SAAoB,EACpB,SAAoB;IAEpB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC9C,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAC3E,SAAS,CACT,CAAC;AACH,CAAC;AARD,0EAQC;AAEM,KAAK,UAAU,uBAAuB,CAC5C,SAAoB,EACpB,SAAoB;IAEpB,OAAO,CAAC,MAAM,+BAA+B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AALD,0DAKC;AAEM,KAAK,UAAU,qCAAqC,CAC1D,SAAoB,EACpB,WAAsB;IAEtB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC9C;QACC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC1D,WAAW,CAAC,QAAQ,EAAE;KACtB,EACD,SAAS,CACT,CAAC;AACH,CAAC;AAXD,sFAWC;AAEM,KAAK,UAAU,6BAA6B,CAClD,SAAoB,EACpB,WAAsB;IAEtB,OAAO,CACN,MAAM,qCAAqC,CAAC,SAAS,EAAE,WAAW,CAAC,CACnE,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAPD,sEAOC"}