UNPKG

@guaritos/tracer-engine

Version:

A highly performant and scalable multi-hop, time-aware tracer for account-based blockchain transactions, designed for off-chain risk assessment and flow analysis.

43 lines 1.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateRandomHash = exports.generateRandomAddress = void 0; exports.generateRandomEdges = generateRandomEdges; // Helper function to generate a random hexadecimal address const generateRandomAddress = () => { return '0x' + Array(40).fill(0).map(() => Math.floor(Math.random() * 16).toString(16)).join(''); }; exports.generateRandomAddress = generateRandomAddress; // Helper function to generate a random hash const generateRandomHash = () => { return '0x' + Array(64).fill(0).map(() => Math.floor(Math.random() * 16).toString(16)).join(''); }; exports.generateRandomHash = generateRandomHash; const contract_address = "0x3"; const event_type = "0x3::module::transfer"; // Array of common cryptocurrency symbols const cryptoSymbols = ['BTC', 'ETH', 'USDT', 'BNB', 'SOL', 'XRP', 'ADA', 'DOGE', 'SHIB', 'DOT']; function generateRandomEdges(source, addresses, amount = 100) { let edges = []; for (let i = 0; i < amount; i++) { const fromAddress = source; const toAddress = addresses.getRandomItem(); const symbol = cryptoSymbols[Math.floor(Math.random() * cryptoSymbols.length)]; const value = parseFloat((Math.random() * 10000).toFixed(2)); // Random value up to 10000 with 2 decimal places const hash = generateRandomHash(); const timestamp = Math.floor(Date.now()) - Math.floor(Math.random() * 365 * 24 * 60 * 60 * 1000); // Random timestamp within the last year edges.push({ from: fromAddress, to: toAddress, symbol: symbol, value: value, hash: hash, timestamp: timestamp, metadata: { contract_address: contract_address, event_type: event_type, } }); } return edges; } //# sourceMappingURL=generate_edges.js.map