@blackcube/xgate-sdk 0.21.0 → 0.21.1
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.
- package/README.md +23 -0
- package/dist/index.cjs +43 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +16 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +43 -2
- package/dist/index.js.map +1 -1
- package/package.json +10 -10
package/dist/index.d.cts
CHANGED
|
@@ -660,6 +660,22 @@ declare class WalletService {
|
|
|
660
660
|
* regarde autrement qu'une panne.
|
|
661
661
|
*/
|
|
662
662
|
balances(...accesses: IWalletAccess[]): Promise<IBalance[]>;
|
|
663
|
+
/**
|
|
664
|
+
* LE COLLATÉRAL PERPÉTUEL, ajouté aux soldes comptant — sans lui, un portefeuille peut paraître VIDE.
|
|
665
|
+
*
|
|
666
|
+
* `getBalances` ne rend que le **comptant**, chez les huit venues : c'est leur convention, et la
|
|
667
|
+
* documentation de chacune le dit. Or l'argent qui sert à trader n'y est pas. Sur un compte
|
|
668
|
+
* pacifica dont tout le solde est en marge, `getBalances` rend `[]` — ce qui se lit « pas
|
|
669
|
+
* d'argent » alors qu'il y a 499 USDC. Sur hyperliquid, le comptant s'affiche mais la marge
|
|
670
|
+
* manque.
|
|
671
|
+
*
|
|
672
|
+
* La ligne est **marquée `scope: 'perp'`** dans `xtras` : elle s'additionne au comptant sans le
|
|
673
|
+
* doubler, et un appelant qui ne veut que l'un des deux peut trancher.
|
|
674
|
+
*
|
|
675
|
+
* Le champ diffère par venue et n'est pas devinable — d'où la lecture explicite, venue par venue,
|
|
676
|
+
* plutôt qu'un parcours à l'aveugle d'un objet `unknown`.
|
|
677
|
+
*/
|
|
678
|
+
private perpCollateral;
|
|
663
679
|
/**
|
|
664
680
|
* Les mouvements d'argent, triés du plus ancien au plus récent, montants **signés**.
|
|
665
681
|
*
|
package/dist/index.d.ts
CHANGED
|
@@ -660,6 +660,22 @@ declare class WalletService {
|
|
|
660
660
|
* regarde autrement qu'une panne.
|
|
661
661
|
*/
|
|
662
662
|
balances(...accesses: IWalletAccess[]): Promise<IBalance[]>;
|
|
663
|
+
/**
|
|
664
|
+
* LE COLLATÉRAL PERPÉTUEL, ajouté aux soldes comptant — sans lui, un portefeuille peut paraître VIDE.
|
|
665
|
+
*
|
|
666
|
+
* `getBalances` ne rend que le **comptant**, chez les huit venues : c'est leur convention, et la
|
|
667
|
+
* documentation de chacune le dit. Or l'argent qui sert à trader n'y est pas. Sur un compte
|
|
668
|
+
* pacifica dont tout le solde est en marge, `getBalances` rend `[]` — ce qui se lit « pas
|
|
669
|
+
* d'argent » alors qu'il y a 499 USDC. Sur hyperliquid, le comptant s'affiche mais la marge
|
|
670
|
+
* manque.
|
|
671
|
+
*
|
|
672
|
+
* La ligne est **marquée `scope: 'perp'`** dans `xtras` : elle s'additionne au comptant sans le
|
|
673
|
+
* doubler, et un appelant qui ne veut que l'un des deux peut trancher.
|
|
674
|
+
*
|
|
675
|
+
* Le champ diffère par venue et n'est pas devinable — d'où la lecture explicite, venue par venue,
|
|
676
|
+
* plutôt qu'un parcours à l'aveugle d'un objet `unknown`.
|
|
677
|
+
*/
|
|
678
|
+
private perpCollateral;
|
|
663
679
|
/**
|
|
664
680
|
* Les mouvements d'argent, triés du plus ancien au plus récent, montants **signés**.
|
|
665
681
|
*
|
package/dist/index.js
CHANGED
|
@@ -1011,8 +1011,9 @@ var WalletService = class {
|
|
|
1011
1011
|
*/
|
|
1012
1012
|
async balances(...accesses) {
|
|
1013
1013
|
return this.collect(accesses, "balances", async (access) => {
|
|
1014
|
-
const
|
|
1015
|
-
|
|
1014
|
+
const source = createAccountXex(access.xex, access);
|
|
1015
|
+
const balances = await source.account().getBalances();
|
|
1016
|
+
const lignes = balances.map((balance) => ({
|
|
1016
1017
|
xex: access.xex,
|
|
1017
1018
|
asset: balance.asset,
|
|
1018
1019
|
total: balance.total,
|
|
@@ -1020,8 +1021,48 @@ var WalletService = class {
|
|
|
1020
1021
|
usdValue: balance.usdValue,
|
|
1021
1022
|
xtras: balance.xtras
|
|
1022
1023
|
}));
|
|
1024
|
+
const collateral = await this.perpCollateral(source, access.xex);
|
|
1025
|
+
return collateral === null ? lignes : [...lignes, collateral];
|
|
1023
1026
|
});
|
|
1024
1027
|
}
|
|
1028
|
+
/**
|
|
1029
|
+
* LE COLLATÉRAL PERPÉTUEL, ajouté aux soldes comptant — sans lui, un portefeuille peut paraître VIDE.
|
|
1030
|
+
*
|
|
1031
|
+
* `getBalances` ne rend que le **comptant**, chez les huit venues : c'est leur convention, et la
|
|
1032
|
+
* documentation de chacune le dit. Or l'argent qui sert à trader n'y est pas. Sur un compte
|
|
1033
|
+
* pacifica dont tout le solde est en marge, `getBalances` rend `[]` — ce qui se lit « pas
|
|
1034
|
+
* d'argent » alors qu'il y a 499 USDC. Sur hyperliquid, le comptant s'affiche mais la marge
|
|
1035
|
+
* manque.
|
|
1036
|
+
*
|
|
1037
|
+
* La ligne est **marquée `scope: 'perp'`** dans `xtras` : elle s'additionne au comptant sans le
|
|
1038
|
+
* doubler, et un appelant qui ne veut que l'un des deux peut trancher.
|
|
1039
|
+
*
|
|
1040
|
+
* Le champ diffère par venue et n'est pas devinable — d'où la lecture explicite, venue par venue,
|
|
1041
|
+
* plutôt qu'un parcours à l'aveugle d'un objet `unknown`.
|
|
1042
|
+
*/
|
|
1043
|
+
async perpCollateral(source, xex) {
|
|
1044
|
+
const facade = source;
|
|
1045
|
+
if (typeof facade.perp !== "function") {
|
|
1046
|
+
return null;
|
|
1047
|
+
}
|
|
1048
|
+
const scope = facade.perp();
|
|
1049
|
+
if (typeof scope.getAccountInfo !== "function") {
|
|
1050
|
+
return null;
|
|
1051
|
+
}
|
|
1052
|
+
const info = await scope.getAccountInfo();
|
|
1053
|
+
const total = info.balance ?? info.marginSummary?.accountValue;
|
|
1054
|
+
if (total === void 0 || Number(total) === 0) {
|
|
1055
|
+
return null;
|
|
1056
|
+
}
|
|
1057
|
+
return {
|
|
1058
|
+
xex,
|
|
1059
|
+
asset: "USDC",
|
|
1060
|
+
total,
|
|
1061
|
+
available: info.availableToSpend ?? info.withdrawable ?? null,
|
|
1062
|
+
usdValue: total,
|
|
1063
|
+
xtras: { scope: "perp" }
|
|
1064
|
+
};
|
|
1065
|
+
}
|
|
1025
1066
|
/**
|
|
1026
1067
|
* Les mouvements d'argent, triés du plus ancien au plus récent, montants **signés**.
|
|
1027
1068
|
*
|