@t2000/sdk 0.18.4 → 0.18.5
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/dist/adapters/index.cjs +10 -2
- package/dist/adapters/index.cjs.map +1 -1
- package/dist/adapters/index.js +10 -2
- package/dist/adapters/index.js.map +1 -1
- package/dist/index.cjs +19 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +19 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1131,11 +1131,19 @@ async function getRates(client) {
|
|
|
1131
1131
|
}
|
|
1132
1132
|
async function getPositions(client, addressOrKeypair) {
|
|
1133
1133
|
const address = typeof addressOrKeypair === "string" ? addressOrKeypair : addressOrKeypair.getPublicKey().toSuiAddress();
|
|
1134
|
-
const [states,
|
|
1134
|
+
const [states, cachedPools] = await Promise.all([getUserState(client, address), getPools()]);
|
|
1135
|
+
let pools = cachedPools;
|
|
1136
|
+
const unmatchedIds = states.filter((s) => !pools.find((p) => p.id === s.assetId)).map((s) => s.assetId);
|
|
1137
|
+
if (unmatchedIds.length > 0) {
|
|
1138
|
+
pools = await getPools(true);
|
|
1139
|
+
}
|
|
1135
1140
|
const positions = [];
|
|
1136
1141
|
for (const state of states) {
|
|
1137
1142
|
const pool = pools.find((p) => p.id === state.assetId);
|
|
1138
|
-
if (!pool)
|
|
1143
|
+
if (!pool) {
|
|
1144
|
+
console.warn(`[NAVI] No pool found for assetId=${state.assetId} (supply=${state.supplyBalance}, borrow=${state.borrowBalance}) \u2014 funds may be invisible`);
|
|
1145
|
+
continue;
|
|
1146
|
+
}
|
|
1139
1147
|
const symbol = resolvePoolSymbol(pool);
|
|
1140
1148
|
const supplyBal = compoundBalance(state.supplyBalance, pool.currentSupplyIndex, pool);
|
|
1141
1149
|
const borrowBal = compoundBalance(state.borrowBalance, pool.currentBorrowIndex, pool);
|
|
@@ -3853,7 +3861,7 @@ To access invested funds: t2000 invest sell ${params.amount} ${asset}`,
|
|
|
3853
3861
|
);
|
|
3854
3862
|
try {
|
|
3855
3863
|
const positions = await this.positions();
|
|
3856
|
-
const savings = positions.positions.filter((p) => p.type === "save").filter((p) => !earningAssets.has(p.asset)).
|
|
3864
|
+
const savings = positions.positions.filter((p) => p.type === "save").filter((p) => !earningAssets.has(p.asset)).reduce((sum, p) => sum + p.amount, 0);
|
|
3857
3865
|
const debt = positions.positions.filter((p) => p.type === "borrow").reduce((sum, p) => sum + p.amount, 0);
|
|
3858
3866
|
bal.savings = savings;
|
|
3859
3867
|
bal.debt = debt;
|
|
@@ -3873,6 +3881,9 @@ To access invested funds: t2000 invest sell ${params.amount} ${asset}`,
|
|
|
3873
3881
|
if (sp.asset in INVESTMENT_ASSETS) investedAssets.add(sp.asset);
|
|
3874
3882
|
}
|
|
3875
3883
|
}
|
|
3884
|
+
for (const asset of Object.keys(INVESTMENT_ASSETS)) {
|
|
3885
|
+
if ((bal.assets[asset] ?? 0) > 0) investedAssets.add(asset);
|
|
3886
|
+
}
|
|
3876
3887
|
for (const asset of investedAssets) {
|
|
3877
3888
|
if (asset === "SUI" || asset in assetPrices) continue;
|
|
3878
3889
|
try {
|
|
@@ -4074,11 +4085,14 @@ To access invested funds: t2000 invest sell ${params.amount} ${asset}`,
|
|
|
4074
4085
|
return this.withdrawAllProtocols();
|
|
4075
4086
|
}
|
|
4076
4087
|
const allPositions = await this.registry.allPositions(this._address);
|
|
4088
|
+
const earningAssets = new Set(
|
|
4089
|
+
this.portfolio.getPositions().filter((p) => p.earning).map((p) => p.asset)
|
|
4090
|
+
);
|
|
4077
4091
|
const supplies = [];
|
|
4078
4092
|
for (const pos of allPositions) {
|
|
4079
4093
|
if (params.protocol && pos.protocolId !== params.protocol) continue;
|
|
4080
4094
|
for (const s of pos.positions.supplies) {
|
|
4081
|
-
if (s.amount > 1e-3 && !(s.asset
|
|
4095
|
+
if (s.amount > 1e-3 && !earningAssets.has(s.asset)) {
|
|
4082
4096
|
supplies.push({ protocolId: pos.protocolId, asset: s.asset, amount: s.amount, apy: s.apy });
|
|
4083
4097
|
}
|
|
4084
4098
|
}
|
|
@@ -4162,7 +4176,7 @@ To access invested funds: t2000 invest sell ${params.amount} ${asset}`,
|
|
|
4162
4176
|
const withdrawable = [];
|
|
4163
4177
|
for (const pos of allPositions) {
|
|
4164
4178
|
for (const supply of pos.positions.supplies) {
|
|
4165
|
-
if (supply.amount > 0.01 && !earningAssets.has(supply.asset)
|
|
4179
|
+
if (supply.amount > 0.01 && !earningAssets.has(supply.asset)) {
|
|
4166
4180
|
withdrawable.push({ protocolId: pos.protocolId, asset: supply.asset, amount: supply.amount });
|
|
4167
4181
|
}
|
|
4168
4182
|
}
|