@kehtus/proportion-sdk 0.1.2 → 0.1.4

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 (89) hide show
  1. package/LICENSE +21 -0
  2. package/dist/abi/factory.d.ts +1 -0
  3. package/dist/abi/factory.d.ts.map +1 -0
  4. package/dist/abi/factory.js +1 -0
  5. package/dist/abi/factory.js.map +1 -0
  6. package/dist/abi/forwarder.d.ts +1 -0
  7. package/dist/abi/forwarder.d.ts.map +1 -0
  8. package/dist/abi/forwarder.js +1 -0
  9. package/dist/abi/forwarder.js.map +1 -0
  10. package/dist/abi/fundedAccount.d.ts +1 -0
  11. package/dist/abi/fundedAccount.d.ts.map +1 -0
  12. package/dist/abi/fundedAccount.js +1 -0
  13. package/dist/abi/fundedAccount.js.map +1 -0
  14. package/dist/abi/mainVault.d.ts +198 -16
  15. package/dist/abi/mainVault.d.ts.map +1 -0
  16. package/dist/abi/mainVault.js +253 -19
  17. package/dist/abi/mainVault.js.map +1 -0
  18. package/dist/account.d.ts +3 -2
  19. package/dist/account.d.ts.map +1 -0
  20. package/dist/account.js +46 -43
  21. package/dist/account.js.map +1 -0
  22. package/dist/base.d.ts +9 -0
  23. package/dist/base.d.ts.map +1 -0
  24. package/dist/base.js +19 -0
  25. package/dist/base.js.map +1 -0
  26. package/dist/constants.d.ts +5 -4
  27. package/dist/constants.d.ts.map +1 -0
  28. package/dist/constants.js +5 -4
  29. package/dist/constants.js.map +1 -0
  30. package/dist/factory.d.ts +1 -0
  31. package/dist/factory.d.ts.map +1 -0
  32. package/dist/factory.js +56 -10
  33. package/dist/factory.js.map +1 -0
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +1 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/indexer.d.ts +9 -3
  39. package/dist/indexer.d.ts.map +1 -0
  40. package/dist/indexer.js +84 -136
  41. package/dist/indexer.js.map +1 -0
  42. package/dist/sdk.d.ts +1 -0
  43. package/dist/sdk.d.ts.map +1 -0
  44. package/dist/sdk.js +1 -0
  45. package/dist/sdk.js.map +1 -0
  46. package/dist/types.d.ts +5 -0
  47. package/dist/types.d.ts.map +1 -0
  48. package/dist/types.js +1 -0
  49. package/dist/types.js.map +1 -0
  50. package/dist/utils.d.ts +8 -0
  51. package/dist/utils.d.ts.map +1 -0
  52. package/dist/utils.js +10 -0
  53. package/dist/utils.js.map +1 -0
  54. package/dist/vault.d.ts +7 -4
  55. package/dist/vault.d.ts.map +1 -0
  56. package/dist/vault.js +76 -51
  57. package/dist/vault.js.map +1 -0
  58. package/package.json +12 -1
  59. package/arch.md +0 -455
  60. package/dist/__tests__/account.test.d.ts +0 -1
  61. package/dist/__tests__/account.test.js +0 -36
  62. package/dist/__tests__/indexer.test.d.ts +0 -1
  63. package/dist/__tests__/indexer.test.js +0 -230
  64. package/dist/__tests__/lifecycle.test.d.ts +0 -1
  65. package/dist/__tests__/lifecycle.test.js +0 -186
  66. package/dist/__tests__/reads.test.d.ts +0 -1
  67. package/dist/__tests__/reads.test.js +0 -184
  68. package/dist/__tests__/utils.test.d.ts +0 -1
  69. package/dist/__tests__/utils.test.js +0 -185
  70. package/src/__tests__/account.test.ts +0 -40
  71. package/src/__tests__/indexer.test.ts +0 -255
  72. package/src/__tests__/lifecycle.test.ts +0 -231
  73. package/src/__tests__/reads.test.ts +0 -208
  74. package/src/__tests__/utils.test.ts +0 -245
  75. package/src/abi/factory.ts +0 -417
  76. package/src/abi/forwarder.ts +0 -373
  77. package/src/abi/fundedAccount.ts +0 -1296
  78. package/src/abi/mainVault.ts +0 -1852
  79. package/src/account.ts +0 -325
  80. package/src/constants.ts +0 -51
  81. package/src/factory.ts +0 -157
  82. package/src/index.ts +0 -16
  83. package/src/indexer.ts +0 -636
  84. package/src/sdk.ts +0 -93
  85. package/src/types.ts +0 -421
  86. package/src/utils.ts +0 -143
  87. package/src/vault.ts +0 -479
  88. package/tsconfig.json +0 -19
  89. package/vitest.config.ts +0 -8
