@indexing/jiti 0.0.18 → 0.0.20
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 +490 -4
- package/dist/main.js.map +1 -1
- package/dist/module.js +490 -4
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -321,9 +321,318 @@ const $6144a02851f23907$var$tokenTransfersTemplate = {
|
|
|
321
321
|
const TOKEN_TYPES = _ctx.params.tokenTypes || [];
|
|
322
322
|
let transfers = [];
|
|
323
323
|
switch(block._network){
|
|
324
|
-
|
|
325
|
-
|
|
324
|
+
case "APTOS":
|
|
325
|
+
case "APTOS_TESTNET":
|
|
326
|
+
for (const tx of block.transactions){
|
|
327
|
+
if (!tx?.events || !Array.isArray(tx.events)) break;
|
|
328
|
+
const timestamp = tx.timestamp ? new Date(parseInt(tx.timestamp) / 1000).toISOString() : null;
|
|
329
|
+
const txfersByKey = {};
|
|
330
|
+
for (const evt of tx.events)if ([
|
|
331
|
+
"0x1::coin::WithdrawEvent",
|
|
332
|
+
"0x1::coin::DepositEvent"
|
|
333
|
+
].includes(evt.type)) {
|
|
334
|
+
const amount = evt.data?.amount;
|
|
335
|
+
const key = `0x1-${amount}`;
|
|
336
|
+
txfersByKey[key] ||= {
|
|
337
|
+
amount: amount,
|
|
338
|
+
tokenAddress: null
|
|
339
|
+
};
|
|
340
|
+
if (evt.type.endsWith("WithdrawEvent")) txfersByKey[key].from = evt.guid?.account_address;
|
|
341
|
+
else txfersByKey[key].to = evt.guid?.account_address;
|
|
342
|
+
}
|
|
343
|
+
for (const partial of Object.values(txfersByKey)){
|
|
344
|
+
if (!partial.from || !partial.to) continue;
|
|
345
|
+
transfers.push({
|
|
346
|
+
amount: BigInt(partial.amount),
|
|
347
|
+
blockNumber: parseInt(block.block_height),
|
|
348
|
+
from: partial.from,
|
|
349
|
+
timestamp: timestamp,
|
|
350
|
+
to: partial.to,
|
|
351
|
+
token: partial.tokenAddress,
|
|
352
|
+
tokenType: "NATIVE",
|
|
353
|
+
transactionGasFee: BigInt(tx.gas_used),
|
|
354
|
+
transactionHash: tx.hash
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
break;
|
|
359
|
+
case "BITCOIN":
|
|
360
|
+
case "BITCOIN_TESTNET":
|
|
361
|
+
case "LITCOIN":
|
|
362
|
+
case "DOGECOIN":
|
|
363
|
+
for (const tx of block.tx){
|
|
364
|
+
const timestamp = tx.time ? new Date(tx.time * 1000).toISOString() : null;
|
|
365
|
+
const vin = tx.vin[0];
|
|
366
|
+
const vout = tx.vout;
|
|
367
|
+
const fromVout = Math.min(vin.vout || 1000, vout.length - 1);
|
|
368
|
+
const fromAddress = vin.prevout?.scriptPubKey?.address || vout[fromVout]?.scriptPubKey?.address || vout[fromVout]?.scriptPubKey?.addresses?.[0];
|
|
369
|
+
if (!fromAddress) break;
|
|
370
|
+
for (const v of vout)transfers.push({
|
|
371
|
+
amount: BigInt(Math.round(v.value * Math.pow(10, 8))),
|
|
372
|
+
blockNumber: block.height,
|
|
373
|
+
from: fromAddress,
|
|
374
|
+
timestamp: timestamp,
|
|
375
|
+
to: v.scriptPubKey.address || v.scriptPubKey.addresses?.[0],
|
|
376
|
+
transactionGasFee: BigInt(tx.fee || 0) * BigInt(Math.pow(10, 8)),
|
|
377
|
+
transactionHash: tx.txid,
|
|
378
|
+
token: null,
|
|
379
|
+
tokenType: "NATIVE"
|
|
380
|
+
});
|
|
381
|
+
break;
|
|
382
|
+
}
|
|
383
|
+
break;
|
|
384
|
+
case "CARDANO":
|
|
385
|
+
for (const tx of block.transactions){
|
|
386
|
+
const typedTx = tx;
|
|
387
|
+
if (!Array.isArray(typedTx.operations)) continue;
|
|
388
|
+
const transactionHash = typedTx.transaction_identifier?.hash || "";
|
|
389
|
+
const timestamp = typedTx.timestamp ? new Date(typedTx.timestamp).toISOString() : null;
|
|
390
|
+
const inputs = typedTx.operations.filter((op)=>op.type === "input");
|
|
391
|
+
const outputs = typedTx.operations.filter((op)=>op.type === "output");
|
|
392
|
+
if (!inputs.length && !outputs.length) break;
|
|
393
|
+
const fromAddress = inputs[0]?.account?.address;
|
|
394
|
+
if (!fromAddress) continue;
|
|
395
|
+
const sumInputs = inputs.reduce((acc, op)=>{
|
|
396
|
+
const val = BigInt(op.amount?.value || "0");
|
|
397
|
+
return acc + val;
|
|
398
|
+
}, BigInt(0));
|
|
399
|
+
const sumOutputs = outputs.reduce((acc, op)=>{
|
|
400
|
+
const val = BigInt(op.amount?.value || "0");
|
|
401
|
+
return acc + val;
|
|
402
|
+
}, BigInt(0));
|
|
403
|
+
const transactionFee = sumInputs + BigInt(sumOutputs);
|
|
404
|
+
for (const out of outputs){
|
|
405
|
+
const rawValue = out.amount?.value || "0";
|
|
406
|
+
const absoluteValue = BigInt(rawValue);
|
|
407
|
+
transfers.push({
|
|
408
|
+
amount: absoluteValue < 0 ? -absoluteValue : absoluteValue,
|
|
409
|
+
blockNumber: block.block_identifier.index,
|
|
410
|
+
from: fromAddress,
|
|
411
|
+
timestamp: timestamp,
|
|
412
|
+
to: out.account?.address || "",
|
|
413
|
+
token: out.amount?.currency?.symbol?.toUpperCase() === "ADA" ? null : out.amount?.currency?.symbol,
|
|
414
|
+
tokenType: out.amount?.currency?.symbol?.toUpperCase() === "ADA" ? "NATIVE" : "TOKEN",
|
|
415
|
+
transactionGasFee: transactionFee < 0 ? -transactionFee : transactionFee,
|
|
416
|
+
transactionHash: transactionHash
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
break;
|
|
421
|
+
case "RIPPLE":
|
|
422
|
+
if (!Array.isArray(block.transactions)) break;
|
|
423
|
+
for (const rawTx of block.transactions){
|
|
424
|
+
const typedTx = rawTx;
|
|
425
|
+
if (typedTx.TransactionType !== "Payment") continue;
|
|
426
|
+
const deliveredOrAmount = typedTx.metaData?.delivered_amount ?? typedTx.Amount ?? "0";
|
|
427
|
+
let tokenSymbol = "XRP";
|
|
428
|
+
let tokenType = "NATIVE";
|
|
429
|
+
let parsedAmount;
|
|
430
|
+
if (typeof deliveredOrAmount === "object") {
|
|
431
|
+
tokenSymbol = deliveredOrAmount.currency?.toUpperCase() ?? "UNKNOWN";
|
|
432
|
+
tokenType = "TOKEN";
|
|
433
|
+
const floatVal = parseFloat(deliveredOrAmount.value);
|
|
434
|
+
const smallestUnit = Math.round(floatVal * 1000000);
|
|
435
|
+
parsedAmount = BigInt(smallestUnit);
|
|
436
|
+
} else parsedAmount = BigInt(String(deliveredOrAmount));
|
|
437
|
+
transfers.push({
|
|
438
|
+
amount: parsedAmount,
|
|
439
|
+
blockNumber: parseInt(block.ledger_index, 10),
|
|
440
|
+
from: typedTx.Account ?? "UNKNOWN",
|
|
441
|
+
timestamp: typedTx.date ? new Date((typedTx.date + 946684800) * 1000).toISOString() : null,
|
|
442
|
+
to: typedTx.Destination ?? "UNKNOWN",
|
|
443
|
+
token: tokenSymbol,
|
|
444
|
+
tokenType: tokenType,
|
|
445
|
+
transactionGasFee: BigInt(typedTx.Fee ?? "0"),
|
|
446
|
+
transactionHash: typedTx.hash ?? ""
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
break;
|
|
450
|
+
case "SOLANA":
|
|
451
|
+
for (const tx of block.transactions){
|
|
452
|
+
const solanaTx = tx;
|
|
453
|
+
const txHash = solanaTx.transaction.signatures[0];
|
|
454
|
+
const timestamp = block.blockTime ? new Date(block.blockTime * 1000).toISOString() : null;
|
|
455
|
+
let txFee = BigInt(solanaTx.meta.fee);
|
|
456
|
+
if (txFee < BigInt(10)) txFee = txFee * BigInt(Math.pow(10, 9));
|
|
457
|
+
const transfersByKey = {};
|
|
458
|
+
for (const post of solanaTx.meta.postTokenBalances){
|
|
459
|
+
let matched = false;
|
|
460
|
+
for (const pre of solanaTx.meta.preTokenBalances)if (post.mint === pre.mint && post.owner === pre.owner) {
|
|
461
|
+
let diff = BigInt(post.uiTokenAmount.amount) - BigInt(pre.uiTokenAmount.amount);
|
|
462
|
+
if (diff === BigInt(0)) continue;
|
|
463
|
+
if (diff < 0) diff = -diff;
|
|
464
|
+
const key = `${post.mint}-${diff.toString()}`;
|
|
465
|
+
const txfer = {
|
|
466
|
+
amount: diff,
|
|
467
|
+
blockNumber: block.blockHeight,
|
|
468
|
+
from: pre.owner,
|
|
469
|
+
timestamp: timestamp,
|
|
470
|
+
to: post.owner,
|
|
471
|
+
transactionGasFee: txFee,
|
|
472
|
+
transactionHash: txHash,
|
|
473
|
+
token: post.mint,
|
|
474
|
+
tokenType: "TOKEN"
|
|
475
|
+
};
|
|
476
|
+
if (transfersByKey[key]) {
|
|
477
|
+
if (diff > 0) delete txfer.from;
|
|
478
|
+
else delete txfer.to;
|
|
479
|
+
}
|
|
480
|
+
transfersByKey[key] = Object.assign(transfersByKey[key] || {}, txfer);
|
|
481
|
+
matched = true;
|
|
482
|
+
}
|
|
483
|
+
if (!matched) {
|
|
484
|
+
let diff = BigInt(post.uiTokenAmount.amount);
|
|
485
|
+
if (diff < 0) diff = -diff;
|
|
486
|
+
const key = `${post.mint}-${diff.toString()}`;
|
|
487
|
+
const txfer = {
|
|
488
|
+
amount: diff,
|
|
489
|
+
blockNumber: block.blockHeight,
|
|
490
|
+
from: null,
|
|
491
|
+
timestamp: timestamp,
|
|
492
|
+
to: post.owner,
|
|
493
|
+
token: post.mint,
|
|
494
|
+
tokenType: "TOKEN",
|
|
495
|
+
transactionGasFee: txFee,
|
|
496
|
+
transactionHash: txHash
|
|
497
|
+
};
|
|
498
|
+
delete txfer.from;
|
|
499
|
+
transfersByKey[key] = Object.assign(transfersByKey[key] || {}, txfer);
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
for(let i = 1; i < solanaTx.meta.postBalances.length; i += 1){
|
|
503
|
+
const post = solanaTx.meta.postBalances[i];
|
|
504
|
+
const pre = solanaTx.meta.preBalances[i];
|
|
505
|
+
if (post !== undefined && pre !== undefined && post !== pre) {
|
|
506
|
+
let diff = BigInt(post) - BigInt(pre);
|
|
507
|
+
if (diff < 0) diff = -diff;
|
|
508
|
+
const key = `null-${diff.toString()}`;
|
|
509
|
+
const txfer = {
|
|
510
|
+
amount: diff,
|
|
511
|
+
blockNumber: block.blockHeight,
|
|
512
|
+
from: post > pre ? typeof solanaTx.transaction.message.accountKeys[0] === "string" ? solanaTx.transaction.message.accountKeys[0] : solanaTx.transaction.message.accountKeys[0]?.pubkey : typeof solanaTx.transaction.message.accountKeys[i] === "string" ? solanaTx.transaction.message.accountKeys[i] : solanaTx.transaction.message.accountKeys[i]?.pubkey,
|
|
513
|
+
timestamp: timestamp,
|
|
514
|
+
to: typeof solanaTx.transaction.message.accountKeys[i] === "string" ? solanaTx.transaction.message.accountKeys[i] : solanaTx.transaction.message.accountKeys[i]?.pubkey?.toString(),
|
|
515
|
+
token: null,
|
|
516
|
+
tokenType: "NATIVE",
|
|
517
|
+
transactionGasFee: txFee,
|
|
518
|
+
transactionHash: txHash
|
|
519
|
+
};
|
|
520
|
+
if (transfersByKey[key]) {
|
|
521
|
+
if (post > pre) delete txfer.from;
|
|
522
|
+
else delete txfer.to;
|
|
523
|
+
}
|
|
524
|
+
transfersByKey[key] = Object.assign(transfersByKey[key] || {}, txfer);
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
transfers.push(...Object.values(transfersByKey));
|
|
528
|
+
}
|
|
529
|
+
break;
|
|
530
|
+
case "STARKNET":
|
|
531
|
+
if (!Array.isArray(block.transactions)) break;
|
|
532
|
+
for (const tx of block.transactions){
|
|
533
|
+
const typedTx = tx;
|
|
534
|
+
const timestamp = block.timestamp ? new Date(block.timestamp * 1000).toISOString() : null;
|
|
535
|
+
let transactionGasFee = BigInt(0);
|
|
536
|
+
if (typedTx?.receipt?.actual_fee?.amount) transactionGasFee = BigInt(typedTx.receipt.actual_fee.amount);
|
|
537
|
+
const transactionHash = typedTx.transaction_hash;
|
|
538
|
+
if (!typedTx.receipt?.events) continue;
|
|
539
|
+
for (const event of typedTx.receipt.events){
|
|
540
|
+
if (!event.keys.includes("0x99cd8bde557814842a3121e8ddfd433a539b8c9f14bf31ebf108d12e6196e9")) continue;
|
|
541
|
+
if (event.data.length < 3) continue;
|
|
542
|
+
const [from, to, amountHex] = event.data;
|
|
543
|
+
const amount = BigInt(amountHex);
|
|
544
|
+
transfers.push({
|
|
545
|
+
amount: amount,
|
|
546
|
+
blockNumber: block.block_number,
|
|
547
|
+
from: from,
|
|
548
|
+
timestamp: timestamp,
|
|
549
|
+
to: to,
|
|
550
|
+
token: null,
|
|
551
|
+
tokenType: "NATIVE",
|
|
552
|
+
transactionGasFee: transactionGasFee,
|
|
553
|
+
transactionHash: transactionHash
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
break;
|
|
558
|
+
case "STELLAR":
|
|
559
|
+
for (const tx of block.transactions){
|
|
560
|
+
const typedTx = tx;
|
|
561
|
+
for (const op of typedTx.operations)if (op.type === "payment") transfers.push({
|
|
562
|
+
amount: BigInt(op.amount.replace(".", "")),
|
|
563
|
+
blockNumber: block.sequence,
|
|
564
|
+
from: op.from,
|
|
565
|
+
timestamp: typedTx.created_at,
|
|
566
|
+
to: op.to,
|
|
567
|
+
token: op.asset_type === "native" ? null : op.asset_issuer,
|
|
568
|
+
tokenType: op.asset_type === "native" ? "NATIVE" : "TOKEN",
|
|
569
|
+
transactionGasFee: BigInt(typedTx.fee_charged),
|
|
570
|
+
transactionHash: typedTx.hash
|
|
571
|
+
});
|
|
572
|
+
}
|
|
573
|
+
break;
|
|
574
|
+
case "SUI":
|
|
575
|
+
{
|
|
576
|
+
const blockNumber = block.sequence;
|
|
577
|
+
const blockTimestamp = new Date(block.timestamp).toISOString();
|
|
578
|
+
for (const tx of block.transactions || []){
|
|
579
|
+
const transactionHash = tx.digest;
|
|
580
|
+
const transactionGasFee = BigInt(tx.gasFee || "0");
|
|
581
|
+
for (const bc of tx.balanceChanges || [])transfers.push({
|
|
582
|
+
blockNumber: blockNumber,
|
|
583
|
+
from: tx.sender ? tx.sender : undefined,
|
|
584
|
+
to: tx.receiver ? tx.receiver : undefined,
|
|
585
|
+
amount: BigInt(bc.amount),
|
|
586
|
+
token: bc.coinRepr,
|
|
587
|
+
tokenType: "NATIVE",
|
|
588
|
+
timestamp: blockTimestamp,
|
|
589
|
+
transactionHash: transactionHash,
|
|
590
|
+
transactionGasFee: transactionGasFee
|
|
591
|
+
});
|
|
592
|
+
}
|
|
593
|
+
break;
|
|
594
|
+
}
|
|
595
|
+
case "TON":
|
|
596
|
+
{
|
|
597
|
+
const blockNumber = block.seqno;
|
|
598
|
+
const blockTimestamp = new Date(block.shards?.[0]?.gen_utime * 1000).toISOString();
|
|
599
|
+
for (const shard of block.shards || [])for (const tx of shard.transactions || []){
|
|
600
|
+
const transactionLT = tx.transaction_id.lt;
|
|
601
|
+
const transactionHash = tx.transaction_id.hash;
|
|
602
|
+
const transactionFee = BigInt(tx.fee || "0");
|
|
603
|
+
const inVal = BigInt(tx.in_msg?.value || "0");
|
|
604
|
+
if (inVal > 0n) transfers.push({
|
|
605
|
+
blockNumber: blockNumber,
|
|
606
|
+
from: tx.in_msg?.source?.account_address,
|
|
607
|
+
to: tx.address?.account_address,
|
|
608
|
+
amount: inVal,
|
|
609
|
+
token: "TON",
|
|
610
|
+
tokenType: "NATIVE",
|
|
611
|
+
timestamp: blockTimestamp,
|
|
612
|
+
transactionHash: transactionHash,
|
|
613
|
+
transactionGasFee: transactionFee
|
|
614
|
+
});
|
|
615
|
+
for (const outMsg of tx.out_msgs || []){
|
|
616
|
+
const outVal = BigInt(outMsg.value || "0");
|
|
617
|
+
if (outVal > 0n) transfers.push({
|
|
618
|
+
blockNumber: blockNumber,
|
|
619
|
+
from: outMsg.source?.account_address,
|
|
620
|
+
to: outMsg.destination?.account_address,
|
|
621
|
+
amount: outVal,
|
|
622
|
+
token: "TON",
|
|
623
|
+
tokenType: "NATIVE",
|
|
624
|
+
timestamp: blockTimestamp,
|
|
625
|
+
transactionHash: transactionHash,
|
|
626
|
+
transactionGasFee: transactionFee
|
|
627
|
+
});
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
break;
|
|
631
|
+
}
|
|
632
|
+
// attempt to introspect data types
|
|
326
633
|
default:
|
|
634
|
+
// @TODO: COSMOS
|
|
635
|
+
// otherwise assume EVM
|
|
327
636
|
for (const tx of block.transactions){
|
|
328
637
|
if (!tx.receipt) continue;
|
|
329
638
|
const timestamp = new Date(block.timestamp * 1000).toISOString();
|
|
@@ -375,7 +684,6 @@ const $6144a02851f23907$var$tokenTransfersTemplate = {
|
|
|
375
684
|
transactionHash: tx.hash
|
|
376
685
|
});
|
|
377
686
|
}
|
|
378
|
-
// @TODO: add NFT transfers
|
|
379
687
|
if (!TOKEN_TYPES.length || TOKEN_TYPES.includes("NFT")) for (const log of tx.receipt.logs){
|
|
380
688
|
const txfer = (0, $da55be3e40667945$export$cf548b70626e2eb9)(log, [
|
|
381
689
|
"Transfer(address indexed from, address indexed to, uint256 indexed value)",
|
|
@@ -436,9 +744,10 @@ const $6144a02851f23907$var$tokenTransfersTemplate = {
|
|
|
436
744
|
if (typeof _ctx.params.walletAddress === "string") _ctx.params.walletAddress = _ctx.params.walletAddress.toLowerCase();
|
|
437
745
|
break;
|
|
438
746
|
}
|
|
747
|
+
//console.log(transfers[0]);
|
|
439
748
|
transfers = transfers.filter((txfer)=>{
|
|
440
749
|
if (txfer.amount <= BigInt(0)) return false;
|
|
441
|
-
if (_ctx.params.contractAddress && _ctx.params.contractAddress !== txfer.token) return false;
|
|
750
|
+
if (_ctx.params.contractAddress && _ctx.params.contractAddress !== txfer.token && txfer.token) return false;
|
|
442
751
|
if (_ctx.params.walletAddress && ![
|
|
443
752
|
txfer.from,
|
|
444
753
|
txfer.to
|
|
@@ -448,6 +757,29 @@ const $6144a02851f23907$var$tokenTransfersTemplate = {
|
|
|
448
757
|
return transfers;
|
|
449
758
|
},
|
|
450
759
|
tests: [
|
|
760
|
+
// APTOS
|
|
761
|
+
{
|
|
762
|
+
params: {
|
|
763
|
+
network: "APTOS",
|
|
764
|
+
walletAddress: "0xb3589951a7d8579a2918a749260804047abc60438bf0738c4e67683e972b41cd",
|
|
765
|
+
contractAddress: "0x1"
|
|
766
|
+
},
|
|
767
|
+
payload: "https://jiti.indexing.co/networks/aptos/237372198",
|
|
768
|
+
output: [
|
|
769
|
+
{
|
|
770
|
+
amount: 12776498n,
|
|
771
|
+
blockNumber: 237372198,
|
|
772
|
+
from: "0xb3589951a7d8579a2918a749260804047abc60438bf0738c4e67683e972b41cd",
|
|
773
|
+
timestamp: "2024-10-10T16:59:34.414Z",
|
|
774
|
+
to: "0x1f5d15c9a1330389bda239ed2f40d8d2a2ba446e7a48ee57483a047d5ed1aafe",
|
|
775
|
+
token: null,
|
|
776
|
+
tokenType: "NATIVE",
|
|
777
|
+
transactionGasFee: 507n,
|
|
778
|
+
transactionHash: "0xbabaf20c07c80ace9f1f2f6539e0df6c57c9a6b24d5e62fa4989b46c0807d9bb"
|
|
779
|
+
}
|
|
780
|
+
]
|
|
781
|
+
},
|
|
782
|
+
// BASE
|
|
451
783
|
{
|
|
452
784
|
params: {
|
|
453
785
|
network: "BASE",
|
|
@@ -469,6 +801,160 @@ const $6144a02851f23907$var$tokenTransfersTemplate = {
|
|
|
469
801
|
transactionHash: "0x69c9b12ccbe2d4f2f1dfc7c4a8557fc099fc5df276424417815acbc79a06fd56"
|
|
470
802
|
}
|
|
471
803
|
]
|
|
804
|
+
},
|
|
805
|
+
// DOGECOIN
|
|
806
|
+
{
|
|
807
|
+
params: {
|
|
808
|
+
network: "DOGECOIN",
|
|
809
|
+
walletAddress: "DMqRVLrhbam3Kcfddpxd6EYvEBbpi3bEpP",
|
|
810
|
+
contractAddress: ""
|
|
811
|
+
},
|
|
812
|
+
payload: "https://jiti.indexing.co/networks/dogecoin/1000075",
|
|
813
|
+
output: [
|
|
814
|
+
{
|
|
815
|
+
amount: 1008521000000n,
|
|
816
|
+
blockNumber: 1000075,
|
|
817
|
+
from: "DMqRVLrhbam3Kcfddpxd6EYvEBbpi3bEpP",
|
|
818
|
+
to: "DMqRVLrhbam3Kcfddpxd6EYvEBbpi3bEpP",
|
|
819
|
+
token: null,
|
|
820
|
+
tokenType: "NATIVE",
|
|
821
|
+
transactionGasFee: 0n,
|
|
822
|
+
transactionHash: "9873fe46ab29f61cefdec498b691af68e0ad29a7599c94f42d2d4e9a5d461dbe",
|
|
823
|
+
timestamp: "2015-12-13T19:59:52.000Z"
|
|
824
|
+
}
|
|
825
|
+
]
|
|
826
|
+
},
|
|
827
|
+
// CARDANO
|
|
828
|
+
{
|
|
829
|
+
params: {
|
|
830
|
+
network: "CARDANO",
|
|
831
|
+
walletAddress: "addr1q9syxu908lef7r6rsvk0h7gsx3rxj22cuykgx2a2l4hcfd8e9y2e9vtv4w9dyej96w99wwj8hwgc273862lk6a3vt30qjjrund",
|
|
832
|
+
contractAddress: ""
|
|
833
|
+
},
|
|
834
|
+
payload: "https://jiti.indexing.co/networks/cardano/11443286",
|
|
835
|
+
output: [
|
|
836
|
+
{
|
|
837
|
+
amount: 1110000n,
|
|
838
|
+
blockNumber: 11443286,
|
|
839
|
+
from: "addr1qymdv285few5tyqvya86rl97r9e608njs37shfew6l2nn473aw2pcnrcvfwfgg2dnew99m4tjj0apsu7232w2euzwpysndh0h3",
|
|
840
|
+
timestamp: null,
|
|
841
|
+
to: "addr1q9syxu908lef7r6rsvk0h7gsx3rxj22cuykgx2a2l4hcfd8e9y2e9vtv4w9dyej96w99wwj8hwgc273862lk6a3vt30qjjrund",
|
|
842
|
+
token: null,
|
|
843
|
+
tokenType: "NATIVE",
|
|
844
|
+
transactionGasFee: 174257n,
|
|
845
|
+
transactionHash: "261c42ba9124f55d8e169ebb692cd3759d796a54369acb316ee449b546e79309"
|
|
846
|
+
}
|
|
847
|
+
]
|
|
848
|
+
},
|
|
849
|
+
// RIPPLE
|
|
850
|
+
{
|
|
851
|
+
params: {
|
|
852
|
+
network: "RIPPLE",
|
|
853
|
+
walletAddress: "rUUgoiJmjTPEbxfZ4RsS9pVS9Kv813Wpui",
|
|
854
|
+
contractAddress: ""
|
|
855
|
+
},
|
|
856
|
+
payload: "https://jiti.indexing.co/networks/ripple/88104659",
|
|
857
|
+
output: [
|
|
858
|
+
{
|
|
859
|
+
amount: 238n,
|
|
860
|
+
blockNumber: 88104659,
|
|
861
|
+
from: "rMAGnTv4eMWktZnhKa5cHcDiY84ZiKUaQm",
|
|
862
|
+
timestamp: null,
|
|
863
|
+
to: "rUUgoiJmjTPEbxfZ4RsS9pVS9Kv813Wpui",
|
|
864
|
+
token: "XRP",
|
|
865
|
+
tokenType: "NATIVE",
|
|
866
|
+
transactionGasFee: 15n,
|
|
867
|
+
transactionHash: "03564E6109261CDE73FCC5062C2A0A70F365CB1A0F9408C065B60EC3E94E4DBF"
|
|
868
|
+
}
|
|
869
|
+
]
|
|
870
|
+
},
|
|
871
|
+
// STELLAR
|
|
872
|
+
{
|
|
873
|
+
params: {
|
|
874
|
+
network: "STELLAR",
|
|
875
|
+
walletAddress: "GA5KLTNAWV27IOTBX5PKUOMVWFMLX4X7CPMQJ4QLR3G266MMVL7NMA4X",
|
|
876
|
+
contractAddress: "GC4Z2TDXU4GXVLHOS5P5SU6HKBCP7NKN4TJ5ZGTVRBW7MCBZTU7SNUSA"
|
|
877
|
+
},
|
|
878
|
+
payload: "https://jiti.indexing.co/networks/stellar/51720546",
|
|
879
|
+
output: [
|
|
880
|
+
{
|
|
881
|
+
amount: 150000n,
|
|
882
|
+
blockNumber: 51720546,
|
|
883
|
+
from: "GA5KLTNAWV27IOTBX5PKUOMVWFMLX4X7CPMQJ4QLR3G266MMVL7NMA4X",
|
|
884
|
+
timestamp: "2024-05-18T04:41:39Z",
|
|
885
|
+
to: "GC4Z2TDXU4GXVLHOS5P5SU6HKBCP7NKN4TJ5ZGTVRBW7MCBZTU7SNUSA",
|
|
886
|
+
token: "GC4Z2TDXU4GXVLHOS5P5SU6HKBCP7NKN4TJ5ZGTVRBW7MCBZTU7SNUSA",
|
|
887
|
+
tokenType: "TOKEN",
|
|
888
|
+
transactionGasFee: 100n,
|
|
889
|
+
transactionHash: "4fb2441210cbe87f5003abdfa86f03bafa54f789ed041feccbda0bd054297c4d"
|
|
890
|
+
}
|
|
891
|
+
]
|
|
892
|
+
},
|
|
893
|
+
// STARKNET
|
|
894
|
+
{
|
|
895
|
+
params: {
|
|
896
|
+
network: "STARKNET",
|
|
897
|
+
walletAddress: "0x309e6b209031362268d62d646a067365e6f6d6eb7f571b5212cbdfd5f26fe54",
|
|
898
|
+
contractAddress: ""
|
|
899
|
+
},
|
|
900
|
+
payload: "https://jiti.indexing.co/networks/starknet/1149460",
|
|
901
|
+
output: [
|
|
902
|
+
{
|
|
903
|
+
amount: 0x1c286f74458fc6n,
|
|
904
|
+
blockNumber: 1149460,
|
|
905
|
+
from: "0x309e6b209031362268d62d646a067365e6f6d6eb7f571b5212cbdfd5f26fe54",
|
|
906
|
+
timestamp: "2025-02-13T17:36:52.000Z",
|
|
907
|
+
to: "0x1176a1bd84444c89232ec27754698e5d2e7e1a7f1539f12027f28b23ec9f3d8",
|
|
908
|
+
token: null,
|
|
909
|
+
tokenType: "NATIVE",
|
|
910
|
+
transactionGasFee: 7925758505095110n,
|
|
911
|
+
transactionHash: "0x707203dba31f442ae9a5477e6a8906f3676effa0f1d3bb19cbbc14e1ddfe21"
|
|
912
|
+
}
|
|
913
|
+
]
|
|
914
|
+
},
|
|
915
|
+
//SUI
|
|
916
|
+
{
|
|
917
|
+
params: {
|
|
918
|
+
network: "SUI",
|
|
919
|
+
walletAddress: "0xfd0fb434d076e4cca300cf6534a5235b19ad184eedf49066726664ded42c6b5e",
|
|
920
|
+
contractAddress: ""
|
|
921
|
+
},
|
|
922
|
+
payload: "https://jiti.indexing.co/networks/sui/112336044",
|
|
923
|
+
output: [
|
|
924
|
+
{
|
|
925
|
+
blockNumber: 112336044,
|
|
926
|
+
from: "0xfd0fb434d076e4cca300cf6534a5235b19ad184eedf49066726664ded42c6b5e",
|
|
927
|
+
to: undefined,
|
|
928
|
+
amount: 180772n,
|
|
929
|
+
token: "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",
|
|
930
|
+
tokenType: "NATIVE",
|
|
931
|
+
timestamp: "2025-02-13T23:10:54.529Z",
|
|
932
|
+
transactionHash: "336V3wP8cHDAnB1Aku3j6n9948i8FG5N1eVP6Ac68BaE",
|
|
933
|
+
transactionGasFee: -4165572n
|
|
934
|
+
}
|
|
935
|
+
]
|
|
936
|
+
},
|
|
937
|
+
// TON
|
|
938
|
+
{
|
|
939
|
+
params: {
|
|
940
|
+
network: "TON",
|
|
941
|
+
walletAddress: "EQAFukUyzmHjUvOYDOjNE-wbZFFl2FWas1rFJoh8IiTsWD40",
|
|
942
|
+
contractAddress: ""
|
|
943
|
+
},
|
|
944
|
+
payload: "https://jiti.indexing.co/networks/ton/44919328",
|
|
945
|
+
output: [
|
|
946
|
+
{
|
|
947
|
+
blockNumber: 44919328,
|
|
948
|
+
from: "EQAFukUyzmHjUvOYDOjNE-wbZFFl2FWas1rFJoh8IiTsWD40",
|
|
949
|
+
to: "EQCFTFAHOU3vFt2NiZhRD5dwuS0k7GS59vIg3WfCKwfaQGW2",
|
|
950
|
+
amount: 10000000n,
|
|
951
|
+
token: "TON",
|
|
952
|
+
tokenType: "NATIVE",
|
|
953
|
+
timestamp: "2025-02-13T23:10:18.000Z",
|
|
954
|
+
transactionHash: "Vh5cWr2uvCsdhoouBQ+EiUcF54os9oqvh8A/62EroQc=",
|
|
955
|
+
transactionGasFee: 2355233n
|
|
956
|
+
}
|
|
957
|
+
]
|
|
472
958
|
}
|
|
473
959
|
]
|
|
474
960
|
};
|