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