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/dist/index.js CHANGED
@@ -748,7 +748,7 @@ var TransferClassifier = class {
748
748
  sender,
749
749
  receiver,
750
750
  counterparty: {
751
- type: "wallet",
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.startsWith("external:") && leg.side === "debit" && (leg.role === "sent" || leg.role === "protocol_deposit")
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.startsWith("external:") && leg.side === "credit" && (leg.role === "received" || leg.role === "protocol_withdraw")
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: 0.9,
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" : "wallet"
1085
+ type: memo.merchant ? "merchant" : "unknown"
1084
1086
  } : null,
1085
1087
  confidence: 0.98,
1086
1088
  isRelevant: true,