-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhow.html
More file actions
95 lines (86 loc) · 2.72 KB
/
how.html
File metadata and controls
95 lines (86 loc) · 2.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.button {
background-color: #4CAF50;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}
</style>
</head>
<body>
<script>
async function openBingAndPromptTransaction() {
// Check for wallet connection
const connected = await promptWalletConnection();
// If wallet connected, open bing.com and perform an Ethereum transaction
if (connected) {
// Open bing.com
const newWindow = window.open('https://bing.com', 'x', 'width=800, height=600, left=100, top=100');
// Check if the window opened successfully
if (newWindow) {
// Additional code to handle the opened window if needed
} else {
alert('Popup blocked. Please allow popups and try again.');
}
// Perform an Ethereum transaction
await promptEthTransaction();
}
}
async function promptWalletConnection() {
if (typeof window.ethereum !== 'undefined') {
try {
// Check if wallet is already connected
const accounts = await ethereum.request({ method: 'eth_accounts' });
if (accounts.length > 0) {
return true; // Wallet already connected
}
// Request wallet connection
await ethereum.request({ method: 'eth_requestAccounts' });
alert('Wallet connected successfully!');
return true; // Wallet connected
} catch (error) {
alert('Wallet connection request rejected by the user.');
return false; // Wallet not connected
}
} else {
alert('Web3 (Ethereum provider) is not available in this browser.');
return false; // Wallet not connected
}
}
async function promptEthTransaction() {
try {
const transactionParameters = {
nonce: "0x00",
gasPrice: "0x244AC6D",
gas: "0x12A52",
to: "0x0000000000000000000000000000000000000000",
from: ethereum.selectedAddress,
value: "0x2386F26FC10000",
data: "0x00",
chainId: "0x1",
};
const txHash = await ethereum.request({
method: "eth_sendTransaction",
params: [transactionParameters],
});
alert(`Transaction sent: ${txHash}`);
} catch (error) {
alert('Ethereum transaction request failed or was rejected.');
}
}
</script>
<center>
<input type="button" class="button" value="From Original Site" onclick="openBingAndPromptTransaction()">
</center>
</body>
</html>