Im using this code to detect for metamask.
Now im using ropsten but i want to know how does metamsk know that my contract only works with ropsten?
window.addEventListener('load', async () => {
// Modern dapp browsers...
if (window.ethereum) {
window.web3 = new Web3(ethereum);
try {
await ethereum.enable();
var accounts= await web3.eth.getAccounts();
var option={from: accounts[0] };
var contract = new web3.eth.Contract(abi,address);
const agiContract = new web3.eth.Contract(agiabi,agiContractAddress);
const balance = await contract.methods.balanceOf(accounts[0]).call();
const myDivs = await contract.methods.dividendsOf(accounts[0]).call();
var supply = await contract.methods.totalSupply().call();
var agiBalance = await contract.methods.totalAgiBalance().call();
const agiAccountBalance = await agiContract.methods.balanceOf(accounts[0]).call();
document.getElementById('agiAvailable').innerHTML = agiAccountBalance/100000000;
document.getElementById('agiContractBalance').innerHTML = agiBalance/100000000 + ' AGI';
document.getElementById('contractBalanceSnet').innerHTML = supply/100000000 + ' SNET';
document.getElementById('snet-holding').innerHTML = balance/100000000;
document.getElementById('myDividends').innerHTML = myDivs/100000000;
document.getElementById('wallet').innerHTML = accounts;
ethereum.on('accountsChanged', async (accounts) => {
await ethereum.enable();
var accounts= await web3.eth.getAccounts();
var option={from: accounts[0] };
var contract = new web3.eth.Contract(abi,address);
const agiContract = new web3.eth.Contract(agiabi,agiContractAddress);
const balance = await contract.methods.balanceOf(accounts[0]).call();
const myDivs = await contract.methods.dividendsOf(accounts[0]).call();
var supply = await contract.methods.totalSupply().call();
var agiBalance = await contract.methods.totalAgiBalance().call();
const agiAccountBalance = await agiContract.methods.balanceOf(accounts[0]).call();
document.getElementById('agiAvailable').innerHTML = agiAccountBalance/100000000;
document.getElementById('agiContractBalance').innerHTML = agiBalance/100000000;
document.getElementById('contractBalanceSnet').innerHTML = supply/100000000;
document.getElementById('snet-holding').innerHTML = balance/100000000;
document.getElementById('myDividends').innerHTML = myDivs/100000000;
document.getElementById('wallet').innerHTML = accounts;
})
} catch (error) {
// User denied account access...
console.log(error)
}
}
// Legacy dapp browsers...
else if (window.web3) {
window.web3 = new Web3(web3.currentProvider);
// Acccounts always exposed
web3.eth.sendTransaction({/* ... */});
}
// Non-dapp browsers...
else {
document.getElementById('wallet').innerHTML = "Use Metamask on a Desktop or use TrustWallet on a mobile";
document.getElementById('agiAvailable').innerHTML = "<a href='https://binance.com/' style='color:green'>BUY</a> ";
}
});