package/dist/base.js ADDED
@@ -0,0 +1,19 @@
1
+ export class BaseWriteModule {
2
+ walletClient;
3
+ chain;
4
+ constructor(walletClient, chain) {
5
+ this.walletClient = walletClient;
6
+ this.chain = chain;
7
+ }
8
+ requireWallet() {
9
+ if (!this.walletClient)
10
+ throw new Error("WalletClient required for write operations");
11
+ return this.walletClient;
12
+ }
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ async write(params) {
15
+ const wallet = this.requireWallet();
16
+ return wallet.writeContract({ chain: this.chain, ...params });
17
+ }
18
+ }
19
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,eAAe;IAEvB;IACA;IAFZ,YACY,YAAsC,EACtC,KAAY;QADZ,iBAAY,GAAZ,YAAY,CAA0B;QACtC,UAAK,GAAL,KAAK,CAAO;IACrB,CAAC;IAEM,aAAa;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,8DAA8D;IACpD,KAAK,CAAC,KAAK,CAAC,MAA+B;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,MAAM,EAAS,CAAC,CAAC;IACvE,CAAC;CACF"}
@@ -19,9 +19,9 @@ export declare const hyperEvm: {
19
19
  };
20
20
  };
21
21
  export declare const ADDRESSES: {
22
- readonly MAIN_VAULT: "0x3A8cD3feb02959B2AB622Fcebe40A477c73f9488";
23
- readonly FACTORY: "0x04B71DC7414Bfa940D1c11f839011B6a11031D2E";
24
- readonly FORWARDER: "0x5961880B2C461F9733EC71720528461840881f4E";
22
+ readonly MAIN_VAULT: "0x742c50fdC9eAfae465CA68781A68b269d1aA9524";
23
+ readonly FACTORY: "0xAd44AcCE0CFc0030cD416180002C4216e3963D3A";
24
+ readonly FORWARDER: "0xbCfA79e1556F898BcFB9fb508DA80691213c666B";
25
25
  readonly USDC: "0xb88339CB7199b77E23DB6E890353E22632Ba630f";
26
26
  };
27
27
  export declare const BPS = 10000n;
@@ -36,7 +36,7 @@ export declare const MAX_UTILIZATION_BPS = 8000n;
36
36
  export declare const MAX_SINGLE_ACCOUNT_BPS = 1000n;
37
37
  export declare const HYPE_FOR_GAS = 1000000000000000n;
38
38
  export declare const USDC_DECIMALS = 6;
39
- export declare const ACCOUNT_VALUE_DECIMALS = 8;
39
+ export declare const SPOT_DECIMALS = 8;
40
40
  export declare const DECIMALS_MULTIPLIER = 100n;
41
41
  export declare const SUBSCRIPTION_PERIOD: number;
42
42
  export declare const BRIDGE_DELAY = 30;
@@ -46,3 +46,4 @@ export declare const TRADING_DAYS_REQUIRED = 7;
46
46
  export declare const PROFITABLE_DAYS_REQUIRED = 3;
47
47
  export declare const MIN_PROFIT_BPS = 50;
