mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
96929d99c0
What - modify `ui/app/helpers/utils/transactions.util.js` and `ui/lib/account-link.js` to strip trailing slashes if they are present. - added relevant tests not just for the new scenario, but also the general scenarios for these functions, as there previously was no test coverage for these two functions. Why - Current behaviour, when user enters a block explorer URL when configuring a custom RPC, and that block explorer URL contains a trailing `/`. - e.g. `https://block.explorer/` - this results in a double-slash (`//`) in the transaction and account URLs generated by MetaMask. - e.g. `https://block.explorer/tx/0xabcd...`, `https://block.explorer/account/0xabcd...` - This needs to be handled using a router redirect on the server of the block explorer, and this changes would avoid that requirement.
34 lines
944 B
JavaScript
34 lines
944 B
JavaScript
export default function getAccountLink (address, network, rpcPrefs) {
|
|
if (rpcPrefs && rpcPrefs.blockExplorerUrl) {
|
|
return `${rpcPrefs.blockExplorerUrl.replace(/\/+$/, '')}/address/${address}`
|
|
}
|
|
|
|
const net = parseInt(network)
|
|
let link
|
|
switch (net) {
|
|
case 1: // main net
|
|
link = `https://etherscan.io/address/${address}`
|
|
break
|
|
case 2: // morden test net
|
|
link = `https://morden.etherscan.io/address/${address}`
|
|
break
|
|
case 3: // ropsten test net
|
|
link = `https://ropsten.etherscan.io/address/${address}`
|
|
break
|
|
case 4: // rinkeby test net
|
|
link = `https://rinkeby.etherscan.io/address/${address}`
|
|
break
|
|
case 42: // kovan test net
|
|
link = `https://kovan.etherscan.io/address/${address}`
|
|
break
|
|
case 5: // goerli test net
|
|
link = `https://goerli.etherscan.io/address/${address}`
|
|
break
|
|
default:
|
|
link = ''
|
|
break
|
|
}
|
|
|
|
return link
|
|
}
|