@alphafi/alphafi-sdk 0.0.37 → 0.0.39
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 +115 -12
- package/dist/cjs/adminFunctions.d.ts +6 -0
- package/dist/cjs/adminFunctions.d.ts.map +1 -0
- package/dist/cjs/adminFunctions.js +52 -0
- package/dist/cjs/adminFunctions.js.map +1 -0
- package/dist/cjs/common/coins.d.ts.map +1 -1
- package/dist/cjs/common/coins.js +1 -2
- package/dist/cjs/common/coins.js.map +1 -1
- package/dist/cjs/common/constants.d.ts +138 -0
- package/dist/cjs/common/constants.d.ts.map +1 -1
- package/dist/cjs/common/constants.js +106 -9
- package/dist/cjs/common/constants.js.map +1 -1
- package/dist/cjs/common/maps.d.ts +3 -1
- package/dist/cjs/common/maps.d.ts.map +1 -1
- package/dist/cjs/common/maps.js +233 -1
- package/dist/cjs/common/maps.js.map +1 -1
- package/dist/cjs/common/types.d.ts +112 -3
- package/dist/cjs/common/types.d.ts.map +1 -1
- package/dist/cjs/common/types.js.map +1 -1
- package/dist/cjs/getTVL.d.ts +5 -0
- package/dist/cjs/getTVL.d.ts.map +1 -0
- package/dist/cjs/getTVL.js +109 -0
- package/dist/cjs/getTVL.js.map +1 -0
- package/dist/cjs/graphql/getMultiReceipts.d.ts.map +1 -1
- package/dist/cjs/graphql/getMultiReceipts.js +16 -57
- package/dist/cjs/graphql/getMultiReceipts.js.map +1 -1
- package/dist/cjs/index.d.ts +12 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +22 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.d.ts +3 -0
- package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.js +44 -0
- package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.js.map +1 -0
- package/dist/cjs/sui-sdk/events/fetchEvents.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchEvents.js +41 -0
- package/dist/cjs/sui-sdk/events/fetchEvents.js.map +1 -1
- package/dist/cjs/sui-sdk/events/types.d.ts +9 -1
- package/dist/cjs/sui-sdk/events/types.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/events/types.js.map +1 -1
- package/dist/cjs/sui-sdk/functions/fetchUserVaults.js.map +1 -1
- package/dist/cjs/sui-sdk/functions/getReceipts.d.ts +8 -6
- package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/functions/getReceipts.js +75 -30
- package/dist/cjs/sui-sdk/functions/getReceipts.js.map +1 -1
- package/dist/cjs/transactions/alpha.d.ts +2 -2
- package/dist/cjs/transactions/alpha.d.ts.map +1 -1
- package/dist/cjs/transactions/alpha.js +2 -2
- package/dist/cjs/transactions/alpha.js.map +1 -1
- package/dist/cjs/transactions/bluefin.d.ts +8 -2
- package/dist/cjs/transactions/bluefin.d.ts.map +1 -1
- package/dist/cjs/transactions/bluefin.js +355 -7
- package/dist/cjs/transactions/bluefin.js.map +1 -1
- package/dist/cjs/transactions/bucket.d.ts +2 -2
- package/dist/cjs/transactions/bucket.js +2 -2
- package/dist/cjs/transactions/bucket.js.map +1 -1
- package/dist/cjs/transactions/cetus.d.ts +4 -4
- package/dist/cjs/transactions/cetus.d.ts.map +1 -1
- package/dist/cjs/transactions/cetus.js +27 -29
- package/dist/cjs/transactions/cetus.js.map +1 -1
- package/dist/cjs/transactions/collect_rewards.d.ts.map +1 -1
- package/dist/cjs/transactions/collect_rewards.js +23 -2
- package/dist/cjs/transactions/collect_rewards.js.map +1 -1
- package/dist/cjs/transactions/deposit.d.ts +2 -2
- package/dist/cjs/transactions/deposit.d.ts.map +1 -1
- package/dist/cjs/transactions/deposit.js +19 -9
- package/dist/cjs/transactions/deposit.js.map +1 -1
- package/dist/cjs/transactions/navi-looping.d.ts +33 -0
- package/dist/cjs/transactions/navi-looping.d.ts.map +1 -0
- package/dist/cjs/transactions/navi-looping.js +597 -0
- package/dist/cjs/transactions/navi-looping.js.map +1 -0
- package/dist/cjs/transactions/navi.d.ts +2 -2
- package/dist/cjs/transactions/navi.d.ts.map +1 -1
- package/dist/cjs/transactions/navi.js +137 -9
- package/dist/cjs/transactions/navi.js.map +1 -1
- package/dist/cjs/transactions/withdraw.d.ts +3 -2
- package/dist/cjs/transactions/withdraw.d.ts.map +1 -1
- package/dist/cjs/transactions/withdraw.js +39 -15
- package/dist/cjs/transactions/withdraw.js.map +1 -1
- package/dist/esm/adminFunctions.d.ts +6 -0
- package/dist/esm/adminFunctions.d.ts.map +1 -0
- package/dist/esm/adminFunctions.js +45 -0
- package/dist/esm/adminFunctions.js.map +1 -0
- package/dist/esm/common/coins.d.ts.map +1 -1
- package/dist/esm/common/coins.js +1 -2
- package/dist/esm/common/coins.js.map +1 -1
- package/dist/esm/common/constants.d.ts +138 -0
- package/dist/esm/common/constants.d.ts.map +1 -1
- package/dist/esm/common/constants.js +106 -9
- package/dist/esm/common/constants.js.map +1 -1
- package/dist/esm/common/maps.d.ts +3 -1
- package/dist/esm/common/maps.d.ts.map +1 -1
- package/dist/esm/common/maps.js +233 -1
- package/dist/esm/common/maps.js.map +1 -1
- package/dist/esm/common/types.d.ts +112 -3
- package/dist/esm/common/types.d.ts.map +1 -1
- package/dist/esm/common/types.js.map +1 -1
- package/dist/esm/getTVL.d.ts +5 -0
- package/dist/esm/getTVL.d.ts.map +1 -0
- package/dist/esm/getTVL.js +103 -0
- package/dist/esm/getTVL.js.map +1 -0
- package/dist/esm/graphql/getMultiReceipts.d.ts.map +1 -1
- package/dist/esm/graphql/getMultiReceipts.js +16 -57
- package/dist/esm/graphql/getMultiReceipts.js.map +1 -1
- package/dist/esm/index.d.ts +12 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +14 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.d.ts +3 -0
- package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.d.ts.map +1 -0
- package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.js +41 -0
- package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.js.map +1 -0
- package/dist/esm/sui-sdk/events/fetchEvents.d.ts.map +1 -1
- package/dist/esm/sui-sdk/events/fetchEvents.js +41 -0
- package/dist/esm/sui-sdk/events/fetchEvents.js.map +1 -1
- package/dist/esm/sui-sdk/events/types.d.ts +9 -1
- package/dist/esm/sui-sdk/events/types.d.ts.map +1 -1
- package/dist/esm/sui-sdk/events/types.js.map +1 -1
- package/dist/esm/sui-sdk/functions/fetchUserVaults.js.map +1 -1
- package/dist/esm/sui-sdk/functions/getReceipts.d.ts +8 -6
- package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +1 -1
- package/dist/esm/sui-sdk/functions/getReceipts.js +75 -31
- package/dist/esm/sui-sdk/functions/getReceipts.js.map +1 -1
- package/dist/esm/transactions/alpha.d.ts +2 -2
- package/dist/esm/transactions/alpha.d.ts.map +1 -1
- package/dist/esm/transactions/alpha.js +2 -2
- package/dist/esm/transactions/alpha.js.map +1 -1
- package/dist/esm/transactions/bluefin.d.ts +8 -2
- package/dist/esm/transactions/bluefin.d.ts.map +1 -1
- package/dist/esm/transactions/bluefin.js +352 -6
- package/dist/esm/transactions/bluefin.js.map +1 -1
- package/dist/esm/transactions/bucket.d.ts +2 -2
- package/dist/esm/transactions/bucket.js +2 -2
- package/dist/esm/transactions/bucket.js.map +1 -1
- package/dist/esm/transactions/cetus.d.ts +4 -4
- package/dist/esm/transactions/cetus.d.ts.map +1 -1
- package/dist/esm/transactions/cetus.js +27 -29
- package/dist/esm/transactions/cetus.js.map +1 -1
- package/dist/esm/transactions/collect_rewards.d.ts.map +1 -1
- package/dist/esm/transactions/collect_rewards.js +23 -2
- package/dist/esm/transactions/collect_rewards.js.map +1 -1
- package/dist/esm/transactions/deposit.d.ts +2 -2
- package/dist/esm/transactions/deposit.d.ts.map +1 -1
- package/dist/esm/transactions/deposit.js +18 -8
- package/dist/esm/transactions/deposit.js.map +1 -1
- package/dist/esm/transactions/navi-looping.d.ts +33 -0
- package/dist/esm/transactions/navi-looping.d.ts.map +1 -0
- package/dist/esm/transactions/navi-looping.js +585 -0
- package/dist/esm/transactions/navi-looping.js.map +1 -0
- package/dist/esm/transactions/navi.d.ts +2 -2
- package/dist/esm/transactions/navi.d.ts.map +1 -1
- package/dist/esm/transactions/navi.js +137 -9
- package/dist/esm/transactions/navi.js.map +1 -1
- package/dist/esm/transactions/withdraw.d.ts +3 -2
- package/dist/esm/transactions/withdraw.d.ts.map +1 -1
- package/dist/esm/transactions/withdraw.js +39 -17
- package/dist/esm/transactions/withdraw.js.map +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { poolInfo } from "../../common/maps.js";
|
|
2
|
+
import { fetchEvents } from "./fetchEvents.js";
|
|
3
|
+
export async function fetchCheckRatioEvents(params) {
|
|
4
|
+
const eventTypesSet = new Set();
|
|
5
|
+
if (params.poolNames) {
|
|
6
|
+
params.poolNames.forEach((poolName) => {
|
|
7
|
+
if (poolInfo[poolName].strategyType !== "LOOPING") {
|
|
8
|
+
console.error("Check Ratio event only applicable in looping pools");
|
|
9
|
+
throw new Error("Inavlid Params");
|
|
10
|
+
}
|
|
11
|
+
const eventType = poolInfo[poolName].checkRatioEventType;
|
|
12
|
+
if (eventType !== undefined && eventType !== null && eventType !== "") {
|
|
13
|
+
eventTypesSet.add(eventType);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
// Iterate over all the values in poolInfo and add each autoCompoundingEventType to the Set
|
|
19
|
+
Object.values(poolInfo).forEach((info) => {
|
|
20
|
+
const eventType = info.checkRatioEventType;
|
|
21
|
+
if (eventType !== undefined && eventType !== null && eventType !== "") {
|
|
22
|
+
eventTypesSet.add(eventType);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
const eventTypes = Array.from(eventTypesSet);
|
|
27
|
+
const eventsPromises = eventTypes.map(async (eventType) => {
|
|
28
|
+
const events = await fetchEvents({
|
|
29
|
+
startTime: params.startTime,
|
|
30
|
+
endTime: params.endTime,
|
|
31
|
+
eventTypes: [eventType],
|
|
32
|
+
});
|
|
33
|
+
return events;
|
|
34
|
+
});
|
|
35
|
+
const events = (await Promise.all(eventsPromises)).flat();
|
|
36
|
+
const checkRatioEvents = events.map((e) => {
|
|
37
|
+
return e;
|
|
38
|
+
});
|
|
39
|
+
return checkRatioEvents;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=fetchCheckRatioEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchCheckRatioEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchCheckRatioEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAmC;IAEnC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAClD,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC;YACzD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;gBACtE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,2FAA2F;QAC3F,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAC3C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;gBACtE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE7C,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,OAAO,CAAwB,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AAC1B,CAAC","sourcesContent":["import { poolInfo } from \"../../common/maps.js\";\nimport { fetchEvents } from \"./fetchEvents.js\";\nimport { CheckRatioEventNode, FetchCheckRatioEventsParams } from \"./types.js\";\n\nexport async function fetchCheckRatioEvents(\n params: FetchCheckRatioEventsParams,\n): Promise<CheckRatioEventNode[]> {\n const eventTypesSet = new Set<string>();\n if (params.poolNames) {\n params.poolNames.forEach((poolName) => {\n if (poolInfo[poolName].strategyType !== \"LOOPING\") {\n console.error(\"Check Ratio event only applicable in looping pools\");\n throw new Error(\"Inavlid Params\");\n }\n const eventType = poolInfo[poolName].checkRatioEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n } else {\n // Iterate over all the values in poolInfo and add each autoCompoundingEventType to the Set\n Object.values(poolInfo).forEach((info) => {\n const eventType = info.checkRatioEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n }\n const eventTypes = Array.from(eventTypesSet);\n\n const eventsPromises = eventTypes.map(async (eventType) => {\n const events = await fetchEvents({\n startTime: params.startTime,\n endTime: params.endTime,\n eventTypes: [eventType],\n });\n return events;\n });\n const events = (await Promise.all(eventsPromises)).flat();\n const checkRatioEvents = events.map((e) => {\n return e as CheckRatioEventNode;\n });\n\n return checkRatioEvents;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,SAAS,EACT,iBAAiB,
|
|
1
|
+
{"version":3,"file":"fetchEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,SAAS,EACT,iBAAiB,EASlB,MAAM,YAAY,CAAC;AAIpB,wBAAsB,WAAW,CAC/B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,SAAS,EAAE,CAAC,CAkUtB"}
|
|
@@ -57,6 +57,9 @@ export async function fetchEvents(params) {
|
|
|
57
57
|
investor_id: suiEventJson.investor_id,
|
|
58
58
|
total_amount_a: BigInt(suiEventJson.total_amount_a.toString()),
|
|
59
59
|
total_amount_b: BigInt(suiEventJson.total_amount_b.toString()),
|
|
60
|
+
txDigest: suiEvent.id.txDigest,
|
|
61
|
+
eventSeq: Number(suiEvent.id.eventSeq),
|
|
62
|
+
transactionModule: suiEvent.transactionModule,
|
|
60
63
|
};
|
|
61
64
|
// if (
|
|
62
65
|
// eventNode.investor_id ===
|
|
@@ -80,6 +83,9 @@ export async function fetchEvents(params) {
|
|
|
80
83
|
investor_id: suiEventJson.investor_id,
|
|
81
84
|
location: suiEventJson.location,
|
|
82
85
|
total_amount: BigInt(suiEventJson.total_amount.toString()),
|
|
86
|
+
txDigest: suiEvent.id.txDigest,
|
|
87
|
+
eventSeq: Number(suiEvent.id.eventSeq),
|
|
88
|
+
transactionModule: suiEvent.transactionModule,
|
|
83
89
|
};
|
|
84
90
|
if ("cur_total_debt" in suiEventJson &&
|
|
85
91
|
"accrued_interest" in suiEventJson) {
|
|
@@ -98,6 +104,9 @@ export async function fetchEvents(params) {
|
|
|
98
104
|
timestamp: Number(suiEvent.timestampMs),
|
|
99
105
|
amount: suiEventJson.amount,
|
|
100
106
|
investor_id: conf[CONF_ENV].ALPHA_POOL,
|
|
107
|
+
txDigest: suiEvent.id.txDigest,
|
|
108
|
+
eventSeq: Number(suiEvent.id.eventSeq),
|
|
109
|
+
transactionModule: suiEvent.transactionModule,
|
|
101
110
|
};
|
|
102
111
|
}
|
|
103
112
|
else if (isRebalanceEvent(suiEvent.type) &&
|
|
@@ -114,6 +123,9 @@ export async function fetchEvents(params) {
|
|
|
114
123
|
amount_b_before: suiEventJson.amount_b_before.toString(),
|
|
115
124
|
amount_a_after: suiEventJson.amount_a_after.toString(),
|
|
116
125
|
amount_b_after: suiEventJson.amount_b_after.toString(),
|
|
126
|
+
txDigest: suiEvent.id.txDigest,
|
|
127
|
+
eventSeq: Number(suiEvent.id.eventSeq),
|
|
128
|
+
transactionModule: suiEvent.transactionModule,
|
|
117
129
|
};
|
|
118
130
|
}
|
|
119
131
|
else if (isLiquidityChangeEvent(suiEvent.type) &&
|
|
@@ -134,6 +146,9 @@ export async function fetchEvents(params) {
|
|
|
134
146
|
total_amount_b: suiEventJson.total_amount_b,
|
|
135
147
|
user_total_x_token_balance: suiEventJson.user_total_x_token_balance,
|
|
136
148
|
x_token_supply: suiEventJson.x_token_supply,
|
|
149
|
+
txDigest: suiEvent.id.txDigest,
|
|
150
|
+
eventSeq: Number(suiEvent.id.eventSeq),
|
|
151
|
+
transactionModule: suiEvent.transactionModule,
|
|
137
152
|
};
|
|
138
153
|
}
|
|
139
154
|
else if (isLiquidityChangeEvent(suiEvent.type) &&
|
|
@@ -153,6 +168,9 @@ export async function fetchEvents(params) {
|
|
|
153
168
|
tokens_invested: suiEventJson.tokens_invested,
|
|
154
169
|
user_total_x_token_balance: suiEventJson.user_total_x_token_balance,
|
|
155
170
|
x_token_supply: suiEventJson.x_token_supply,
|
|
171
|
+
txDigest: suiEvent.id.txDigest,
|
|
172
|
+
eventSeq: Number(suiEvent.id.eventSeq),
|
|
173
|
+
transactionModule: suiEvent.transactionModule,
|
|
156
174
|
};
|
|
157
175
|
}
|
|
158
176
|
else if (isWithdrawV2Event(suiEvent.type) &&
|
|
@@ -171,6 +189,9 @@ export async function fetchEvents(params) {
|
|
|
171
189
|
tokens_invested: suiEventJson.tokens_invested,
|
|
172
190
|
user_total_x_token_balance: suiEventJson.user_total_x_token_balance,
|
|
173
191
|
x_token_supply: suiEventJson.x_token_supply,
|
|
192
|
+
txDigest: suiEvent.id.txDigest,
|
|
193
|
+
eventSeq: Number(suiEvent.id.eventSeq),
|
|
194
|
+
transactionModule: suiEvent.transactionModule,
|
|
174
195
|
};
|
|
175
196
|
}
|
|
176
197
|
else if (isAfterTransactionEvent(suiEvent.type) &&
|
|
@@ -190,6 +211,9 @@ export async function fetchEvents(params) {
|
|
|
190
211
|
},
|
|
191
212
|
tokensInvested: suiEventJson.tokensInvested,
|
|
192
213
|
xTokenSupply: suiEventJson.xTokenSupply,
|
|
214
|
+
txDigest: suiEvent.id.txDigest,
|
|
215
|
+
eventSeq: Number(suiEvent.id.eventSeq),
|
|
216
|
+
transactionModule: suiEvent.transactionModule,
|
|
193
217
|
};
|
|
194
218
|
}
|
|
195
219
|
else if (isAfterTransactionEvent(suiEvent.type) &&
|
|
@@ -207,6 +231,9 @@ export async function fetchEvents(params) {
|
|
|
207
231
|
tokensInvested: suiEventJson.tokensInvested,
|
|
208
232
|
xtokenSupply: suiEventJson.xtokenSupply,
|
|
209
233
|
liquidity: suiEventJson.liquidity,
|
|
234
|
+
txDigest: suiEvent.id.txDigest,
|
|
235
|
+
eventSeq: Number(suiEvent.id.eventSeq),
|
|
236
|
+
transactionModule: suiEvent.transactionModule,
|
|
210
237
|
};
|
|
211
238
|
}
|
|
212
239
|
else if (isAfterTransactionEvent(suiEvent.type) &&
|
|
@@ -223,6 +250,20 @@ export async function fetchEvents(params) {
|
|
|
223
250
|
tokensInvested: suiEventJson.tokensInvested,
|
|
224
251
|
xtokenSupply: suiEventJson.xtokenSupply,
|
|
225
252
|
amount: suiEventJson.amount,
|
|
253
|
+
txDigest: suiEvent.id.txDigest,
|
|
254
|
+
eventSeq: Number(suiEvent.id.eventSeq),
|
|
255
|
+
transactionModule: suiEvent.transactionModule,
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
else if ("ratio" in suiEventJson) {
|
|
259
|
+
// Check Ratio - looping pools
|
|
260
|
+
eventNode = {
|
|
261
|
+
type: suiEvent.type,
|
|
262
|
+
timestamp: Number(suiEvent.timestampMs),
|
|
263
|
+
ratio: suiEventJson.ratio,
|
|
264
|
+
txDigest: suiEvent.id.txDigest,
|
|
265
|
+
eventSeq: Number(suiEvent.id.eventSeq),
|
|
266
|
+
transactionModule: suiEvent.transactionModule,
|
|
226
267
|
};
|
|
227
268
|
}
|
|
228
269
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { getSuiClient } from \"../client.js\";\nimport { EventId, PaginatedEvents } from \"@mysten/sui/client\";\nimport {\n AlphaLiquidityChangeEvent,\n AlphaAutoCompoundingEvent,\n CetusAutoCompoundingEvent,\n CetusLiquidityChangeEvent,\n EventNode,\n FetchEventsParams,\n LiquidityChangeEventNode,\n NaviAutoCompoundingEvent,\n NaviLoopAutoCompoundingEvent,\n NaviLiquidityChangeEvent,\n RebalanceEvent,\n AutoCompoundingEventNode,\n AlphaWithdrawV2Event,\n WithdrawV2EventNode,\n AfterTransactionEventNode,\n} from \"./types.js\";\nimport { poolInfo } from \"../../common/maps.js\";\nimport { conf, CONF_ENV } from \"../../common/constants.js\";\n\nexport async function fetchEvents(\n params: FetchEventsParams,\n): Promise<EventNode[]> {\n const allEvents: EventNode[] = [];\n let hasNextPage = true;\n let startCursor: EventId | null | undefined = null;\n\n if (params.eventTypes.length > 1) {\n console.warn(\n \"Multiple eventTypes not supported right now, pass only one element in the array.\",\n );\n }\n\n if (params.eventTypes.length < 1) {\n hasNextPage = false;\n }\n\n const now = Date.now();\n const twentyFourHoursAgo = now - 24 * 60 * 60 * 1000; // timestamp for 24 hours ago\n const startTime = params.startTime ? params.startTime : twentyFourHoursAgo;\n const endTime = params.endTime ? params.endTime : now;\n\n if (startTime >= endTime) {\n throw new Error(\"startTime must be less than endTime\");\n }\n\n const suiClient = getSuiClient();\n //const prevTS = 0;\n\n while (hasNextPage) {\n const result: PaginatedEvents = await suiClient.queryEvents({\n cursor: startCursor,\n order: \"descending\",\n query: {\n MoveEventType: params.eventTypes[0],\n },\n });\n\n const se = result.data;\n for (let i = 0; i < se.length; i++) {\n const suiEvent = se[i];\n\n if (Number(suiEvent.timestampMs) > endTime) {\n continue;\n }\n\n if (Number(suiEvent.timestampMs) < startTime) {\n hasNextPage = false; // Stop further pagination\n break; // Exit the loop\n }\n\n const suiEventJson = suiEvent.parsedJson as\n | CetusAutoCompoundingEvent\n | NaviAutoCompoundingEvent\n | NaviLoopAutoCompoundingEvent\n | RebalanceEvent\n | CetusLiquidityChangeEvent\n | AlphaLiquidityChangeEvent\n | NaviLiquidityChangeEvent\n | AlphaAutoCompoundingEvent\n | AlphaWithdrawV2Event\n | AfterTransactionEventNode;\n\n let eventNode: EventNode;\n\n if (\n isAutoCompoundingEvent(suiEvent.type) &&\n \"compound_amount_a\" in suiEventJson &&\n \"compound_amount_b\" in suiEventJson\n ) {\n // Handling CetusAutoCompoundingEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n compound_amount_a: BigInt(suiEventJson.compound_amount_a.toString()),\n compound_amount_b: BigInt(suiEventJson.compound_amount_b.toString()),\n current_liquidity: BigInt(suiEventJson.current_liquidity.toString()),\n fee_collected_a: BigInt(suiEventJson.fee_collected_a.toString()),\n fee_collected_b: BigInt(suiEventJson.fee_collected_b.toString()),\n free_balance_a: BigInt(suiEventJson.free_balance_a.toString()),\n free_balance_b: BigInt(suiEventJson.free_balance_b.toString()),\n investor_id: suiEventJson.investor_id,\n total_amount_a: BigInt(suiEventJson.total_amount_a.toString()),\n total_amount_b: BigInt(suiEventJson.total_amount_b.toString()),\n };\n\n // if (\n // eventNode.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // eventNode.timestamp,\n // (prevTS - eventNode.timestamp) / (1000 * 60),\n // );\n // prevTS = eventNode.timestamp;\n // }\n } else if (\n isAutoCompoundingEvent(suiEvent.type) &&\n \"compound_amount\" in suiEventJson\n ) {\n // Handling NaviAutoCompoundingEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n compound_amount: BigInt(suiEventJson.compound_amount.toString()),\n fee_collected: BigInt(suiEventJson.fee_collected.toString()),\n investor_id: suiEventJson.investor_id,\n location: suiEventJson.location,\n total_amount: BigInt(suiEventJson.total_amount.toString()),\n };\n if (\n \"cur_total_debt\" in suiEventJson &&\n \"accrued_interest\" in suiEventJson\n ) {\n const loopEvent: AutoCompoundingEventNode = {\n ...eventNode,\n cur_total_debt: BigInt(suiEventJson.cur_total_debt.toString()),\n accrued_interest: BigInt(suiEventJson.accrued_interest.toString()),\n };\n eventNode = loopEvent;\n }\n } else if (\n isAutoCompoundingEvent(suiEvent.type) &&\n \"amount\" in suiEventJson\n ) {\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount: suiEventJson.amount,\n investor_id: conf[CONF_ENV].ALPHA_POOL,\n };\n } else if (\n isRebalanceEvent(suiEvent.type) &&\n \"lower_tick_after\" in suiEventJson\n ) {\n // Handling RebalanceEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n investor_id: suiEventJson.investor_id.toString(),\n lower_tick_after: suiEventJson.lower_tick_after.toString(),\n upper_tick_after: suiEventJson.upper_tick_after.toString(),\n sqrt_price_after: suiEventJson.sqrt_price_after.toString(),\n amount_a_before: suiEventJson.amount_a_before.toString(),\n amount_b_before: suiEventJson.amount_b_before.toString(),\n amount_a_after: suiEventJson.amount_a_after.toString(),\n amount_b_after: suiEventJson.amount_b_after.toString(),\n };\n } else if (\n isLiquidityChangeEvent(suiEvent.type) &&\n \"amount_a\" in suiEventJson\n ) {\n // Handling CetusLiquidityChangeEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount_a: suiEventJson.amount_a,\n amount_b: suiEventJson.amount_b,\n event_type: suiEventJson.event_type,\n fee_collected_a: suiEventJson.fee_collected_a,\n fee_collected_b: suiEventJson.fee_collected_b,\n pool_id: suiEventJson.pool_id,\n sender: suiEventJson.sender,\n tokens_invested: suiEventJson.tokens_invested,\n total_amount_a: suiEventJson.total_amount_a,\n total_amount_b: suiEventJson.total_amount_b,\n user_total_x_token_balance: suiEventJson.user_total_x_token_balance,\n x_token_supply: suiEventJson.x_token_supply,\n } as LiquidityChangeEventNode;\n } else if (\n isLiquidityChangeEvent(suiEvent.type) &&\n \"amount\" in suiEventJson &&\n !(\"investor_id\" in suiEventJson) &&\n !(\"amount_withdrawn_from_locked\" in suiEventJson) &&\n !(\"xtokenSupply\" in suiEventJson)\n ) {\n // Handling NaviLiquidityChangeEvent and AlphaLiquidityChangeEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount: suiEventJson.amount,\n event_type: suiEventJson.event_type,\n fee_collected: suiEventJson.fee_collected,\n pool_id: suiEventJson.pool_id,\n sender: suiEventJson.sender,\n tokens_invested: suiEventJson.tokens_invested,\n user_total_x_token_balance: suiEventJson.user_total_x_token_balance,\n x_token_supply: suiEventJson.x_token_supply,\n } as LiquidityChangeEventNode;\n } else if (\n isWithdrawV2Event(suiEvent.type) &&\n \"amount_withdrawn_from_locked\" in suiEventJson\n ) {\n // Handling Alpha WithdrawV2 Events\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount: suiEventJson.amount,\n amount_withdrawn_from_locked:\n suiEventJson.amount_withdrawn_from_locked,\n amount_withdrawn_from_unlocked:\n suiEventJson.amount_withdrawn_from_unlocked,\n fee_collected: suiEventJson.fee_collected,\n instant_withdraw_fee_collected:\n suiEventJson.instant_withdraw_fee_collected,\n pool_id: suiEventJson.pool_id,\n sender: suiEventJson.sender,\n tokens_invested: suiEventJson.tokens_invested,\n user_total_x_token_balance: suiEventJson.user_total_x_token_balance,\n x_token_supply: suiEventJson.x_token_supply,\n } as WithdrawV2EventNode;\n } else if (\n isAfterTransactionEvent(suiEvent.type) &&\n \"tokensInvested\" in suiEventJson &&\n !(\"liquidity\" in suiEventJson) &&\n !(\"amount\" in suiEventJson)\n ) {\n //handling alpha after transaction event\n if (suiEvent.id.eventSeq === \"0\") continue;\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n poolName: \"ALPHA\",\n id: {\n eventSeq: Number(suiEvent.id.eventSeq),\n txDigest: suiEvent.id.txDigest,\n },\n tokensInvested: suiEventJson.tokensInvested,\n xTokenSupply: suiEventJson.xTokenSupply,\n };\n } else if (\n isAfterTransactionEvent(suiEvent.type) &&\n \"tokensInvested\" in suiEventJson &&\n \"liquidity\" in suiEventJson\n ) {\n //handling cetus after transaction event\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n poolName: undefined,\n id: {\n eventSeq: Number(suiEvent.id.eventSeq),\n txDigest: suiEvent.id.txDigest,\n },\n tokensInvested: suiEventJson.tokensInvested,\n xtokenSupply: suiEventJson.xtokenSupply,\n liquidity: suiEventJson.liquidity,\n };\n } else if (\n isAfterTransactionEvent(suiEvent.type) &&\n \"amount\" in suiEventJson &&\n \"tokensInvested\" in suiEventJson\n ) {\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n poolName: undefined,\n id: {\n eventSeq: Number(suiEvent.id.eventSeq),\n txDigest: suiEvent.id.txDigest,\n },\n tokensInvested: suiEventJson.tokensInvested,\n xtokenSupply: suiEventJson.xtokenSupply,\n amount: suiEventJson.amount,\n };\n } else {\n console.error(\"event: \", suiEvent, \"json: \", suiEventJson);\n throw new Error(\"Unknown event type\");\n }\n\n allEvents.push(eventNode);\n }\n\n // If we set hasPreviousPage to false, exit the outer loop as well\n if (!hasNextPage) {\n break;\n }\n\n hasNextPage = result.hasNextPage;\n startCursor = result.nextCursor;\n }\n\n return allEvents;\n}\n\nconst isAutoCompoundingEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo).map((info) => {\n return info.autoCompoundingEventType;\n });\n return eventTypes.includes(eventType);\n};\n\nconst isRebalanceEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo)\n .filter((info) => {\n return info.rebalanceEventType ? true : false;\n })\n .map((info) => {\n return info.rebalanceEventType as string;\n });\n return eventTypes.includes(eventType);\n};\n\nconst isLiquidityChangeEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo).map((info) => {\n return info.liquidityChangeEventType;\n });\n return eventTypes.includes(eventType);\n};\n\nconst isWithdrawV2Event = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo)\n .map((info) => {\n return info.withdrawV2EventType;\n })\n .filter((type) => type !== undefined);\n return eventTypes.includes(eventType);\n};\n\nconst isAfterTransactionEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo)\n .map((info) => {\n return info.afterTransactionEventType;\n })\n .filter((type) => type !== undefined);\n return eventTypes.includes(eventType);\n};\n"]}
|
|
1
|
+
{"version":3,"file":"fetchEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { getSuiClient } from \"../client.js\";\nimport { EventId, PaginatedEvents } from \"@mysten/sui/client\";\nimport {\n AlphaLiquidityChangeEvent,\n AlphaAutoCompoundingEvent,\n CetusAutoCompoundingEvent,\n CetusLiquidityChangeEvent,\n EventNode,\n FetchEventsParams,\n NaviAutoCompoundingEvent,\n NaviLoopAutoCompoundingEvent,\n NaviLiquidityChangeEvent,\n RebalanceEvent,\n AutoCompoundingEventNode,\n AlphaWithdrawV2Event,\n AfterTransactionEventNode,\n CheckRatioEvent,\n} from \"./types.js\";\nimport { poolInfo } from \"../../common/maps.js\";\nimport { conf, CONF_ENV } from \"../../common/constants.js\";\n\nexport async function fetchEvents(\n params: FetchEventsParams,\n): Promise<EventNode[]> {\n const allEvents: EventNode[] = [];\n let hasNextPage = true;\n let startCursor: EventId | null | undefined = null;\n\n if (params.eventTypes.length > 1) {\n console.warn(\n \"Multiple eventTypes not supported right now, pass only one element in the array.\",\n );\n }\n\n if (params.eventTypes.length < 1) {\n hasNextPage = false;\n }\n\n const now = Date.now();\n const twentyFourHoursAgo = now - 24 * 60 * 60 * 1000; // timestamp for 24 hours ago\n const startTime = params.startTime ? params.startTime : twentyFourHoursAgo;\n const endTime = params.endTime ? params.endTime : now;\n\n if (startTime >= endTime) {\n throw new Error(\"startTime must be less than endTime\");\n }\n\n const suiClient = getSuiClient();\n //const prevTS = 0;\n\n while (hasNextPage) {\n const result: PaginatedEvents = await suiClient.queryEvents({\n cursor: startCursor,\n order: \"descending\",\n query: {\n MoveEventType: params.eventTypes[0],\n },\n });\n\n const se = result.data;\n for (let i = 0; i < se.length; i++) {\n const suiEvent = se[i];\n\n if (Number(suiEvent.timestampMs) > endTime) {\n continue;\n }\n\n if (Number(suiEvent.timestampMs) < startTime) {\n hasNextPage = false; // Stop further pagination\n break; // Exit the loop\n }\n\n const suiEventJson = suiEvent.parsedJson as\n | CetusAutoCompoundingEvent\n | NaviAutoCompoundingEvent\n | NaviLoopAutoCompoundingEvent\n | RebalanceEvent\n | CetusLiquidityChangeEvent\n | AlphaLiquidityChangeEvent\n | NaviLiquidityChangeEvent\n | AlphaAutoCompoundingEvent\n | AlphaWithdrawV2Event\n | AfterTransactionEventNode // TODO: this needs to be changed to AfterTransactionEvent Eventually\n | CheckRatioEvent;\n\n let eventNode: EventNode;\n\n if (\n isAutoCompoundingEvent(suiEvent.type) &&\n \"compound_amount_a\" in suiEventJson &&\n \"compound_amount_b\" in suiEventJson\n ) {\n // Handling CetusAutoCompoundingEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n compound_amount_a: BigInt(suiEventJson.compound_amount_a.toString()),\n compound_amount_b: BigInt(suiEventJson.compound_amount_b.toString()),\n current_liquidity: BigInt(suiEventJson.current_liquidity.toString()),\n fee_collected_a: BigInt(suiEventJson.fee_collected_a.toString()),\n fee_collected_b: BigInt(suiEventJson.fee_collected_b.toString()),\n free_balance_a: BigInt(suiEventJson.free_balance_a.toString()),\n free_balance_b: BigInt(suiEventJson.free_balance_b.toString()),\n investor_id: suiEventJson.investor_id,\n total_amount_a: BigInt(suiEventJson.total_amount_a.toString()),\n total_amount_b: BigInt(suiEventJson.total_amount_b.toString()),\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n\n // if (\n // eventNode.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // eventNode.timestamp,\n // (prevTS - eventNode.timestamp) / (1000 * 60),\n // );\n // prevTS = eventNode.timestamp;\n // }\n } else if (\n isAutoCompoundingEvent(suiEvent.type) &&\n \"compound_amount\" in suiEventJson\n ) {\n // Handling NaviAutoCompoundingEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n compound_amount: BigInt(suiEventJson.compound_amount.toString()),\n fee_collected: BigInt(suiEventJson.fee_collected.toString()),\n investor_id: suiEventJson.investor_id,\n location: suiEventJson.location,\n total_amount: BigInt(suiEventJson.total_amount.toString()),\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n if (\n \"cur_total_debt\" in suiEventJson &&\n \"accrued_interest\" in suiEventJson\n ) {\n const loopEvent: AutoCompoundingEventNode = {\n ...eventNode,\n cur_total_debt: BigInt(suiEventJson.cur_total_debt.toString()),\n accrued_interest: BigInt(suiEventJson.accrued_interest.toString()),\n };\n eventNode = loopEvent;\n }\n } else if (\n isAutoCompoundingEvent(suiEvent.type) &&\n \"amount\" in suiEventJson\n ) {\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount: suiEventJson.amount,\n investor_id: conf[CONF_ENV].ALPHA_POOL,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isRebalanceEvent(suiEvent.type) &&\n \"lower_tick_after\" in suiEventJson\n ) {\n // Handling RebalanceEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n investor_id: suiEventJson.investor_id.toString(),\n lower_tick_after: suiEventJson.lower_tick_after.toString(),\n upper_tick_after: suiEventJson.upper_tick_after.toString(),\n sqrt_price_after: suiEventJson.sqrt_price_after.toString(),\n amount_a_before: suiEventJson.amount_a_before.toString(),\n amount_b_before: suiEventJson.amount_b_before.toString(),\n amount_a_after: suiEventJson.amount_a_after.toString(),\n amount_b_after: suiEventJson.amount_b_after.toString(),\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isLiquidityChangeEvent(suiEvent.type) &&\n \"amount_a\" in suiEventJson\n ) {\n // Handling CetusLiquidityChangeEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount_a: suiEventJson.amount_a,\n amount_b: suiEventJson.amount_b,\n event_type: suiEventJson.event_type,\n fee_collected_a: suiEventJson.fee_collected_a,\n fee_collected_b: suiEventJson.fee_collected_b,\n pool_id: suiEventJson.pool_id,\n sender: suiEventJson.sender,\n tokens_invested: suiEventJson.tokens_invested,\n total_amount_a: suiEventJson.total_amount_a,\n total_amount_b: suiEventJson.total_amount_b,\n user_total_x_token_balance: suiEventJson.user_total_x_token_balance,\n x_token_supply: suiEventJson.x_token_supply,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isLiquidityChangeEvent(suiEvent.type) &&\n \"amount\" in suiEventJson &&\n !(\"investor_id\" in suiEventJson) &&\n !(\"amount_withdrawn_from_locked\" in suiEventJson) &&\n !(\"xtokenSupply\" in suiEventJson)\n ) {\n // Handling NaviLiquidityChangeEvent and AlphaLiquidityChangeEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount: suiEventJson.amount,\n event_type: suiEventJson.event_type,\n fee_collected: suiEventJson.fee_collected,\n pool_id: suiEventJson.pool_id,\n sender: suiEventJson.sender,\n tokens_invested: suiEventJson.tokens_invested,\n user_total_x_token_balance: suiEventJson.user_total_x_token_balance,\n x_token_supply: suiEventJson.x_token_supply,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isWithdrawV2Event(suiEvent.type) &&\n \"amount_withdrawn_from_locked\" in suiEventJson\n ) {\n // Handling Alpha WithdrawV2 Events\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount: suiEventJson.amount,\n amount_withdrawn_from_locked:\n suiEventJson.amount_withdrawn_from_locked,\n amount_withdrawn_from_unlocked:\n suiEventJson.amount_withdrawn_from_unlocked,\n fee_collected: suiEventJson.fee_collected,\n instant_withdraw_fee_collected:\n suiEventJson.instant_withdraw_fee_collected,\n pool_id: suiEventJson.pool_id,\n sender: suiEventJson.sender,\n tokens_invested: suiEventJson.tokens_invested,\n user_total_x_token_balance: suiEventJson.user_total_x_token_balance,\n x_token_supply: suiEventJson.x_token_supply,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isAfterTransactionEvent(suiEvent.type) &&\n \"tokensInvested\" in suiEventJson &&\n !(\"liquidity\" in suiEventJson) &&\n !(\"amount\" in suiEventJson)\n ) {\n //handling alpha after transaction event\n if (suiEvent.id.eventSeq === \"0\") continue;\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n poolName: \"ALPHA\",\n id: {\n eventSeq: Number(suiEvent.id.eventSeq),\n txDigest: suiEvent.id.txDigest,\n },\n tokensInvested: suiEventJson.tokensInvested,\n xTokenSupply: suiEventJson.xTokenSupply,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isAfterTransactionEvent(suiEvent.type) &&\n \"tokensInvested\" in suiEventJson &&\n \"liquidity\" in suiEventJson\n ) {\n //handling cetus after transaction event\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n poolName: undefined,\n id: {\n eventSeq: Number(suiEvent.id.eventSeq),\n txDigest: suiEvent.id.txDigest,\n },\n tokensInvested: suiEventJson.tokensInvested,\n xtokenSupply: suiEventJson.xtokenSupply,\n liquidity: suiEventJson.liquidity,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isAfterTransactionEvent(suiEvent.type) &&\n \"amount\" in suiEventJson &&\n \"tokensInvested\" in suiEventJson\n ) {\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n poolName: undefined,\n id: {\n eventSeq: Number(suiEvent.id.eventSeq),\n txDigest: suiEvent.id.txDigest,\n },\n tokensInvested: suiEventJson.tokensInvested,\n xtokenSupply: suiEventJson.xtokenSupply,\n amount: suiEventJson.amount,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\"ratio\" in suiEventJson) {\n // Check Ratio - looping pools\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n ratio: suiEventJson.ratio,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else {\n console.error(\"event: \", suiEvent, \"json: \", suiEventJson);\n throw new Error(\"Unknown event type\");\n }\n\n allEvents.push(eventNode);\n }\n\n // If we set hasPreviousPage to false, exit the outer loop as well\n if (!hasNextPage) {\n break;\n }\n\n hasNextPage = result.hasNextPage;\n startCursor = result.nextCursor;\n }\n\n return allEvents;\n}\n\nconst isAutoCompoundingEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo).map((info) => {\n return info.autoCompoundingEventType;\n });\n return eventTypes.includes(eventType);\n};\n\nconst isRebalanceEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo)\n .filter((info) => {\n return info.rebalanceEventType ? true : false;\n })\n .map((info) => {\n return info.rebalanceEventType as string;\n });\n return eventTypes.includes(eventType);\n};\n\nconst isLiquidityChangeEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo).map((info) => {\n return info.liquidityChangeEventType;\n });\n return eventTypes.includes(eventType);\n};\n\nconst isWithdrawV2Event = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo)\n .map((info) => {\n return info.withdrawV2EventType;\n })\n .filter((type) => type !== undefined);\n return eventTypes.includes(eventType);\n};\n\nconst isAfterTransactionEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo)\n .map((info) => {\n return info.afterTransactionEventType;\n })\n .filter((type) => type !== undefined);\n return eventTypes.includes(eventType);\n};\n"]}
|
|
@@ -2,6 +2,9 @@ import { PoolName } from "../../common/types.js";
|
|
|
2
2
|
interface CommonEventAttributes {
|
|
3
3
|
type: string;
|
|
4
4
|
timestamp: number;
|
|
5
|
+
txDigest: string;
|
|
6
|
+
eventSeq: number;
|
|
7
|
+
transactionModule: string;
|
|
5
8
|
}
|
|
6
9
|
export interface CetusAutoCompoundingEvent {
|
|
7
10
|
compound_amount_a: bigint;
|
|
@@ -139,6 +142,9 @@ export type NaviPoolWithdrawEvent = {
|
|
|
139
142
|
recipient: string;
|
|
140
143
|
sender: string;
|
|
141
144
|
};
|
|
145
|
+
export interface CheckRatioEvent {
|
|
146
|
+
ratio: string;
|
|
147
|
+
}
|
|
142
148
|
export type AfterTransactionEventNode = (CetusAfterTransactionEvent & CommonEventAttributes & {
|
|
143
149
|
poolName: PoolName | undefined;
|
|
144
150
|
id: {
|
|
@@ -162,7 +168,8 @@ export type AutoCompoundingEventNode = (CetusAutoCompoundingEvent & CommonEventA
|
|
|
162
168
|
export type RebalanceEventNode = RebalanceEvent & CommonEventAttributes;
|
|
163
169
|
export type LiquidityChangeEventNode = (CetusLiquidityChangeEvent & CommonEventAttributes) | (NaviLiquidityChangeEvent & CommonEventAttributes) | (AlphaLiquidityChangeEvent & CommonEventAttributes);
|
|
164
170
|
export type WithdrawV2EventNode = AlphaWithdrawV2Event & CommonEventAttributes;
|
|
165
|
-
export type
|
|
171
|
+
export type CheckRatioEventNode = CheckRatioEvent & CommonEventAttributes;
|
|
172
|
+
export type EventNode = AutoCompoundingEventNode | RebalanceEventNode | LiquidityChangeEventNode | WithdrawV2EventNode | AfterTransactionEventNode | CheckRatioEventNode;
|
|
166
173
|
export type FetchAutoCompoundingEventsParams = {
|
|
167
174
|
startTime?: number;
|
|
168
175
|
endTime?: number;
|
|
@@ -174,6 +181,7 @@ export type FetchWithdrawV2EventsParams = {
|
|
|
174
181
|
startTime?: number;
|
|
175
182
|
endTime?: number;
|
|
176
183
|
};
|
|
184
|
+
export type FetchCheckRatioEventsParams = FetchAutoCompoundingEventsParams;
|
|
177
185
|
export type FetchEventsParams = {
|
|
178
186
|
eventTypes: string[];
|
|
179
187
|
startTime?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAGD,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,0BAA0B,EAAE,MAAM,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,MAAM,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,MAAM,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B,EAAE,MAAM,CAAC;IACrC,8BAA8B,EAAE,MAAM,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,8BAA8B,EAAE,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,MAAM,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,yBAAyB,GACjC,CAAC,0BAA0B,GACzB,qBAAqB,GAAG;IACtB,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C,CAAC,GACJ,CAAC,yBAAyB,GACxB,qBAAqB,GAAG;IACtB,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C,CAAC,GACJ,CAAC,wBAAwB,GACvB,qBAAqB,GAAG;IACtB,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C,CAAC,CAAC;AAET,MAAM,MAAM,wBAAwB,GAChC,CAAC,yBAAyB,GAAG,qBAAqB,CAAC,GACnD,CAAC,wBAAwB,GAAG,qBAAqB,CAAC,GAClD,CAAC,4BAA4B,GAAG,qBAAqB,CAAC,GACtD,CAAC,yBAAyB,GAAG,qBAAqB,CAAC,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,qBAAqB,CAAC;AAExE,MAAM,MAAM,wBAAwB,GAChC,CAAC,yBAAyB,GAAG,qBAAqB,CAAC,GACnD,CAAC,wBAAwB,GAAG,qBAAqB,CAAC,GAClD,CAAC,yBAAyB,GAAG,qBAAqB,CAAC,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAE/E,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,qBAAqB,CAAC;AAE1E,MAAM,MAAM,SAAS,GACjB,wBAAwB,GACxB,kBAAkB,GAClB,wBAAwB,GACxB,mBAAmB,GACnB,yBAAyB,GACzB,mBAAmB,CAAC;AAExB,MAAM,MAAM,gCAAgC,GAAG;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AAE1E,MAAM,MAAM,gCAAgC,GAAG,gCAAgC,CAAC;AAEhF,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,gCAAgC,CAAC;AAE3E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/types.ts"],"names":[],"mappings":"","sourcesContent":["import { PoolName } from \"../../common/types.js\";\n\ninterface CommonEventAttributes {\n type: string;\n timestamp: number;\n}\n\nexport interface CetusAutoCompoundingEvent {\n compound_amount_a: bigint;\n compound_amount_b: bigint;\n current_liquidity: bigint;\n fee_collected_a: bigint;\n fee_collected_b: bigint;\n free_balance_a: bigint;\n free_balance_b: bigint;\n investor_id: string;\n total_amount_a: bigint;\n total_amount_b: bigint;\n}\n\nexport interface NaviAutoCompoundingEvent {\n compound_amount: bigint;\n fee_collected: bigint;\n investor_id: string;\n location: number;\n total_amount: bigint;\n}\n\nexport interface NaviLoopAutoCompoundingEvent extends NaviAutoCompoundingEvent {\n cur_total_debt: bigint;\n accrued_interest: bigint;\n}\n\nexport interface RebalanceEvent {\n investor_id: string;\n lower_tick_after: string;\n upper_tick_after: string;\n sqrt_price_after: string;\n amount_a_before: string;\n amount_b_before: string;\n amount_a_after: string;\n amount_b_after: string;\n}\n\n//verify, this might be wrong, alphapool reward event is defined as alpha autocompounding event\nexport interface AlphaAutoCompoundingEvent {\n amount: string;\n investor_id: string;\n}\n\nexport interface CetusLiquidityChangeEvent {\n amount_a: string;\n amount_b: string;\n event_type: number;\n fee_collected_a: string;\n fee_collected_b: string;\n pool_id: string;\n sender: string;\n tokens_invested: string;\n total_amount_a: string;\n total_amount_b: string;\n user_total_x_token_balance: string;\n x_token_supply: string;\n}\n\nexport interface NaviLiquidityChangeEvent {\n amount: string;\n event_type: number;\n fee_collected: string;\n pool_id: string;\n sender: string;\n tokens_invested: string;\n user_total_x_token_balance: string;\n x_token_supply: string;\n}\n\nexport interface AlphaLiquidityChangeEvent {\n amount: string;\n event_type: number;\n fee_collected: string;\n pool_id: string;\n sender: string;\n tokens_invested: string;\n user_total_x_token_balance: string;\n x_token_supply: string;\n}\n\nexport interface AlphaWithdrawV2Event {\n amount: string;\n amount_withdrawn_from_locked: string;\n amount_withdrawn_from_unlocked: string;\n fee_collected: string;\n instant_withdraw_fee_collected: string;\n pool_id: string;\n sender: string;\n tokens_invested: string;\n user_total_x_token_balance: string;\n x_token_supply: string;\n}\n\nexport interface CetusAfterTransactionEvent {\n liquidity: string;\n tokensInvested: string;\n xtokenSupply: string;\n}\nexport interface NaviAfterTransactionEvent {\n amount: string;\n tokensInvested: string;\n xtokenSupply: string;\n}\n\n// only event sequence non zero are after transaction\nexport interface AlphaBeforeAndAfterEvent {\n tokensInvested: string;\n xTokenSupply: string;\n}\n\nexport type CetusAddLiquidityEvent = {\n after_liquidity: string;\n amount_a: string;\n amount_b: string;\n liquidity: string;\n pool: string;\n position: string;\n tick_lower: { bits: number };\n tick_upper: { bits: number };\n};\nexport type CetusRemoveLiquidityEvent = {\n after_liquidity: string;\n amount_a: string;\n amount_b: string;\n liquidity: string;\n pool: string;\n position: string;\n tick_lower: { bits: number };\n tick_upper: { bits: number };\n};\n\nexport type NaviPoolDepositEvent = {\n amount: string;\n pool: string;\n sender: string;\n};\nexport type NaviPoolWithdrawEvent = {\n amount: string;\n pool: string;\n recipient: string;\n sender: string;\n};\n\nexport type AfterTransactionEventNode =\n | (CetusAfterTransactionEvent &\n CommonEventAttributes & {\n poolName: PoolName | undefined;\n id: { eventSeq: number; txDigest: string };\n })\n | (NaviAfterTransactionEvent &\n CommonEventAttributes & {\n poolName: PoolName | undefined;\n id: { eventSeq: number; txDigest: string };\n })\n | (AlphaBeforeAndAfterEvent &\n CommonEventAttributes & {\n poolName: PoolName | undefined;\n id: { eventSeq: number; txDigest: string };\n });\n\nexport type AutoCompoundingEventNode =\n | (CetusAutoCompoundingEvent & CommonEventAttributes)\n | (NaviAutoCompoundingEvent & CommonEventAttributes)\n | (NaviLoopAutoCompoundingEvent & CommonEventAttributes)\n | (AlphaAutoCompoundingEvent & CommonEventAttributes);\n\nexport type RebalanceEventNode = RebalanceEvent & CommonEventAttributes;\n\nexport type LiquidityChangeEventNode =\n | (CetusLiquidityChangeEvent & CommonEventAttributes)\n | (NaviLiquidityChangeEvent & CommonEventAttributes)\n | (AlphaLiquidityChangeEvent & CommonEventAttributes);\n\nexport type WithdrawV2EventNode = AlphaWithdrawV2Event & CommonEventAttributes;\n\nexport type EventNode =\n | AutoCompoundingEventNode\n | RebalanceEventNode\n | LiquidityChangeEventNode\n | WithdrawV2EventNode\n | AfterTransactionEventNode;\n\nexport type FetchAutoCompoundingEventsParams = {\n startTime?: number;\n endTime?: number;\n poolNames?: PoolName[];\n};\n\nexport type FetchRebalanceEventsParams = FetchAutoCompoundingEventsParams;\n\nexport type FetchLiquidityChangeEventsParams = FetchAutoCompoundingEventsParams;\n\nexport type FetchWithdrawV2EventsParams = {\n startTime?: number;\n endTime?: number;\n};\n\nexport type FetchEventsParams = {\n eventTypes: string[];\n startTime?: number;\n endTime?: number;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/types.ts"],"names":[],"mappings":"","sourcesContent":["import { PoolName } from \"../../common/types.js\";\n\ninterface CommonEventAttributes {\n type: string;\n timestamp: number;\n txDigest: string;\n eventSeq: number;\n transactionModule: string;\n}\n\nexport interface CetusAutoCompoundingEvent {\n compound_amount_a: bigint;\n compound_amount_b: bigint;\n current_liquidity: bigint;\n fee_collected_a: bigint;\n fee_collected_b: bigint;\n free_balance_a: bigint;\n free_balance_b: bigint;\n investor_id: string;\n total_amount_a: bigint;\n total_amount_b: bigint;\n}\n\nexport interface NaviAutoCompoundingEvent {\n compound_amount: bigint;\n fee_collected: bigint;\n investor_id: string;\n location: number;\n total_amount: bigint;\n}\n\nexport interface NaviLoopAutoCompoundingEvent extends NaviAutoCompoundingEvent {\n cur_total_debt: bigint;\n accrued_interest: bigint;\n}\n\nexport interface RebalanceEvent {\n investor_id: string;\n lower_tick_after: string;\n upper_tick_after: string;\n sqrt_price_after: string;\n amount_a_before: string;\n amount_b_before: string;\n amount_a_after: string;\n amount_b_after: string;\n}\n\n//verify, this might be wrong, alphapool reward event is defined as alpha autocompounding event\nexport interface AlphaAutoCompoundingEvent {\n amount: string;\n investor_id: string;\n}\n\nexport interface CetusLiquidityChangeEvent {\n amount_a: string;\n amount_b: string;\n event_type: number;\n fee_collected_a: string;\n fee_collected_b: string;\n pool_id: string;\n sender: string;\n tokens_invested: string;\n total_amount_a: string;\n total_amount_b: string;\n user_total_x_token_balance: string;\n x_token_supply: string;\n}\n\nexport interface NaviLiquidityChangeEvent {\n amount: string;\n event_type: number;\n fee_collected: string;\n pool_id: string;\n sender: string;\n tokens_invested: string;\n user_total_x_token_balance: string;\n x_token_supply: string;\n}\n\nexport interface AlphaLiquidityChangeEvent {\n amount: string;\n event_type: number;\n fee_collected: string;\n pool_id: string;\n sender: string;\n tokens_invested: string;\n user_total_x_token_balance: string;\n x_token_supply: string;\n}\n\nexport interface AlphaWithdrawV2Event {\n amount: string;\n amount_withdrawn_from_locked: string;\n amount_withdrawn_from_unlocked: string;\n fee_collected: string;\n instant_withdraw_fee_collected: string;\n pool_id: string;\n sender: string;\n tokens_invested: string;\n user_total_x_token_balance: string;\n x_token_supply: string;\n}\n\nexport interface CetusAfterTransactionEvent {\n liquidity: string;\n tokensInvested: string;\n xtokenSupply: string;\n}\nexport interface NaviAfterTransactionEvent {\n amount: string;\n tokensInvested: string;\n xtokenSupply: string;\n}\n\n// only event sequence non zero are after transaction\nexport interface AlphaBeforeAndAfterEvent {\n tokensInvested: string;\n xTokenSupply: string;\n}\n\nexport type CetusAddLiquidityEvent = {\n after_liquidity: string;\n amount_a: string;\n amount_b: string;\n liquidity: string;\n pool: string;\n position: string;\n tick_lower: { bits: number };\n tick_upper: { bits: number };\n};\nexport type CetusRemoveLiquidityEvent = {\n after_liquidity: string;\n amount_a: string;\n amount_b: string;\n liquidity: string;\n pool: string;\n position: string;\n tick_lower: { bits: number };\n tick_upper: { bits: number };\n};\n\nexport type NaviPoolDepositEvent = {\n amount: string;\n pool: string;\n sender: string;\n};\nexport type NaviPoolWithdrawEvent = {\n amount: string;\n pool: string;\n recipient: string;\n sender: string;\n};\n\nexport interface CheckRatioEvent {\n ratio: string;\n}\n\nexport type AfterTransactionEventNode =\n | (CetusAfterTransactionEvent &\n CommonEventAttributes & {\n poolName: PoolName | undefined;\n id: { eventSeq: number; txDigest: string };\n })\n | (NaviAfterTransactionEvent &\n CommonEventAttributes & {\n poolName: PoolName | undefined;\n id: { eventSeq: number; txDigest: string };\n })\n | (AlphaBeforeAndAfterEvent &\n CommonEventAttributes & {\n poolName: PoolName | undefined;\n id: { eventSeq: number; txDigest: string };\n });\n\nexport type AutoCompoundingEventNode =\n | (CetusAutoCompoundingEvent & CommonEventAttributes)\n | (NaviAutoCompoundingEvent & CommonEventAttributes)\n | (NaviLoopAutoCompoundingEvent & CommonEventAttributes)\n | (AlphaAutoCompoundingEvent & CommonEventAttributes);\n\nexport type RebalanceEventNode = RebalanceEvent & CommonEventAttributes;\n\nexport type LiquidityChangeEventNode =\n | (CetusLiquidityChangeEvent & CommonEventAttributes)\n | (NaviLiquidityChangeEvent & CommonEventAttributes)\n | (AlphaLiquidityChangeEvent & CommonEventAttributes);\n\nexport type WithdrawV2EventNode = AlphaWithdrawV2Event & CommonEventAttributes;\n\nexport type CheckRatioEventNode = CheckRatioEvent & CommonEventAttributes;\n\nexport type EventNode =\n | AutoCompoundingEventNode\n | RebalanceEventNode\n | LiquidityChangeEventNode\n | WithdrawV2EventNode\n | AfterTransactionEventNode\n | CheckRatioEventNode;\n\nexport type FetchAutoCompoundingEventsParams = {\n startTime?: number;\n endTime?: number;\n poolNames?: PoolName[];\n};\n\nexport type FetchRebalanceEventsParams = FetchAutoCompoundingEventsParams;\n\nexport type FetchLiquidityChangeEventsParams = FetchAutoCompoundingEventsParams;\n\nexport type FetchWithdrawV2EventsParams = {\n startTime?: number;\n endTime?: number;\n};\n\nexport type FetchCheckRatioEventsParams = FetchAutoCompoundingEventsParams;\n\nexport type FetchEventsParams = {\n eventTypes: string[];\n startTime?: number;\n endTime?: number;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchUserVaults.js","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/fetchUserVaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAY,MAAM,gBAAgB,CAAC;AACnE,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe;IAEf,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"fetchUserVaults.js","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/fetchUserVaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAY,MAAM,gBAAgB,CAAC;AACnE,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe;IAEf,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5C,IAAI,GAAG,GAA6B,SAAS,CAAC;YAC9C,IACE,QAAQ,CAAC,IAAI,CAAC,CAAC,kBAAkB,KAAK,SAAS;gBAC/C,QAAQ,CAAC,IAAI,CAAC,CAAC,kBAAkB,KAAK,MAAM;gBAC5C,QAAQ,CAAC,IAAI,CAAC,CAAC,kBAAkB,KAAK,QAAQ,EAC9C,CAAC;gBACD,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;gBAC/C,GAAG,GAAG;oBACJ,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM;oBAC7B,QAAQ,EAAE,IAAgB;oBAC1B,WAAW,EAAE,IAAI;oBACjB,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;oBACpC,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI;iBAC/B,CAAC;YACJ,CAAC;iBAAM,IACL,QAAQ,CAAC,IAAI,CAAC,CAAC,kBAAkB,KAAK,OAAO;gBAC7C,QAAQ,CAAC,IAAI,CAAC,CAAC,kBAAkB,KAAK,SAAS,EAC/C,CAAC;gBACD,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;gBACjD,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;gBACjD,GAAG,GAAG;oBACJ,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM;oBAC7B,QAAQ,EAAE,IAAgB;oBAC1B,WAAW,EAAE,IAAI;oBACjB,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;oBACpC,SAAS,EAAE,KAAK;oBAChB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI;oBAChC,SAAS,EAAE,KAAK;oBAChB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI;iBACjC,CAAC;YACJ,CAAC;YACD,IAAI,GAAG;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import { AlphaFiVault, coinsList, PoolName } from \"../../index.js\";\nimport {\n singleAssetPoolCoinMap,\n doubleAssetPoolCoinMap,\n poolInfo,\n} from \"../../common/maps.js\";\nimport { getReceipts } from \"./getReceipts.js\";\n\nexport async function fetchUserVaults(\n address: string,\n): Promise<AlphaFiVault[]> {\n const vaultsArr: AlphaFiVault[] = [];\n await Promise.all(\n Object.keys(poolInfo).map(async (pool) => {\n const receipt = await getReceipts(pool as PoolName, address, false);\n if (receipt.length > 0) {\n const name = receipt[0].content.fields.name;\n let res: AlphaFiVault | undefined = undefined;\n if (\n poolInfo[pool].parentProtocolName === \"ALPHAFI\" ||\n poolInfo[pool].parentProtocolName === \"NAVI\" ||\n poolInfo[pool].parentProtocolName === \"BUCKET\"\n ) {\n const coin = singleAssetPoolCoinMap[pool].coin;\n res = {\n poolId: poolInfo[pool].poolId,\n poolName: pool as PoolName,\n receiptName: name,\n receiptType: receipt[0].content.type,\n coinName: coin,\n coinType: coinsList[coin].type,\n };\n } else if (\n poolInfo[pool].parentProtocolName === \"CETUS\" ||\n poolInfo[pool].parentProtocolName === \"BLUEFIN\"\n ) {\n const coinA = doubleAssetPoolCoinMap[pool].coin1;\n const coinB = doubleAssetPoolCoinMap[pool].coin2;\n res = {\n poolId: poolInfo[pool].poolId,\n poolName: pool as PoolName,\n receiptName: name,\n receiptType: receipt[0].content.type,\n coinNameA: coinA,\n coinTypeA: coinsList[coinA].type,\n coinNameB: coinB,\n coinTypeB: coinsList[coinB].type,\n };\n }\n if (res) vaultsArr.push(res);\n }\n }),\n );\n return vaultsArr;\n}\n"]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { AlphaPoolType, NaviInvestor, CommonInvestorFields, CetusPoolType, PoolName, PoolType, Receipt, NaviVoloData, Investor, SingleAssetPoolNames, ReceiptGQL } from "../../index.js";
|
|
1
|
+
import { AlphaPoolType, NaviInvestor, CommonInvestorFields, CetusPoolType, PoolName, PoolType, Receipt, NaviVoloData, Investor, SingleAssetPoolNames, ReceiptGQL, Distributor } from "../../index.js";
|
|
2
2
|
import { Decimal } from "decimal.js";
|
|
3
3
|
export declare function convertReceiptGQLToReceipt(receipts: ReceiptGQL[]): Receipt[];
|
|
4
4
|
export declare function getMultiReceipts(address: string): Promise<void>;
|
|
5
|
-
export declare function getReceipts(poolName:
|
|
6
|
-
export declare function getPoolExchangeRate(poolName: PoolName, ignoreCache: boolean): Promise<Decimal
|
|
5
|
+
export declare function getReceipts(poolName: PoolName, address: string, ignoreCache: boolean): Promise<Receipt[]>;
|
|
6
|
+
export declare function getPoolExchangeRate(poolName: PoolName, ignoreCache: boolean): Promise<Decimal>;
|
|
7
7
|
export declare function getMultiPool(): Promise<void>;
|
|
8
|
-
export declare function getPool(poolName: string, ignoreCache: boolean): Promise<PoolType | AlphaPoolType
|
|
8
|
+
export declare function getPool(poolName: string, ignoreCache: boolean): Promise<PoolType | AlphaPoolType>;
|
|
9
9
|
export declare function getMultiParentPool(): Promise<void>;
|
|
10
|
-
export declare function getParentPool(poolName: string, ignoreCache: boolean): Promise<CetusPoolType
|
|
10
|
+
export declare function getParentPool(poolName: string, ignoreCache: boolean): Promise<CetusPoolType>;
|
|
11
11
|
export declare function getMultiInvestor(): Promise<void>;
|
|
12
|
-
export declare function getInvestor(poolName: PoolName, ignoreCache: boolean): Promise<Investor
|
|
12
|
+
export declare function getInvestor(poolName: PoolName, ignoreCache: boolean): Promise<Investor>;
|
|
13
13
|
export declare function fetchVoloExchangeRate(): Promise<NaviVoloData>;
|
|
14
14
|
export declare function getCoinAmountsFromLiquidity(poolName: PoolName, liquidity: string, ignoreCache: boolean): Promise<[string, string]>;
|
|
15
15
|
export declare function multiGetNaviInvestor(poolNames: SingleAssetPoolNames[]): Promise<{
|
|
@@ -30,5 +30,7 @@ export declare function multiGetNaviInvestor(poolNames: SingleAssetPoolNames[]):
|
|
|
30
30
|
"NAVI-LOOP-HASUI-SUI"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
31
31
|
"NAVI-LOOP-USDT-USDC"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
32
32
|
"NAVI-NS"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
33
|
+
"NAVI-NAVX"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
33
34
|
}>;
|
|
35
|
+
export declare function getDistributor(ignoreCache: boolean): Promise<Distributor | undefined>;
|
|
34
36
|
//# sourceMappingURL=getReceipts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getReceipts.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getReceipts.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAEb,YAAY,EACZ,oBAAoB,EACpB,aAAa,EAEb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,QAAQ,EAGR,oBAAoB,EAEpB,UAAU,
|
|
1
|
+
{"version":3,"file":"getReceipts.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getReceipts.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAEb,YAAY,EACZ,oBAAoB,EACpB,aAAa,EAEb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,QAAQ,EAGR,oBAAoB,EAEpB,UAAU,EAGV,WAAW,EAEZ,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAyE5E;AAKD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,iBA0BrD;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,EAAE,CAAC,CAgEpB;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC,CAgClB;AAKD,wBAAsB,YAAY,kBAuBjC;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,CAgDnC;AAKD,wBAAsB,kBAAkB,kBAuBvC;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,aAAa,CAAC,CAkDxB;AAKD,wBAAsB,gBAAgB,kBAuBrC;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,QAAQ,CAAC,CAqDnB;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,YAAY,CAAC,CAenE;AAED,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA4B3B;AAED,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;GA8B3E;AAOD,wBAAsB,cAAc,CAClC,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CA6ClC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fetchMultiReceipts, cetusPoolMap, bluefinPoolMap, } from "../../index.js";
|
|
1
|
+
import { fetchMultiReceipts, cetusPoolMap, bluefinPoolMap, getConf, } from "../../index.js";
|
|
2
2
|
import { poolInfo } from "../../common/maps.js";
|
|
3
3
|
import { ClmmPoolUtil, TickMath } from "@cetusprotocol/cetus-sui-clmm-sdk";
|
|
4
4
|
import BN from "bn.js";
|
|
@@ -171,32 +171,30 @@ export async function getPoolExchangeRate(poolName, ignoreCache) {
|
|
|
171
171
|
let pool;
|
|
172
172
|
try {
|
|
173
173
|
pool = await getPool(poolName, ignoreCache);
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
throw new Error(`couldnt fetch investor object for pool: ${poolName}`);
|
|
184
|
-
}
|
|
185
|
-
tokensInvested = new Decimal(pool.content.fields.tokensInvested);
|
|
186
|
-
}
|
|
187
|
-
// Check for division by zero
|
|
188
|
-
if (xTokenSupply.eq(0)) {
|
|
189
|
-
console.error("Division by zero error: tokensInvested is zero.");
|
|
190
|
-
return undefined;
|
|
174
|
+
const xTokenSupply = new Decimal(pool.content.fields.xTokenSupply);
|
|
175
|
+
let tokensInvested = new Decimal(pool.content.fields.tokensInvested);
|
|
176
|
+
if (poolName == "ALPHA") {
|
|
177
|
+
tokensInvested = new Decimal(pool.content.fields.alpha_bal);
|
|
178
|
+
}
|
|
179
|
+
else if (poolInfo[poolName].parentProtocolName == "CETUS") {
|
|
180
|
+
const investor = (await getInvestor(poolName, ignoreCache));
|
|
181
|
+
if (!investor) {
|
|
182
|
+
throw new Error(`couldnt fetch investor object for pool: ${poolName}`);
|
|
191
183
|
}
|
|
192
|
-
|
|
193
|
-
|
|
184
|
+
tokensInvested = new Decimal(pool.content.fields.tokensInvested);
|
|
185
|
+
}
|
|
186
|
+
// Check for division by zero
|
|
187
|
+
if (xTokenSupply.eq(0)) {
|
|
188
|
+
console.error("Division by zero error: tokensInvested is zero.");
|
|
189
|
+
return new Decimal(0);
|
|
194
190
|
}
|
|
191
|
+
const poolExchangeRate = tokensInvested.div(xTokenSupply);
|
|
192
|
+
return poolExchangeRate;
|
|
195
193
|
}
|
|
196
|
-
catch (
|
|
197
|
-
console.log(`getPoolExchangeRate failed for poolName: ${poolName}, with error ${
|
|
194
|
+
catch (err) {
|
|
195
|
+
console.log(`getPoolExchangeRate failed for poolName: ${poolName}, with error ${err}`);
|
|
196
|
+
throw err;
|
|
198
197
|
}
|
|
199
|
-
return undefined;
|
|
200
198
|
}
|
|
201
199
|
const poolCache = new SimpleCache();
|
|
202
200
|
const poolPromiseCache = new SimpleCache();
|
|
@@ -221,8 +219,8 @@ export async function getMultiPool() {
|
|
|
221
219
|
poolCache.set(cacheKey, poolData);
|
|
222
220
|
}
|
|
223
221
|
}
|
|
224
|
-
catch (
|
|
225
|
-
console.error(`Error getting multiPools`);
|
|
222
|
+
catch (error) {
|
|
223
|
+
console.error(`Error getting multiPools - ${error}`);
|
|
226
224
|
}
|
|
227
225
|
}
|
|
228
226
|
export async function getPool(poolName, ignoreCache) {
|
|
@@ -256,9 +254,9 @@ export async function getPool(poolName, ignoreCache) {
|
|
|
256
254
|
poolCache.set(cacheKey, poolData);
|
|
257
255
|
return poolData;
|
|
258
256
|
}
|
|
259
|
-
catch (
|
|
257
|
+
catch (err) {
|
|
260
258
|
console.error(`Error in getPool; poolName => ${poolName}`);
|
|
261
|
-
|
|
259
|
+
throw err;
|
|
262
260
|
}
|
|
263
261
|
finally {
|
|
264
262
|
// Remove the promise from the cache after it resolves
|
|
@@ -332,9 +330,9 @@ export async function getParentPool(poolName, ignoreCache) {
|
|
|
332
330
|
cetusPoolCache.set(cacheKey, cetusPool);
|
|
333
331
|
return cetusPool;
|
|
334
332
|
}
|
|
335
|
-
catch (
|
|
333
|
+
catch (err) {
|
|
336
334
|
console.error(`getCetusPool failed for poolName: ${poolName}`);
|
|
337
|
-
|
|
335
|
+
throw err;
|
|
338
336
|
}
|
|
339
337
|
finally {
|
|
340
338
|
// Remove the promise from the cache after it resolves
|
|
@@ -415,9 +413,9 @@ export async function getInvestor(poolName, ignoreCache) {
|
|
|
415
413
|
investorCache.set(cacheKey, cetusInvestor);
|
|
416
414
|
return cetusInvestor;
|
|
417
415
|
}
|
|
418
|
-
catch (
|
|
416
|
+
catch (err) {
|
|
419
417
|
console.error(`getInvestor failed for pool: ${poolName}`);
|
|
420
|
-
|
|
418
|
+
throw err;
|
|
421
419
|
}
|
|
422
420
|
finally {
|
|
423
421
|
// Remove the promise from the cache after it resolves
|
|
@@ -489,6 +487,52 @@ export async function multiGetNaviInvestor(poolNames) {
|
|
|
489
487
|
throw err;
|
|
490
488
|
}
|
|
491
489
|
}
|
|
490
|
+
const distributorCache = new SimpleCache();
|
|
491
|
+
const distributorPromiseCache = new SimpleCache();
|
|
492
|
+
export async function getDistributor(ignoreCache) {
|
|
493
|
+
const suiClient = getSuiClient();
|
|
494
|
+
const cacheKey = `distributor_${getConf().ALPHA_DISTRIBUTOR}`;
|
|
495
|
+
if (ignoreCache) {
|
|
496
|
+
distributorCache.delete(cacheKey);
|
|
497
|
+
distributorPromiseCache.delete(cacheKey);
|
|
498
|
+
}
|
|
499
|
+
// Check if the distributor is already in the cache
|
|
500
|
+
const cachedDistributor = distributorCache.get(cacheKey);
|
|
501
|
+
if (cachedDistributor) {
|
|
502
|
+
return cachedDistributor;
|
|
503
|
+
}
|
|
504
|
+
// Check if there is already a promise in the cache
|
|
505
|
+
let distributorPromise = distributorPromiseCache.get(cacheKey);
|
|
506
|
+
if (distributorPromise) {
|
|
507
|
+
return distributorPromise;
|
|
508
|
+
}
|
|
509
|
+
// If not, create a new promise and cache it
|
|
510
|
+
distributorPromise = (async () => {
|
|
511
|
+
try {
|
|
512
|
+
const o = await suiClient.getObject({
|
|
513
|
+
id: getConf().ALPHA_DISTRIBUTOR,
|
|
514
|
+
options: {
|
|
515
|
+
showContent: true,
|
|
516
|
+
},
|
|
517
|
+
});
|
|
518
|
+
const distributor = o.data;
|
|
519
|
+
// Cache the distributor object
|
|
520
|
+
distributorCache.set(cacheKey, distributor);
|
|
521
|
+
return distributor;
|
|
522
|
+
}
|
|
523
|
+
catch (e) {
|
|
524
|
+
console.error(`getDistributor failed`);
|
|
525
|
+
return undefined;
|
|
526
|
+
}
|
|
527
|
+
finally {
|
|
528
|
+
// Remove the promise from the cache after it resolves
|
|
529
|
+
distributorPromiseCache.delete(cacheKey);
|
|
530
|
+
}
|
|
531
|
+
})();
|
|
532
|
+
// Cache the promise
|
|
533
|
+
distributorPromiseCache.set(cacheKey, distributorPromise);
|
|
534
|
+
return distributorPromise;
|
|
535
|
+
}
|
|
492
536
|
/*
|
|
493
537
|
for the missing pools, add a promise, each of those promises waits for there respective object from a map, that map is populated all at once,
|
|
494
538
|
problem with concurrency
|