@indexing/jiti 0.0.36 → 0.0.37

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/main.js CHANGED
@@ -1004,7 +1004,18 @@ const $290fd8bc430da9f0$export$1f0fe79deb1b813b = {
1004
1004
  };
1005
1005
  if (isNegDiff) delete txfer.to;
1006
1006
  else delete txfer.from;
1007
- transfersByKey[key] = Object.assign(transfersByKey[key] || {}, txfer);
1007
+ if (!transfersByKey[key]) transfersByKey[key] = [
1008
+ txfer
1009
+ ];
1010
+ else {
1011
+ let didMerge = false;
1012
+ for(let tbi = 0; tbi < transfersByKey[key].length; tbi += 1)if (txfer.to && !transfersByKey[key][tbi].to || txfer.from && !transfersByKey[key][tbi].from) {
1013
+ didMerge = true;
1014
+ transfersByKey[key][tbi] = Object.assign(transfersByKey[key][tbi] || {}, txfer);
1015
+ break;
1016
+ }
1017
+ if (!didMerge) transfersByKey[key].push(txfer);
1018
+ }
1008
1019
  matched = true;
1009
1020
  }
1010
1021
  if (!matched) {
@@ -1025,7 +1036,18 @@ const $290fd8bc430da9f0$export$1f0fe79deb1b813b = {
1025
1036
  };
1026
1037
  if (isNegDiff) delete txfer.to;
1027
1038
  else delete txfer.from;
1028
- transfersByKey[key] = Object.assign(transfersByKey[key] || {}, txfer);
1039
+ if (!transfersByKey[key]) transfersByKey[key] = [
1040
+ txfer
1041
+ ];
1042
+ else {
1043
+ let didMerge = false;
1044
+ for(let tbi = 0; tbi < transfersByKey[key].length; tbi += 1)if (txfer.to && !transfersByKey[key][tbi].to || txfer.from && !transfersByKey[key][tbi].from) {
1045
+ didMerge = true;
1046
+ transfersByKey[key][tbi] = Object.assign(transfersByKey[key][tbi] || {}, txfer);
1047
+ break;
1048
+ }
1049
+ if (!didMerge) transfersByKey[key].push(txfer);
1050
+ }
1029
1051
  }
1030
1052
  }
1031
1053
  for(let i = 0; i < solanaTx.meta.postBalances.length; i += 1){
@@ -1048,13 +1070,23 @@ const $290fd8bc430da9f0$export$1f0fe79deb1b813b = {
1048
1070
  };
1049
1071
  if (post > pre) delete txfer.from;
1050
1072
  else delete txfer.to;
1051
- transfersByKey[key] = Object.assign(transfersByKey[key] || {}, txfer);
1073
+ if (!transfersByKey[key]) transfersByKey[key] = [
1074
+ txfer
1075
+ ];
1076
+ else {
1077
+ let didMerge = false;
1078
+ for(let tbi = 0; tbi < transfersByKey[key].length; tbi += 1)if (txfer.to && !transfersByKey[key][tbi].to || txfer.from && !transfersByKey[key][tbi].from) {
1079
+ didMerge = true;
1080
+ transfersByKey[key][tbi] = Object.assign(transfersByKey[key][tbi] || {}, txfer);
1081
+ break;
1082
+ }
1083
+ if (!didMerge) transfersByKey[key].push(txfer);
1084
+ }
1052
1085
  }
1053
1086
  }
1054
1087
  const unmatchedFrom = {};
1055
1088
  const unmatchedTo = {};
1056
- for(const key in transfersByKey){
1057
- const txfer = transfersByKey[key];
1089
+ for(const key in transfersByKey)for (const txfer of transfersByKey[key]){
1058
1090
  if (!txfer.from) {
1059
1091
  if (!unmatchedFrom[txfer.token]) unmatchedFrom[txfer.token] = [];
1060
1092
  unmatchedFrom[txfer.token].push(txfer);
@@ -1063,7 +1095,7 @@ const $290fd8bc430da9f0$export$1f0fe79deb1b813b = {
1063
1095
  if (!unmatchedTo[txfer.token]) unmatchedTo[txfer.token] = [];
1064
1096
  unmatchedTo[txfer.token].push(txfer);
1065
1097
  delete transfersByKey[key];
1066
- }
1098
+ } else transfers.push(txfer);
1067
1099
  }
1068
1100
  for(const token in unmatchedFrom)if (unmatchedTo[token]?.length && unmatchedFrom[token]?.length) {
1069
1101
  const unmatchedDiff = unmatchedTo[token].reduce((a, b)=>a + BigInt(b.amount), BigInt(0)) - unmatchedFrom[token].reduce((a, b)=>a + BigInt(b.amount), BigInt(0));
@@ -1071,15 +1103,68 @@ const $290fd8bc430da9f0$export$1f0fe79deb1b813b = {
1071
1103
  unmatchedTo[token].sort((a, b)=>a.amount > b.amount ? 1 : -1);
1072
1104
  unmatchedFrom[token].forEach((um)=>{
1073
1105
  um.from = unmatchedTo[token][0].from;
1074
- transfersByKey[`${token}-${um.amount.toString()}`] = um;
1106
+ transfers.push(um);
1075
1107
  });
1076
1108
  }
1077
1109
  }
1078
- transfers.push(...Object.values(transfersByKey));
1079
1110
  }