48
48
  export declare const MAX_LEVERAGE = 5;
49
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,MAAM,CAAC;AAE5B,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;CAQK,CAAC;AAE3B,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC;AAGX,eAAO,MAAM,GAAG,SAAU,CAAC;AAC3B,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAC3C,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AACzC,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAC5C,eAAO,MAAM,YAAY,oBAAyB,CAAC;AAGnD,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAIxC,eAAO,MAAM,mBAAmB,QAAa,CAAC;AAC9C,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,eAAe,QAAY,CAAC;AACzC,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAGzC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,YAAY,IAAI,CAAC"}
package/dist/constants.js CHANGED
@@ -9,9 +9,9 @@ export const hyperEvm = {
9
9
  },
10
10
  };
11
11
  export const ADDRESSES = {
12
- MAIN_VAULT: "0x3A8cD3feb02959B2AB622Fcebe40A477c73f9488",
13
- FACTORY: "0x04B71DC7414Bfa940D1c11f839011B6a11031D2E",
14
- FORWARDER: "0x5961880B2C461F9733EC71720528461840881f4E",
12
+ MAIN_VAULT: "0x742c50fdC9eAfae465CA68781A68b269d1aA9524",
13
+ FACTORY: "0xAd44AcCE0CFc0030cD416180002C4216e3963D3A",
14
+ FORWARDER: "0xbCfA79e1556F898BcFB9fb508DA80691213c666B",
15
15
  USDC: "0xb88339CB7199b77E23DB6E890353E22632Ba630f",
16
16
  };
17
17
  // BPS
@@ -28,7 +28,7 @@ export const MAX_SINGLE_ACCOUNT_BPS = 1000n;
28
28
  export const HYPE_FOR_GAS = 1000000000000000n; // 0.001 ether
29
29
  // Decimals
30
30
  export const USDC_DECIMALS = 6;
31
- export const ACCOUNT_VALUE_DECIMALS = 8; // spotBalance, spotSend
31
+ export const SPOT_DECIMALS = 8; // spotBalance, spotSend (8dec)
32
32
  export const DECIMALS_MULTIPLIER = 100n; // 6dec→8dec (used for spotSend conversion)
33
33
  // Note: accountValue, HWM, dayStartValue, floors are all 6dec (accountMarginSummary returns 6dec)
34
34
  // Time (seconds)
@@ -41,3 +41,4 @@ export const TRADING_DAYS_REQUIRED = 7;
41
41
  export const PROFITABLE_DAYS_REQUIRED = 3;
42
42
  export const MIN_PROFIT_BPS = 50;
43
43
  export const MAX_LEVERAGE = 5;
44
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAE5B,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,UAAU;IAChB,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,iCAAiC,CAAC,EAAE,EAAE;IACnE,SAAS,EAAE;QACT,UAAU,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE;KACtE;CACuB,CAAC;AAE3B,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU,EAAE,4CAA4C;IACxD,OAAO,EAAE,4CAA4C;IACrD,SAAS,EAAE,4CAA4C;IACvD,IAAI,EAAE,4CAA4C;CAC1C,CAAC;AAEX,MAAM;AACN,MAAM,CAAC,MAAM,GAAG,GAAG,MAAO,CAAC;AAC3B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AACtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AACzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAsB,CAAC,CAAC,cAAc;AAElE,WAAW;AACX,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,+BAA+B;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,2CAA2C;AACpF,kGAAkG;AAElG,iBAAiB;AACjB,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,GAAG,KAAK,CAAC;AAC9C,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAEzC,gBAAgB;AAChB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC"}
package/dist/factory.d.ts CHANGED
@@ -21,3 +21,4 @@ export declare class FactoryModule {
21
21
  vault: Address;
22
22
  }>;
23
23
  }
