@drift-labs/sdk 0.1.28 → 0.1.29

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 (64) hide show
  1. package/lib/accounts/bulkAccountLoader.js +13 -3
  2. package/lib/clearingHouse.d.ts +4 -1
  3. package/lib/clearingHouse.js +49 -0
  4. package/lib/constants/markets.js +11 -0
  5. package/lib/idl/clearing_house.json +63 -2
  6. package/lib/index.d.ts +1 -0
  7. package/lib/index.js +1 -0
  8. package/lib/math/amm.d.ts +0 -20
  9. package/lib/math/amm.js +1 -151
  10. package/lib/math/repeg.d.ts +32 -0
  11. package/lib/math/repeg.js +178 -0
  12. package/lib/oracles/pythClient.js +1 -1
  13. package/lib/orderParams.d.ts +1 -1
  14. package/lib/orderParams.js +2 -2
  15. package/package.json +1 -1
  16. package/src/accounts/bulkAccountLoader.ts +14 -4
  17. package/src/clearingHouse.ts +71 -0
  18. package/src/constants/markets.ts +12 -1
  19. package/src/idl/clearing_house.json +63 -2
  20. package/src/index.ts +1 -0
  21. package/src/math/amm.ts +1 -212
  22. package/src/math/repeg.ts +253 -0
  23. package/src/oracles/pythClient.ts +1 -1
  24. package/src/orderParams.ts +3 -2
  25. package/src/accounts/bulkAccountLoader.js +0 -180
  26. package/src/accounts/bulkAccountLoader.js.map +0 -1
  27. package/src/accounts/bulkUserSubscription.js +0 -56
  28. package/src/accounts/bulkUserSubscription.js.map +0 -1
  29. package/src/accounts/pollingUserAccountSubscriber.js +0 -139
  30. package/src/accounts/pollingUserAccountSubscriber.js.map +0 -1
  31. package/src/accounts/types.js +0 -11
  32. package/src/accounts/types.js.map +0 -1
  33. package/src/accounts/webSocketUserAccountSubscriber.js +0 -78
  34. package/src/accounts/webSocketUserAccountSubscriber.js.map +0 -1
  35. package/src/addresses.js +0 -59
  36. package/src/addresses.js.map +0 -1
  37. package/src/admin.js +0 -443
  38. package/src/admin.js.map +0 -1
  39. package/src/clearingHouseUser.js +0 -581
  40. package/src/clearingHouseUser.js.map +0 -1
  41. package/src/config.js +0 -37
  42. package/src/config.js.map +0 -1
  43. package/src/factory/clearingHouse.js +0 -65
  44. package/src/factory/clearingHouse.js.map +0 -1
  45. package/src/factory/clearingHouseUser.js +0 -35
  46. package/src/factory/clearingHouseUser.js.map +0 -1
  47. package/src/factory/oracleClient.js +0 -17
  48. package/src/factory/oracleClient.js.map +0 -1
  49. package/src/index.js +0 -56
  50. package/src/index.js.map +0 -1
  51. package/src/math/amm.js +0 -285
  52. package/src/math/amm.js.map +0 -1
  53. package/src/mockUSDCFaucet.js +0 -143
  54. package/src/mockUSDCFaucet.js.map +0 -1
  55. package/src/oracles/pythClient.js +0 -39
  56. package/src/oracles/pythClient.js.map +0 -1
  57. package/src/orderParams.js +0 -109
  58. package/src/orderParams.js.map +0 -1
  59. package/src/orders.js +0 -172
  60. package/src/orders.js.map +0 -1
  61. package/src/types.js +0 -61
  62. package/src/types.js.map +0 -1
  63. package/src/wallet.js +0 -23
  64. package/src/wallet.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"bulkAccountLoader.js","sourceRoot":"","sources":["bulkAccountLoader.ts"],"names":[],"mappings":";;;AAAA,6CAAoE;AACpE,+BAAoC;AAQpC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAE5C,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAElC,MAAa,iBAAiB;IAc7B,YACC,UAAsB,EACtB,UAAsB,EACtB,gBAAwB;QAbzB,mBAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;QAClD,gBAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC7C,mBAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;QAKhD,mBAAc,GAAG,KAAK,CAAC;QACvB,eAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAOvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC1C,CAAC;IAEM,UAAU,CAChB,SAAoB,EACpB,QAAkC;QAElC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAE9C,MAAM,UAAU,GAAG,IAAA,SAAM,GAAE,CAAC;QAC5B,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,IAAI,qBAAqB,EAAE;YAC1B,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;SAC1D;aAAM;YACN,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoC,CAAC;YAC9D,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACpC,MAAM,gBAAgB,GAAG;gBACxB,SAAS;gBACT,SAAS;aACT,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,gBAAgB,CAAC,CAAC;SAChE;QAED,IAAI,YAAY,KAAK,CAAC,EAAE;YACvB,IAAI,CAAC,YAAY,EAAE,CAAC;SACpB;QAED,iHAAiH;QACjH,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAE7B,OAAO,UAAU,CAAC;IACnB,CAAC;IAEM,aAAa,CAAC,SAAoB,EAAE,UAAkB;QAC5D,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,IAAI,qBAAqB,EAAE;YAC1B,qBAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,qBAAqB,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE;gBAC/C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;aACvE;SACD;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE;YACnC,IAAI,CAAC,WAAW,EAAE,CAAC;SACnB;IACF,CAAC;IAEM,iBAAiB,CAAC,QAAgC;QACxD,MAAM,UAAU,GAAG,IAAA,SAAM,GAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAC;IACnB,CAAC;IAEM,oBAAoB,CAAC,UAAkB;QAC7C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAI,KAAmB,EAAE,IAAY;QAC1C,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;aAC9C,IAAI,CAAC,IAAI,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;aAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO,IAAI,CAAC,WAAW,CAAC;SACxB;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;SAChC;QAED,IAAI;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EACxC,gCAAgC,CAChC,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CACF,CAAC;SACF;QAAC,OAAO,CAAC,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,KAAK,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE;gBAChD,QAAQ,CAAC,CAAC,CAAC,CAAC;aACZ;SACD;gBAAS;YACT,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,WAAW,EAAE;gBACxC,IAAI,IAAI,CAAC,cAAc,EAAE;oBACxB,OAAO,CAAC,GAAG,CACV,kGAAkG,CAClG,CAAC;iBACF;gBACD,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAU;gBAC/B,aAAa;gBACb,IAAI,CAAC,UAAU,CAAC,YAAY,EAC5B,IAAI,CAAC,UAAU,CAAC,UAAU,CAC1B,CAAC;aACF;SACD;IACF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,cAA+B;QAC9C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,OAAO;SACP;QAED,MAAM,IAAI,GAAG;YACZ,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;gBACpC,OAAO,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC3C,CAAC,CAAC;YACF,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;SAC/B,CAAC;QAEF,aAAa;QACb,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CACpD,qBAAqB,EACrB,IAAI,CACJ,CAAC;QAEF,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAEhD,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE;YAC/B,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEjD,IAAI,SAAS,GAAuB,SAAS,CAAC;YAC9C,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAChC,MAAM,GAAG,GAAW,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrD,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;aACvC;YAED,IAAI,CAAC,cAAc,EAAE;gBACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE;oBACzB,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,SAAS;iBACjB,CAAC,CAAC;gBACH,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,SAAS;aACT;YAED,IAAI,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE;gBACnC,SAAS;aACT;YAED,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC;YACxC,IAAI,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE;gBAC9D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE;oBACzB,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,SAAS;iBACjB,CAAC,CAAC;gBACH,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;aAC7B;SACD;IACF,CAAC;IAED,sBAAsB,CAAC,aAA4B,EAAE,MAAc;QAClE,KAAK,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,aAAa,CAAC,SAAS,EAAE;YACpD,QAAQ,CAAC,MAAM,CAAC,CAAC;SACjB;IACF,CAAC;IAEM,cAAc,CAAC,SAAoB;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,OAAO,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAC;IAC5B,CAAC;IAEM,YAAY;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO;SACP;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;SAC5B;QAED,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5E,CAAC;IAEM,WAAW;QACjB,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAE5B,IAAI,IAAI,CAAC,cAAc,EAAE;gBACxB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;aAC3B;SACD;IACF,CAAC;CACD;AAjOD,8CAiOC"}
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bulkPollingUserSubscribe = void 0;
4
- /**
5
- * @param users
6
- * @param accountLoader
7
- */
8
- async function bulkPollingUserSubscribe(users, accountLoader) {
9
- if (users.length === 0) {
10
- await accountLoader.load();
11
- return;
12
- }
13
- // Fetch all the accounts first
14
- const program = users[0].clearingHouse.program;
15
- let userProgramAccounts;
16
- let orderProgramAccounts;
17
- await Promise.all([
18
- (async () => {
19
- userProgramAccounts = await program.account.user.all();
20
- })(),
21
- (async () => {
22
- orderProgramAccounts = await program.account.userOrders.all();
23
- })(),
24
- ]);
25
- // Create a map of the authority to keys
26
- const authorityToKeys = new Map();
27
- const userToAuthority = new Map();
28
- for (const userProgramAccount of userProgramAccounts) {
29
- const userAccountPublicKey = userProgramAccount.publicKey;
30
- const userAccount = userProgramAccount.account;
31
- authorityToKeys.set(userAccount.authority.toString(), {
32
- user: userAccountPublicKey,
33
- userPositions: userAccount.positions,
34
- userOrders: undefined,
35
- });
36
- userToAuthority.set(userAccountPublicKey.toString(), userAccount.authority.toString());
37
- }
38
- for (const orderProgramAccount of orderProgramAccounts) {
39
- const userOrderAccountPublicKey = orderProgramAccount.publicKey;
40
- const userOrderAccount = orderProgramAccount.account;
41
- const authority = userToAuthority.get(userOrderAccount.user.toString());
42
- const userPublicKeys = authorityToKeys.get(authority);
43
- userPublicKeys.userOrders = userOrderAccountPublicKey;
44
- }
45
- await Promise.all(users.map((user) => {
46
- // Pull the keys from the authority map so we can skip fetching them in addToAccountLoader
47
- const userPublicKeys = authorityToKeys.get(user.authority.toString());
48
- return user.accountSubscriber.addToAccountLoader(userPublicKeys);
49
- }));
50
- await accountLoader.load();
51
- await Promise.all(users.map(async (user) => {
52
- return user.subscribe();
53
- }));
54
- }
55
- exports.bulkPollingUserSubscribe = bulkPollingUserSubscribe;
56
- //# sourceMappingURL=bulkUserSubscription.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bulkUserSubscription.js","sourceRoot":"","sources":["bulkUserSubscription.ts"],"names":[],"mappings":";;;AAOA;;;GAGG;AACI,KAAK,UAAU,wBAAwB,CAC7C,KAA0B,EAC1B,aAAgC;IAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAC3B,OAAO;KACP;IAED,+BAA+B;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;IAC/C,IAAI,mBAAqC,CAAC;IAC1C,IAAI,oBAAsC,CAAC;IAC3C,MAAM,OAAO,CAAC,GAAG,CAAC;QACjB,CAAC,KAAK,IAAI,EAAE;YACX,mBAAmB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACxD,CAAC,CAAC,EAAE;QACJ,CAAC,KAAK,IAAI,EAAE;YACX,oBAAoB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC/D,CAAC,CAAC,EAAE;KACJ,CAAC,CAAC;IAEH,wCAAwC;IACxC,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC1D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE;QACrD,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,SAAS,CAAC;QAC1D,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAsB,CAAC;QAE9D,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE;YACrD,IAAI,EAAE,oBAAoB;YAC1B,aAAa,EAAE,WAAW,CAAC,SAAS;YACpC,UAAU,EAAE,SAAS;SACrB,CAAC,CAAC;QAEH,eAAe,CAAC,GAAG,CAClB,oBAAoB,CAAC,QAAQ,EAAE,EAC/B,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,CAChC,CAAC;KACF;IACD,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,EAAE;QACvD,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,SAAS,CAAC;QAChE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAA4B,CAAC;QAE1E,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,cAAc,CAAC,UAAU,GAAG,yBAAyB,CAAC;KACtD;IAED,MAAM,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClB,0FAA0F;QAC1F,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,OACC,IAAI,CAAC,iBACL,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC,CAAC,CACF,CAAC;IAEF,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;IAE3B,MAAM,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACxB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IACzB,CAAC,CAAC,CACF,CAAC;AACH,CAAC;AAlED,4DAkEC"}
@@ -1,139 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PollingUserAccountSubscriber = void 0;
4
- const types_1 = require("./types");
5
- const events_1 = require("events");
6
- const addresses_1 = require("../addresses");
7
- const utils_1 = require("./utils");
8
- class PollingUserAccountSubscriber {
9
- constructor(program, authority, accountLoader) {
10
- this.accountsToPoll = new Map();
11
- this.type = 'polling';
12
- this.isSubscribed = false;
13
- this.program = program;
14
- this.authority = authority;
15
- this.accountLoader = accountLoader;
16
- this.eventEmitter = new events_1.EventEmitter();
17
- }
18
- async subscribe() {
19
- if (this.isSubscribed) {
20
- return true;
21
- }
22
- await this.addToAccountLoader();
23
- await this.fetchIfUnloaded();
24
- this.eventEmitter.emit('update');
25
- this.isSubscribed = true;
26
- return true;
27
- }
28
- async addToAccountLoader(userPublicKeys) {
29
- if (this.accountsToPoll.size > 0) {
30
- return;
31
- }
32
- if (!userPublicKeys) {
33
- const userPublicKey = await (0, addresses_1.getUserAccountPublicKey)(this.program.programId, this.authority);
34
- const userAccount = (await this.program.account.user.fetch(userPublicKey));
35
- this.accountsToPoll.set(userPublicKey.toString(), {
36
- key: 'user',
37
- publicKey: userPublicKey,
38
- eventType: 'userAccountData',
39
- });
40
- this.accountsToPoll.set(userAccount.positions.toString(), {
41
- key: 'userPositions',
42
- publicKey: userAccount.positions,
43
- eventType: 'userPositionsData',
44
- });
45
- const userOrdersPublicKey = await (0, addresses_1.getUserOrdersAccountPublicKey)(this.program.programId, userPublicKey);
46
- this.accountsToPoll.set(userOrdersPublicKey.toString(), {
47
- key: 'userOrders',
48
- publicKey: userOrdersPublicKey,
49
- eventType: 'userOrdersData',
50
- });
51
- }
52
- else {
53
- this.accountsToPoll.set(userPublicKeys.user.toString(), {
54
- key: 'user',
55
- publicKey: userPublicKeys.user,
56
- eventType: 'userAccountData',
57
- });
58
- this.accountsToPoll.set(userPublicKeys.userPositions.toString(), {
59
- key: 'userPositions',
60
- publicKey: userPublicKeys.userPositions,
61
- eventType: 'userPositionsData',
62
- });
63
- if (userPublicKeys.userOrders) {
64
- this.accountsToPoll.set(userPublicKeys.userOrders.toString(), {
65
- key: 'userOrders',
66
- publicKey: userPublicKeys.userOrders,
67
- eventType: 'userOrdersData',
68
- });
69
- }
70
- }
71
- for (const [_, accountToPoll] of this.accountsToPoll) {
72
- accountToPoll.callbackId = this.accountLoader.addAccount(accountToPoll.publicKey, (buffer) => {
73
- if (!buffer) {
74
- return;
75
- }
76
- const account = this.program.account[accountToPoll.key].coder.accounts.decode((0, utils_1.capitalize)(accountToPoll.key), buffer);
77
- this[accountToPoll.key] = account;
78
- // @ts-ignore
79
- this.eventEmitter.emit(accountToPoll.eventType, account);
80
- this.eventEmitter.emit('update');
81
- });
82
- }
83
- this.errorCallbackId = this.accountLoader.addErrorCallbacks((error) => {
84
- this.eventEmitter.emit('error', error);
85
- });
86
- }
87
- async fetchIfUnloaded() {
88
- let shouldFetch = false;
89
- for (const [_, accountToPoll] of this.accountsToPoll) {
90
- if (this[accountToPoll.key] === undefined) {
91
- shouldFetch = true;
92
- break;
93
- }
94
- }
95
- if (shouldFetch) {
96
- await this.fetch();
97
- }
98
- }
99
- async fetch() {
100
- await this.accountLoader.load();
101
- for (const [_, accountToPoll] of this.accountsToPoll) {
102
- const buffer = this.accountLoader.getAccountData(accountToPoll.publicKey);
103
- if (buffer) {
104
- this[accountToPoll.key] = this.program.account[accountToPoll.key].coder.accounts.decode((0, utils_1.capitalize)(accountToPoll.key), buffer);
105
- }
106
- }
107
- }
108
- async unsubscribe() {
109
- if (!this.isSubscribed) {
110
- return;
111
- }
112
- for (const [_, accountToPoll] of this.accountsToPoll) {
113
- this.accountLoader.removeAccount(accountToPoll.publicKey, accountToPoll.callbackId);
114
- }
115
- this.accountLoader.removeErrorCallbacks(this.errorCallbackId);
116
- this.errorCallbackId = undefined;
117
- this.accountsToPoll.clear();
118
- this.isSubscribed = false;
119
- }
120
- assertIsSubscribed() {
121
- if (!this.isSubscribed) {
122
- throw new types_1.NotSubscribedError('You must call `subscribe` before using this function');
123
- }
124
- }
125
- getUserAccount() {
126
- this.assertIsSubscribed();
127
- return this.user;
128
- }
129
- getUserPositionsAccount() {
130
- this.assertIsSubscribed();
131
- return this.userPositions;
132
- }
133
- getUserOrdersAccount() {
134
- this.assertIsSubscribed();
135
- return this.userOrders;
136
- }
137
- }
138
- exports.PollingUserAccountSubscriber = PollingUserAccountSubscriber;
139
- //# sourceMappingURL=pollingUserAccountSubscriber.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pollingUserAccountSubscriber.js","sourceRoot":"","sources":["pollingUserAccountSubscriber.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NotSubscribedError = void 0;
4
- class NotSubscribedError extends Error {
5
- constructor() {
6
- super(...arguments);
7
- this.name = 'NotSubscribedError';
8
- }
9
- }
10
- exports.NotSubscribedError = NotSubscribedError;
11
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;AAgCA,MAAa,kBAAmB,SAAQ,KAAK;IAA7C;;QACC,SAAI,GAAG,oBAAoB,CAAC;IAC7B,CAAC;CAAA;AAFD,gDAEC"}
@@ -1,78 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"webSocketUserAccountSubscriber.js","sourceRoot":"","sources":["webSocketUserAccountSubscriber.ts"],"names":[],"mappings":"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"}
package/src/addresses.js DELETED
@@ -1,59 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.getUserOrdersAccountPublicKey = exports.getUserOrdersAccountPublicKeyAndNonce = exports.getUserAccountPublicKey = exports.getUserAccountPublicKeyAndNonce = exports.getClearingHouseStateAccountPublicKey = exports.getOrderStateAccountPublicKeyAndNonce = exports.getOrderStateAccountPublicKey = exports.getClearingHouseStateAccountPublicKeyAndNonce = void 0;
23
- const anchor = __importStar(require("@project-serum/anchor"));
24
- async function getClearingHouseStateAccountPublicKeyAndNonce(programId) {
25
- return anchor.web3.PublicKey.findProgramAddress([Buffer.from(anchor.utils.bytes.utf8.encode('clearing_house'))], programId);
26
- }
27
- exports.getClearingHouseStateAccountPublicKeyAndNonce = getClearingHouseStateAccountPublicKeyAndNonce;
28
- async function getOrderStateAccountPublicKey(programId) {
29
- return (await getOrderStateAccountPublicKeyAndNonce(programId))[0];
30
- }
31
- exports.getOrderStateAccountPublicKey = getOrderStateAccountPublicKey;
32
- async function getOrderStateAccountPublicKeyAndNonce(programId) {
33
- return anchor.web3.PublicKey.findProgramAddress([Buffer.from(anchor.utils.bytes.utf8.encode('order_state'))], programId);
34
- }
35
- exports.getOrderStateAccountPublicKeyAndNonce = getOrderStateAccountPublicKeyAndNonce;
36
- async function getClearingHouseStateAccountPublicKey(programId) {
37
- return (await getClearingHouseStateAccountPublicKeyAndNonce(programId))[0];
38
- }
39
- exports.getClearingHouseStateAccountPublicKey = getClearingHouseStateAccountPublicKey;
40
- async function getUserAccountPublicKeyAndNonce(programId, authority) {
41
- return anchor.web3.PublicKey.findProgramAddress([Buffer.from(anchor.utils.bytes.utf8.encode('user')), authority.toBuffer()], programId);
42
- }
43
- exports.getUserAccountPublicKeyAndNonce = getUserAccountPublicKeyAndNonce;
44
- async function getUserAccountPublicKey(programId, authority) {
45
- return (await getUserAccountPublicKeyAndNonce(programId, authority))[0];
46
- }
47
- exports.getUserAccountPublicKey = getUserAccountPublicKey;
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);
53
- }
54
- exports.getUserOrdersAccountPublicKeyAndNonce = getUserOrdersAccountPublicKeyAndNonce;
55
- async function getUserOrdersAccountPublicKey(programId, userAccount) {
56
- return (await getUserOrdersAccountPublicKeyAndNonce(programId, userAccount))[0];
57
- }
58
- exports.getUserOrdersAccountPublicKey = getUserOrdersAccountPublicKey;
59
- //# sourceMappingURL=addresses.js.map
@@ -1 +0,0 @@
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"}