1080
1111
  return transfers;
1081
1112
  },
1082
1113
  tests: [
1114
+ {
1115
+ params: {
1116
+ network: "SOLANA",
1117
+ walletAddress: "DgC9bBDvJYeVyTqcp8nW5F5USNvxBiZ9NMoTUVy5UVPz",
1118
+ contractAddress: "6MQpbiTC2YcogidTmKqMLK82qvE9z5QEm7EP3AEDpump"
1119
+ },
1120
+ payload: "https://jiti.indexing.co/networks/solana/345871978",
1121
+ output: [
1122
+ {
1123
+ amount: 10492578617n,
1124
+ blockNumber: 324081557,
1125
+ from: "DgC9bBDvJYeVyTqcp8nW5F5USNvxBiZ9NMoTUVy5UVPz",
1126
+ timestamp: "2025-06-10T12:06:56.000Z",
1127
+ to: "ChkRerg6X89xHYqV4iBqcboBdU1WA8Uvs9fp2yZrqbg",
1128
+ token: "6MQpbiTC2YcogidTmKqMLK82qvE9z5QEm7EP3AEDpump",
1129
+ tokenType: "TOKEN",
1130
+ transactionGasFee: 2506024n,
1131
+ transactionHash: "65sABMeYatoyzsp1mL6UjAXoBqUdw47HR33ouvR9BFNipTNydqvWTt8PMbVqZZfvnX3TzwB3XSdk55cy3N6u8okR"
1132
+ },
1133
+ {
1134
+ amount: 10492578617n,
1135
+ blockNumber: 324081557,
1136
+ from: "DgC9bBDvJYeVyTqcp8nW5F5USNvxBiZ9NMoTUVy5UVPz",
1137
+ timestamp: "2025-06-10T12:06:56.000Z",
1138
+ to: "3shatpFgdVVwy8Pr723iE9L1fozzaXNdGYKtgrSwHYeJ",
1139
+ token: "6MQpbiTC2YcogidTmKqMLK82qvE9z5QEm7EP3AEDpump",
1140
+ tokenType: "TOKEN",
1141
+ transactionGasFee: 2506024n,
1142
+ transactionHash: "65sABMeYatoyzsp1mL6UjAXoBqUdw47HR33ouvR9BFNipTNydqvWTt8PMbVqZZfvnX3TzwB3XSdk55cy3N6u8okR"
1143
+ },
1144
+ {
1145
+ amount: 16788125787n,
1146
+ blockNumber: 324081557,
1147
+ from: "DgC9bBDvJYeVyTqcp8nW5F5USNvxBiZ9NMoTUVy5UVPz",
1148
+ timestamp: "2025-06-10T12:06:56.000Z",
1149
+ to: "GWPLjamb5ZxrGbTsYNWW7V3p1pAMryZSfaPFTdaEsWgC",
1150
+ token: "6MQpbiTC2YcogidTmKqMLK82qvE9z5QEm7EP3AEDpump",
1151
+ tokenType: "TOKEN",
1152
+ transactionGasFee: 2506024n,
1153
+ transactionHash: "65sABMeYatoyzsp1mL6UjAXoBqUdw47HR33ouvR9BFNipTNydqvWTt8PMbVqZZfvnX3TzwB3XSdk55cy3N6u8okR"
1154
+ },
1155
+ {
1156
+ amount: 4197031447n,
1157
+ blockNumber: 324081557,
1158
+ from: "DgC9bBDvJYeVyTqcp8nW5F5USNvxBiZ9NMoTUVy5UVPz",
1159
+ timestamp: "2025-06-10T12:06:56.000Z",
1160
+ to: "ANcfLC9JcbYbEWu71fE8973V8S6vD5hS98RNrz56hrT7",
1161
+ token: "6MQpbiTC2YcogidTmKqMLK82qvE9z5QEm7EP3AEDpump",
1162
+ tokenType: "TOKEN",
1163
+ transactionGasFee: 2506024n,
1164
+ transactionHash: "65sABMeYatoyzsp1mL6UjAXoBqUdw47HR33ouvR9BFNipTNydqvWTt8PMbVqZZfvnX3TzwB3XSdk55cy3N6u8okR"
1165
+ }
1166
+ ]
1167
+ },
1083
1168
  {
1084
1169
  params: {
1085
1170
  network: "SOLANA",
@@ -1290,7 +1375,7 @@ const $290fd8bc430da9f0$export$1f0fe79deb1b813b = {
1290
1375
  }
1291
1376
  ]
1292
1377
  }
1293
- ].slice(0)
1378
+ ]
1294
1379
  };
1295
1380
 
1296
1381