@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
JavaScript
;
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