tx-indexer 0.4.1 → 0.5.0
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 +1 -1
- package/dist/client.js +11 -9
- package/dist/client.js.map +1 -1
- package/dist/index.js +11 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -748,7 +748,7 @@ var TransferClassifier = class {
|
|
|
748
748
|
sender,
|
|
749
749
|
receiver,
|
|
750
750
|
counterparty: {
|
|
751
|
-
type: "
|
|
751
|
+
type: "unknown",
|
|
752
752
|
address: receiver,
|
|
753
753
|
name: `${receiver.slice(0, 8)}...`
|
|
754
754
|
},
|
|
@@ -919,19 +919,19 @@ var SwapClassifier = class {
|
|
|
919
919
|
priority = 80;
|
|
920
920
|
classify(context) {
|
|
921
921
|
const { legs, tx } = context;
|
|
922
|
-
const hasDexProtocol = isDexProtocolById(tx.protocol?.id);
|
|
923
|
-
if (!hasDexProtocol) {
|
|
924
|
-
return null;
|
|
925
|
-
}
|
|
926
922
|
const feeLeg = legs.find(
|
|
927
923
|
(leg) => leg.role === "fee" && leg.side === "debit"
|
|
928
924
|
);
|
|
929
925
|
const initiator = feeLeg?.accountId.replace("external:", "") ?? null;
|
|
926
|
+
if (!initiator) {
|
|
927
|
+
return null;
|
|
928
|
+
}
|
|
929
|
+
const initiatorAccountId = `external:${initiator}`;
|
|
930
930
|
const tokensOut = legs.filter(
|
|
931
|
-
(leg) => leg.accountId
|
|
931
|
+
(leg) => leg.accountId === initiatorAccountId && leg.side === "debit" && (leg.role === "sent" || leg.role === "protocol_deposit")
|
|
932
932
|
);
|
|
933
933
|
const tokensIn = legs.filter(
|
|
934
|
-
(leg) => leg.accountId
|
|
934
|
+
(leg) => leg.accountId === initiatorAccountId && leg.side === "credit" && (leg.role === "received" || leg.role === "protocol_withdraw")
|
|
935
935
|
);
|
|
936
936
|
if (tokensOut.length === 0 || tokensIn.length === 0) {
|
|
937
937
|
return null;
|
|
@@ -941,6 +941,8 @@ var SwapClassifier = class {
|
|
|
941
941
|
if (tokenOut.amount.token.symbol === tokenIn.amount.token.symbol) {
|
|
942
942
|
return null;
|
|
943
943
|
}
|
|
944
|
+
const hasDexProtocol = isDexProtocolById(tx.protocol?.id);
|
|
945
|
+
const confidence = hasDexProtocol ? 0.95 : 0.75;
|
|
944
946
|
return {
|
|
945
947
|
primaryType: "swap",
|
|
946
948
|
primaryAmount: tokenOut.amount,
|
|
@@ -948,7 +950,7 @@ var SwapClassifier = class {
|
|
|
948
950
|
sender: initiator,
|
|
949
951
|
receiver: initiator,
|
|
950
952
|
counterparty: null,
|
|
951
|
-
confidence
|
|
953
|
+
confidence,
|
|
952
954
|
isRelevant: true,
|
|
953
955
|
metadata: {
|
|
954
956
|
swap_type: "token_to_token",
|
|
@@ -1080,7 +1082,7 @@ var SolanaPayClassifier = class {
|
|
|
1080
1082
|
counterparty: receiver ? {
|
|
1081
1083
|
address: receiver,
|
|
1082
1084
|
name: memo.merchant ?? void 0,
|
|
1083
|
-
type: memo.merchant ? "merchant" : "
|
|
1085
|
+
type: memo.merchant ? "merchant" : "unknown"
|
|
1084
1086
|
} : null,
|
|
1085
1087
|
confidence: 0.98,
|
|
1086
1088
|
isRelevant: true,
|