ETH Price: $2,059.67 (-0.81%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Withdraw244307222026-02-11 3:04:114 days ago1770779051IN
MetaMask: Swaps Spender
0 ETH0.000000820.03909913
Withdraw244307222026-02-11 3:04:114 days ago1770779051IN
MetaMask: Swaps Spender
0 ETH0.000000820.03909913
Withdraw244307222026-02-11 3:04:114 days ago1770779051IN
MetaMask: Swaps Spender
0 ETH0.000000820.03909913
Withdraw244307042026-02-11 3:00:354 days ago1770778835IN
MetaMask: Swaps Spender
0 ETH0.000000920.04394215
Withdraw241545602026-01-03 13:56:4742 days ago1767448607IN
MetaMask: Swaps Spender
0 ETH0.000001060.0492479
Withdraw241544222026-01-03 13:29:1142 days ago1767446951IN
MetaMask: Swaps Spender
0 ETH0.000001430.06621068
Claim236735702025-10-28 4:33:47110 days ago1761626027IN
MetaMask: Swaps Spender
0 ETH0.000090054.08390419
Claim236735522025-10-28 4:30:11110 days ago1761625811IN
MetaMask: Swaps Spender
0 ETH0.000089954.07975014
Claim236735132025-10-28 4:22:23110 days ago1761625343IN
MetaMask: Swaps Spender
0 ETH0.000121065.49044089
Transfer229012082025-07-12 6:10:35218 days ago1752300635IN
MetaMask: Swaps Spender
0 ETH0.000013250.63010816
Transfer225634692025-05-26 0:41:11265 days ago1748220071IN
MetaMask: Swaps Spender
0 ETH0.000007650.36366823
Transfer223838252025-04-30 19:04:47290 days ago1746039887IN
MetaMask: Swaps Spender
0 ETH0.000009250.43989858
0x00000000223654482025-04-28 5:23:11293 days ago1745817791IN
MetaMask: Swaps Spender
0.0001984 ETH0.000009450.44030314
Transfer From218569652025-02-16 5:46:23364 days ago1739684783IN
MetaMask: Swaps Spender
0 ETH0.00001670.75822163
Transfer218569552025-02-16 5:44:23364 days ago1739684663IN
MetaMask: Swaps Spender
0 ETH0.000015450.71267177
Withdraw216678012025-01-20 19:29:35390 days ago1737401375IN
MetaMask: Swaps Spender
0 ETH0.0006355830.03718006
Stop216677982025-01-20 19:28:59390 days ago1737401339IN
MetaMask: Swaps Spender
0 ETH0.0006642931.39398943
Transfer216317872025-01-15 18:50:47395 days ago1736967047IN
MetaMask: Swaps Spender
0.01585 ETH0.0003202115.21913646
Skim205916882024-08-23 13:46:47540 days ago1724420807IN
MetaMask: Swaps Spender
0 ETH0.000043052
Transfer190794672024-01-24 22:27:11752 days ago1706135231IN
MetaMask: Swaps Spender
0.15 ETH0.000197779.40013428
Transfer189863512024-01-11 21:27:35765 days ago1705008455IN
MetaMask: Swaps Spender
0.00765 ETH0.0004872223.1571633
Transfer184660552023-10-30 22:49:11838 days ago1698706151IN
MetaMask: Swaps Spender
0.00042069 ETH0.0005773327.4399287
Transfer177610372023-07-24 5:59:59937 days ago1690178399IN
MetaMask: Swaps Spender
0 ETH0.0002778513.20597555
Transfer177054422023-07-16 11:05:59944 days ago1689505559IN
MetaMask: Swaps Spender
0.33628013 ETH0.0003257315.48163486
Transfer176046652023-07-02 6:52:11959 days ago1688280731IN
MetaMask: Swaps Spender
0.2 ETH0.0002784213.23326189
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer244615382026-02-15 10:14:351 min ago1771150475
MetaMask: Swaps Spender
0.00077993 ETH
Transfer244615382026-02-15 10:14:351 min ago1771150475
MetaMask: Swaps Spender
0.00000688 ETH
Transfer244615382026-02-15 10:14:351 min ago1771150475
MetaMask: Swaps Spender
0.00078681 ETH
Transfer244615312026-02-15 10:13:112 mins ago1771150391
MetaMask: Swaps Spender
0.00013125 ETH
Swap244615312026-02-15 10:13:112 mins ago1771150391
MetaMask: Swaps Spender
0.01486875 ETH
Swap244615312026-02-15 10:13:112 mins ago1771150391
MetaMask: Swaps Spender
0.015 ETH
Transfer244615302026-02-15 10:12:592 mins ago1771150379
MetaMask: Swaps Spender
0.00172628 ETH
Swap244615302026-02-15 10:12:592 mins ago1771150379
MetaMask: Swaps Spender
0.19438333 ETH
Swap244615302026-02-15 10:12:592 mins ago1771150379
MetaMask: Swaps Spender
0.19610962 ETH
Transfer244615292026-02-15 10:12:473 mins ago1771150367
MetaMask: Swaps Spender
0.00000175 ETH
Swap244615292026-02-15 10:12:473 mins ago1771150367
MetaMask: Swaps Spender
0.00019825 ETH
Swap244615292026-02-15 10:12:473 mins ago1771150367
MetaMask: Swaps Spender
0.0002 ETH
Transfer244615212026-02-15 10:11:114 mins ago1771150271
MetaMask: Swaps Spender
0.0078502 ETH
Transfer244615212026-02-15 10:11:114 mins ago1771150271
MetaMask: Swaps Spender
0.00006929 ETH
Transfer244615212026-02-15 10:11:114 mins ago1771150271
MetaMask: Swaps Spender
0.0079195 ETH
Transfer244615202026-02-15 10:10:594 mins ago1771150259
MetaMask: Swaps Spender
0.00465924 ETH
Transfer244615202026-02-15 10:10:594 mins ago1771150259
MetaMask: Swaps Spender
0.00004112 ETH
Transfer244615202026-02-15 10:10:594 mins ago1771150259
MetaMask: Swaps Spender
0.00470037 ETH
Deposit244615202026-02-15 10:10:594 mins ago1771150259
MetaMask: Swaps Spender
0.005 ETH
Swap244615202026-02-15 10:10:594 mins ago1771150259
MetaMask: Swaps Spender
0.005 ETH
Transfer244615192026-02-15 10:10:475 mins ago1771150247
MetaMask: Swaps Spender
0.02841903 ETH
Transfer244615192026-02-15 10:10:475 mins ago1771150247
MetaMask: Swaps Spender
0.00025086 ETH
Transfer244615192026-02-15 10:10:475 mins ago1771150247
MetaMask: Swaps Spender
0.0286699 ETH
Deposit244615192026-02-15 10:10:475 mins ago1771150247
MetaMask: Swaps Spender
0.003 ETH
Swap244615192026-02-15 10:10:475 mins ago1771150247
MetaMask: Swaps Spender
0.003 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Spender

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 2: Spender.3372a096.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

import "./Constants.84ef19f8.sol";

contract Spender {
    address public immutable metaswap;

    constructor() public {
        metaswap = msg.sender;
    }

    /// @dev Receives ether from swaps
    fallback() external payable {}

    function swap(address adapter, bytes calldata data) external payable {
        require(msg.sender == metaswap, "FORBIDDEN");
        require(adapter != address(0), "ADAPTER_NOT_PROVIDED");
        _delegate(adapter, data, "ADAPTER_DELEGATECALL_FAILED");
    }

    /**
     * @dev Performs a delegatecall and bubbles up the errors, adapted from
     * https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Address.sol
     * @param target Address of the contract to delegatecall
     * @param data Data passed in the delegatecall
     * @param errorMessage Fallback revert reason
     */
    function _delegate(
        address target,
        bytes memory data,
        string memory errorMessage
    ) private returns (bytes memory) {
        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.delegatecall(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

File 2 of 2: Constants.84ef19f8.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

library Constants {
    address internal constant ETH = 0x0000000000000000000000000000000000000000;
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"metaswap","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adapter","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","outputs":[],"stateMutability":"payable","type":"function"}]

60a060405234801561001057600080fd5b5033606081901b60805261048b6100356000398060f85280610132525061048b6000f3fe6080604052600436106100295760003560e01c80634776e4731461002b578063e354733514610069575b005b34801561003757600080fd5b506100406100f6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100296004803603604081101561007f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691908101906040810160208201356401000000008111156100b757600080fd5b8201836020820111156100c957600080fd5b803590602001918460018302840111640100000000831117156100eb57600080fd5b50909250905061011a565b7f000000000000000000000000000000000000000000000000000000000000000081565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146101be57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831661024057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f414441505445525f4e4f545f50524f5649444544000000000000000000000000604482015290519081900360640190fd5b6102b58383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601b81527f414441505445525f44454c454741544543414c4c5f4641494c45440000000000602082015291506102bb9050565b50505050565b6060600060608573ffffffffffffffffffffffffffffffffffffffff16856040518082805190602001908083835b6020831061032657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016102e9565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610386576040519150601f19603f3d011682016040523d82523d6000602084013e61038b565b606091505b5091509150811561039f57915061044e9050565b8051156103af5780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104135781810151838201526020016103fb565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b939250505056fea2646970667358221220fcb8f4f30203340a84fb3281a8f6f11931d3bba7bfc927a40ff42c9624d5f0ba64736f6c634300060c0033

Deployed Bytecode

0x6080604052600436106100295760003560e01c80634776e4731461002b578063e354733514610069575b005b34801561003757600080fd5b506100406100f6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100296004803603604081101561007f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691908101906040810160208201356401000000008111156100b757600080fd5b8201836020820111156100c957600080fd5b803590602001918460018302840111640100000000831117156100eb57600080fd5b50909250905061011a565b7f000000000000000000000000881d40237659c251811cec9c364ef91dc08d300c81565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000881d40237659c251811cec9c364ef91dc08d300c16146101be57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831661024057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f414441505445525f4e4f545f50524f5649444544000000000000000000000000604482015290519081900360640190fd5b6102b58383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601b81527f414441505445525f44454c454741544543414c4c5f4641494c45440000000000602082015291506102bb9050565b50505050565b6060600060608573ffffffffffffffffffffffffffffffffffffffff16856040518082805190602001908083835b6020831061032657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016102e9565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610386576040519150601f19603f3d011682016040523d82523d6000602084013e61038b565b606091505b5091509150811561039f57915061044e9050565b8051156103af5780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104135781810151838201526020016103fb565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b939250505056fea2646970667358221220fcb8f4f30203340a84fb3281a8f6f11931d3bba7bfc927a40ff42c9624d5f0ba64736f6c634300060c0033

Deployed Bytecode Sourcemap

100:1748:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;124:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;313:263;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;313:263:1;;-1:-1:-1;313:263:1;-1:-1:-1;313:263:1;:::i;124:33::-;;;:::o;313:263::-;401:10;:22;415:8;401:22;;393:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;456:21;;;448:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;513:55;523:7;532:4;;513:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;513:55:1;;;;;;;;;;;;;;;;;;-1:-1:-1;513:9:1;;-1:-1:-1;513:55:1:i;:::-;;313:263;;;:::o;947:898::-;1080:12;1166;1180:23;1207:6;:19;;1227:4;1207:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1165:67;;;;1247:7;1243:595;;;1278:10;-1:-1:-1;1271:17:1;;-1:-1:-1;1271:17:1;1243:595;1392:17;;:21;1388:439;;1655:10;1649:17;1716:15;1703:10;1699:2;1695:19;1688:44;1603:148;1798:12;1791:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;947:898;;;;;;:::o

Swarm Source

ipfs://fcb8f4f30203340a84fb3281a8f6f11931d3bba7bfc927a40ff42c9624d5f0ba

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
0x74de5d4FCbf63E00296fd95d33236B9794016631
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.

`; } let ensZeroWidthWarningHtml = ""; if ($("#hdnIsEnsContainZeroWidthChars").val() == "true") { ensZeroWidthWarningHtml = `
${zeroWidthWarningMessage} Check the actual text at ENS.
`; } const contentHtml = `
Additional Info
Full Name:
ENS Name


Note:
  • Name tag is displayed due to forward and reverse resolution. Find out more.
  • A Domain Name is not necessarily held by a person popularly associated with the name.
${ensUnicodeWarningHtml} ${ensZeroWidthWarningHtml}
`; $('#ensName').popover({ html: true, content: contentHtml, trigger: 'manual', placement: 'right' }); $('#ensName').click(function (event) { $("#ensName").popover('toggle'); event.stopPropagation(); }); $('#ensName').on('shown.bs.popover', async () => { //disable tooltip when hovering over ens name in the main page $("[rel='tooltipEns']").each(function () { $(this).tooltip('hide'); $(this).tooltip('disable'); }); //call ajax here to get result if (!otherENSNamesHtml) { const resolvedAddressesModel = await getEnsResolvedAddress($("#hdnAddress").val(), $("#hdnEnsText").val()); otherENSNamesHtml = generateEnsPopoverGrid(resolvedAddressesModel.d); if (!otherENSNamesHtml) { otherENSNamesHtml = "There are no other names resolving to this address." } } $(".popOverEnsOwnedAddressTable").html(otherENSNamesHtml); $("#divENSDisplayName").html(ensDisplayName); // append more copy button for ENS let domainName = $("#hdnEnsText").val(); const copyEnsButtonHtml = ` `; $("#spanCopyENSAddress").html(copyEnsButtonHtml); $("[data-bs-toggle='tooltip']").tooltip(); }); $('#ensName').on('hidden.bs.popover', () => { $("[rel='tooltipEns']").each(function () { $(this).tooltip('enable'); }); }); $('#ensName').on('hide.bs.popover', () => { $("[data-bs-toggle='tooltip']").tooltip('hide'); }); $(document).click(function (e) { //$("#ensName").popover('hide'); const popoverElement = document.getElementById('popover-ens-preview'); const popoverTrigger = document.getElementById('ensName'); if (!popoverTrigger.contains(e.target) && (!popoverElement || !popoverElement.contains(e.target))) { $("#ensName").popover('hide'); } }) } async function getEnsResolvedAddress(address, currentEnsText) { try { const requestModel = { "lookupAddress": address, "primaryDomainName": currentEnsText, "provider": "ENS" }; const response = await $.ajax({ url: "/name-lookup-search.aspx/GetOtherDomainNameForAddress", type: "POST", contentType: "application/json", dataType: "json", data: JSON.stringify({ requestModel: requestModel }) }) return response; } catch { return ""; } } function generateEnsPopoverGrid(model) { if (!model || model.DomainNames.length == 0) { return ""; } let listOtherENSNames = ""; model.DomainNames.forEach(x => listOtherENSNames += x.Name); let moreOtherENSNames = ""; if (model.Total > 5) { moreOtherENSNames = `More ` } const result = `
Other names resolving to this address:
${listOtherENSNames} ${moreOtherENSNames}
`; return result; } // ===== end ENS name tag const tooltipForTokenHolding = 'More than 231 tokens found, listing and displaying the total balance of the first 200 tokens only. Click on the Coins icon to see the full list and balance.'; var adjustPosition = 0; $(document).ready(function () { switchAmountToValue(document.getElementById("headerAmountValue"), 'Value (USD)', 'Amount', true); switchAmountToValue(document.getElementById("headerIntAmountValue"), 'Value (USD)', 'Amount', true); switchMethodColumn(document.getElementById("headerMethod"), 'Method', 'Action', true); switchMethodColumn(document.getElementById("headerMethod_internaltx"), 'Method', 'Action', true); onDocumentReady(); $("[rel='tooltip']").tooltip(); $("[data-bs-toggle-second='tooltip']").tooltip({ trigger: 'hover' }); $("[rel='tooltipEns']").each(function () { $(this).tooltip({ title: $(this).attr("tooltip-title") }); }); //if (hash != '') { // activaTab(hash); //}; onAddressDocReady(); //// Note: this is causing "Copied" tooltip not showing when copy button is clicked in V3, and seems like not applicable to v3, comment out first in case there is issue //$('[data-bs-toggle="tooltip"]').click(function () { // $('[data-bs-toggle="tooltip"]').tooltip("hide"); //}); if (document.getElementById("copyaddressbutton")) { document.getElementById("copyaddressbutton").classList.remove("disabled"); } if ($("#txtSearchContract").length) { initialiseKeyupOnDocReady(); } if (!!$('#ensName')[0]) { initEnsNamePopOver(); } handleToggle(); $("#btnLoginRequired").attr("href", "/login?ref=" + window.location.pathname.slice(1)); if (window.matchMedia("(max-width: 767px)").matches) { // Mobile adjustPosition = 90; } else { // Others adjustPosition = 50; } if (tooltipForTokenHolding) { const dropdownMenuBalance = document.getElementById("dropdownMenuBalance"); if (dropdownMenuBalance) { const dropdownWrapper = dropdownMenuBalance.closest(".dropdown"); if (dropdownWrapper) { dropdownWrapper.setAttribute("title", tooltipForTokenHolding); new bootstrap.Tooltip(dropdownWrapper); } } } setIOState(); setFiltersStatus(); }); function displayAudit() { $('html, body').animate({ scrollTop: $("#auditReportId").offset().top - adjustPosition }); } function handleToggle() { var className = document.getElementsByClassName('editor'); var classNameCount = className.length; for (var j = 0; j t.innerWidth()) { if (mb + d > tb) { t.css('padding-bottom', ((mb + d) - tb)); } } else { t.css('overflow', 'visible'); } }).on('hidden.bs.dropdown', function () { $(this).css({ 'padding-bottom': '', 'overflow': '' }); }); var btn_ERC20_sort = { count: 0, reminder_count: 2, list: [], default_list: [], ERC20_sort_start: function (count) { if (document.getElementsByClassName('list-custom-divider-ERC20')[0]) { var self = this if (count != undefined) { self.count = count } var before_el = document.getElementsByClassName('list-custom-divider-ERC20')[0] var parent_el = before_el.parentNode var element_selector = parent_el.querySelectorAll(".list-custom-ERC20"); if (self.list.length == 0) { element_selector.forEach(function (e) { self.list.push(e); self.default_list.push(e); }); } $(".list-custom-ERC20").remove() var type = self.count % self.reminder_count self.sortList(type, parent_el, before_el); self.count++ } }, sortList: function (type, parent_el, before_el) { var self = this var sorted_list = [] var icon_el = $(before_el).find('button').find('i') switch (type) { case 1: icon_el.attr("class", "fad fa-sort-up") sorted_list = self.sortUsdAsc() break; default: icon_el.attr("class", "fad fa-sort-down") sorted_list = self.sortUsdDesc() } for (var i = sorted_list.length - 1; i >= 0; i--) { before_el.insertAdjacentElement('afterend', sorted_list[i]) } }, sortUsdAsc: function () { var self = this var sort_list = self.list sort_list.sort(function (a, b) { var target_a_value = self.formatCurrencyToNumber(a.querySelector('.list-usd-value').textContent.trim() || -1); var target_b_value = self.formatCurrencyToNumber(b.querySelector('.list-usd-value').textContent.trim() || -1); if (target_a_value == -1 || target_b_value == -1) { return 1; } if (target_a_value target_b_value) { return 1; } return 0 }); return sort_list }, sortUsdDesc: function () { var self = this var sort_list = self.list sort_list.sort(function (a, b) { var target_a_value = self.formatCurrencyToNumber(a.querySelector('.list-usd-value').textContent.trim() || -1); var target_b_value = self.formatCurrencyToNumber(b.querySelector('.list-usd-value').textContent.trim() || -1); if (target_a_value target_b_value) { return -1; } return 0 }); return sort_list }, formatCurrencyToNumber: function (strCurrency) { if (typeof strCurrency == "number") return strCurrency else return Number(strCurrency.replace(/[^0-9.-]+/g, "")); }, } $("#btn_ERC20_sort").on("click", function (event) { event.preventDefault(); setTimeout(function () { btn_ERC20_sort.ERC20_sort_start() }, 10) }) function hrefTokenHolding() { var location = "/tokenholdings?a=0x74de5d4FCbf63E00296fd95d33236B9794016631" var queryString = $("input.form-control.form-control-xs.search.mb-3")[0].value if (queryString) { location += "&q=" + queryString } window.location.href = location } function toggleLoginModal() { $('#loginRequiredModal').modal('toggle'); } function setIOState() { const mainAddress = $("#hdnAddress").val()?.toLowerCase(); const currentFilters = new URLSearchParams(window.location.search); const faddr = currentFilters.get("fadd")?.toLowerCase(); const taddr = currentFilters.get("tadd")?.toLowerCase(); $(".dropdown-item-io").removeClass("active"); if (taddr) { if (taddr.indexOf(mainAddress) != -1) { $("#btnInTxFilter").addClass("active"); $("#btnInIntlTxFilter").addClass("active"); $(".js-listbox-item").text("IN"); } else { $("#btnOutTxFilter").addClass("active"); $("#btnOutIntlTxFilter").addClass("active"); $(".js-listbox-item").text("OUT"); } } else if (faddr) { if (faddr.indexOf(mainAddress) != -1) { $("#btnOutTxFilter").addClass("active"); $("#btnOutIntlTxFilter").addClass("active"); $(".js-listbox-item").text("OUT"); } else { $("#btnInTxFilter").addClass("active"); $("#btnInIntlTxFilter").addClass("active"); $(".js-listbox-item").text("IN"); } } else { $("#btnAnyTxFilter").addClass("active"); $("#btnAnyIntlTxFilter").addClass("active"); $(".js-listbox-item").text("ANY"); } } function setFiltersStatus() { if (isSignedIn == "0") { disableControl("#dropdownMethod"); disableControl("#dropdownAge"); disableControl("#dropdownFrom"); disableControl("#dropdownIO"); disableControl("#dropdownTo"); disableControl("#btnDropdownAmount"); disableControl("#dropdownAgeIntlTxns"); disableControl("#dropdownFromIntlTxns"); disableControl("#dropdownIOIntlTxns"); disableControl("#dropdownToIntlTxns"); disableControl("#btnDropdownAmountIntlTxns"); $(".dropdown-filters").tooltip(); } } function disableControl(selector) { $(selector).prop("disabled", true); }