1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import {countTransactionPeriods} from "@/utils/getZksyncData/procotols/countTransactionPeriods.js";
- const zkSyncIdAddresses = ['0xa531ece441138d8ce52642ad497059f2a79fd96f'];
- export const ZkSyncId = {
- getProtocolsState: (transactions, address) => {
- const protocolState = {
- name: 'zkSync ID',
- id: 'zksyncid',
- lastActivity: '',
- volume: 0,
- interactions: 0,
- activeDays: 0,
- approves: 0,
- url: 'https://www.zksyncid.xyz/',
- };
- transactions.forEach((transaction) => {
- if (
- zkSyncIdAddresses.includes(transaction.to.toLowerCase()) ||
- zkSyncIdAddresses.includes(transaction.to.toLowerCase())
- ) {
- if (protocolState.lastActivity === '') protocolState.lastActivity = transaction.receivedAt;
- if (new Date(protocolState.lastActivity) < new Date(transaction.receivedAt))
- protocolState.lastActivity = transaction.receivedAt;
- protocolState.interactions += 1;
- const transfers = transaction.transfers.sort(
- (a, b) =>
- parseInt(b.amount) * 10 ** -b.token.decimals * b.token.price -
- parseInt(a.amount) * 10 ** -a.token.decimals * a.token.price,
- );
- if (transfers.length === 0) return;
- protocolState.volume +=
- parseInt(transfers[0].amount) * 10 ** -transfers[0].token.decimals * transfers[0].token.price;
- }
- });
- protocolState.activeDays = countTransactionPeriods(address, transactions, protocolState.id, zkSyncIdAddresses).days;
- return protocolState;
- },
- };
|