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