24
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAIlD,qBAAa,aAAa;IAEtB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;gBADd,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,OAAO;IAGjC,OAAO,CAAC,kBAAkB;YAKZ,eAAe;IAUvB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IASlE,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS7C,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IASlD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAU9C,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAO1D,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IASxE,gBAAgB,CAAC,OAAO,GAAE,MAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IA2E5D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA0B9D,SAAS,IAAI,OAAO,CAAC;QACzB,cAAc,EAAE,OAAO,CAAC;QACxB,KAAK,EAAE,OAAO,CAAC;QACf,YAAY,EAAE,OAAO,CAAC;QACtB,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CAqBH"}
package/dist/factory.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { factoryAbi } from "./abi/factory.js";
2
+ import { assertAllSuccess } from "./utils.js";
2
3
  export class FactoryModule {
3
4
  publicClient;
4
5
  factoryAddress;
@@ -75,13 +76,56 @@ export class FactoryModule {
75
76
  return 0n;
76
77
  let lo = 0n;
77
78
  let hi = 1n;
78
- while (hi < maxScan && await this.accountExistsAt(hi)) {
79
- lo = hi;
80
- hi *= 2n;
79
+ // Exponential doubling with batched multicall probes
80
+ const BATCH_SIZE = 8n;
81
+ while (hi < maxScan) {
82
+ // Build a batch of indices to probe: hi, hi*2, hi*4, ... up to BATCH_SIZE steps
83
+ const probeIndices = [];
84
+ let probe = hi;
85
+ for (let i = 0n; i < BATCH_SIZE && probe < maxScan; i++) {
86
+ probeIndices.push(probe);
87
+ probe *= 2n;
88
+ }
89
+ const contracts = probeIndices.map((idx) => ({
90
+ address: this.factoryAddress,
91
+ abi: factoryAbi,
92
+ functionName: "allAccounts",
93
+ args: [idx],
94
+ }));
95
+ const results = await this.publicClient.multicall({
96
+ contracts,
97
+ allowFailure: true,
98
+ });
99
+ // Find the last successful probe
100
+ let lastSuccessIdx = -1;
101
+ for (let i = 0; i < results.length; i++) {
102
+ if (results[i].status === "success") {
103
+ lastSuccessIdx = i;
104
+ }
105
+ else {
106
+ break;
107
+ }
108
+ }
109
+ if (lastSuccessIdx === -1) {
110
+ // hi itself failed — narrow between lo and hi
111
+ break;
112
+ }
113
+ // All probes succeeded — continue doubling from the last successful probe
114
+ lo = probeIndices[lastSuccessIdx];
115
+ if (lastSuccessIdx + 1 < probeIndices.length) {
116
+ // Next probe failed — narrow between last success and first failure
117
+ hi = probeIndices[lastSuccessIdx + 1];
118
+ break;
119
+ }
120
+ // All probes in batch succeeded — continue with doubled last probe
121
+ hi = lo * 2n;
81
122
  }
82
- if (hi >= maxScan && await this.accountExistsAt(hi)) {
83
- throw new Error(`Factory account count exceeds scan limit ${maxScan}`);
123
+ if (hi >= maxScan) {
124
+ if (await this.accountExistsAt(hi)) {
125
+ throw new Error(`Factory account count exceeds scan limit ${maxScan}`);
126
+ }
84
127
  }
128
+ // Binary search between lo and hi
85
129
  while (lo + 1n < hi) {
86
130
  const mid = (lo + hi) / 2n;
87
131
  if (await this.accountExistsAt(mid)) {
@@ -128,12 +172,14 @@ export class FactoryModule {
128
172
  { ...contract, functionName: "vault" },
129
173
  ],
130
174
  });
175
+ const r = assertAllSuccess(results);
131
176
  return {
132
- implementation: results[0].result,
133
- owner: results[1].result,
134
- pendingOwner: results[2].result,
135
- usdc: results[3].result,
136
- vault: results[4].result,
177
+ implementation: r[0],
178
+ owner: r[1],
179
+ pendingOwner: r[2],
180
+ usdc: r[3],
181
+ vault: r[4],
137
182
  };
138
183
  }
139
184
  }
185
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,3 +9,4 @@ export * from "./utils.js";
9
9
  export { mainVaultAbi } from "./abi/mainVault.js";
10
10
  export { fundedAccountAbi } from "./abi/fundedAccount.js";
11
11
  export { factoryAbi } from "./abi/factory.js";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -12,3 +12,4 @@ export * from "./utils.js";
12
12
  export { mainVaultAbi } from "./abi/mainVault.js";
13
13
  export { fundedAccountAbi } from "./abi/fundedAccount.js";
14
14
  export { factoryAbi } from "./abi/factory.js";
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,UAAU;AACV,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO;AACP,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/indexer.d.ts CHANGED
@@ -8,6 +8,7 @@ export declare class IndexerModule {
8
8
  private subscriptions;
9
9
  private reconnectTimer;
10
10
  private reconnectDelay;
11
+ private cachedProtocol;
11
12
  constructor(graphqlUrl: string, graphqlWsUrl?: string | undefined, transports?: {
12
13
  fetchFn?: typeof fetch;
13
14
  webSocketCtor?: WebSocketConstructor;
@@ -15,11 +16,14 @@ export declare class IndexerModule {
15
16
  private static readonly PAGE_SIZE;
16
17
  private static readonly VAULT_FIELDS;
17
18
  private static readonly ACCOUNT_FIELDS;
19
+ private static readonly BUILDER_FIELDS;
20
+ private static readonly DELEGATE_FIELDS;
18
21
  private static readonly MAIN_VAULT_CONFIG_FIELDS;
19
22
  private static readonly FACTORY_CONFIG_FIELDS;
20
23
  private static readonly CONFIG_CHANGE_FIELDS;
21
24
  private static readonly VAULT_DAY_DATA_FIELDS;
22
25
  private static readonly LP_DAY_DATA_FIELDS;
26
+ private getCachedProtocol;
23
27
  private resolveVaultAddress;
24
28
  private resolveFactoryAddress;
25
29
  private query;
@@ -30,9 +34,9 @@ export declare class IndexerModule {
30
34
  getBuilder(address: string, vaultAddress?: string): Promise<GqlBuilder | null>;
31
35
  getDelegates(builder: string, vaultAddress?: string): Promise<GqlDelegate[]>;
32
36
  getAccount(address: string): Promise<GqlAccount | null>;
33
- getAccountsByOwner(owner: string): Promise<GqlAccount[]>;
34
- getAccountsByBuilder(builder: string, vaultAddress?: string): Promise<GqlAccount[]>;
35
- getAccountsByState(state: IndexerAccountStateLabel): Promise<GqlAccount[]>;
37
+ getAccountsByOwner(owner: string, p?: Pagination): Promise<GqlAccount[]>;
38
+ getAccountsByBuilder(builder: string, vaultAddress?: string, p?: Pagination): Promise<GqlAccount[]>;
39
+ getAccountsByState(state: IndexerAccountStateLabel, p?: Pagination): Promise<GqlAccount[]>;
36
40
  getAccountsByStates(states: IndexerAccountStateLabel[]): Promise<GqlAccount[]>;
37
41
  getAccountsUpdatedSince(since: string): Promise<GqlAccount[]>;
38
42
  getCheckpoints(account: string, p?: Pagination): Promise<GqlCheckpoint[]>;
@@ -53,5 +57,7 @@ export declare class IndexerModule {
53
57
  subscribeAccount(address: string, cb: (account: GqlAccount) => void): Unsubscribe;
54
58
  subscribeAccountEvents(address: string, cb: (events: GqlAccountEvent[]) => void): Unsubscribe;
55
59
  subscribeStateChanges(cb: (accounts: GqlAccount[]) => void): Unsubscribe;
60
+ subscribeAllowedPerps(cb: (perps: GqlAllowedPerp[]) => void): Unsubscribe;
56
61
  disconnect(): void;
57
62
  }
63
+ //# sourceMappingURL=indexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"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"}