"; } else { for(var i = 0; i < itemsArray.length; i++) { var item = itemsArray[i]; var num = item.nn || (i + 1); var id = item.id || "-"; var theme = item.subj || "-"; var time = item.utime ? utime_to_localtime(item.utime) : "-"; var text = item.body || "-"; var link = item.link || ""; var msgKey = item.key || item.filter_key || null; txt += "
"; x.innerHTML = txt; } return; } if(!Array.isArray(filteredItems)) { console.error("filteredItems is not an array:", filteredItems); return; } var txt = ""; var x = document.getElementById("mm_msg_list"); if(!x) { console.error("mm_msg_list element not found"); return; } var filters = window.mm_msg_data.filters || {}; var qty = filteredItems.length; txt += "
"; txt += "
"; txt += "My messages (" + qty + ")"; txt += "
"; if(Object.keys(filters).length > 0) { txt += "
"; for(var key in filters) { if(filters.hasOwnProperty(key)) { var filterValue = filters[key]; var activeClass = (key === filterKey) ? " btn-primary" : " btn-outline-secondary"; var escapedKey = String(key).replace(/'/g, "\\'").replace(/"/g, """); txt += ""; } } txt += "
"; } if(filteredItems.length === 0) { txt += "
"; txt += "
No messages found for this filter
"; txt += "
"; } else { var allItems = window.mm_msg_data.allItems || []; var itemsMap = {}; for(var j = 0; j < allItems.length; j++) { var msg = allItems[j]; if(msg && msg.nn !== undefined && msg.nn !== null) { var msgNum = msg.nn; var numKey = Number(msgNum); var strKey = String(msgNum); itemsMap[numKey] = msg; itemsMap[strKey] = msg; } } for(var i = 0; i < filteredItems.length; i++) { var itemNum = filteredItems[i]; var item = null; var numKey = Number(itemNum); var strKey = String(itemNum); item = itemsMap[itemNum] || itemsMap[numKey] || itemsMap[strKey] || itemsMap[parseInt(itemNum)] || itemsMap[parseFloat(itemNum)]; if(!item) { console.error("Message not found for nn:", itemNum); continue; } var num = item.nn || (i + 1); var id = item.id || "-"; var theme = item.subj || "-"; var time = item.utime ? utime_to_localtime(item.utime) : "-"; var text = item.body || "-"; var link = item.link || ""; var msgKey = item.key || item.filter_key || null; txt += "
"; m["btn"] = "See you Trust Wallet"; } modal_tx_info_open(txt,m); } $('#modal_auth').modal('hide'); break; case "wallet_connect_v2": localStorage.removeItem("wc@2:core:0.3//messages"); localStorage.removeItem("wc@2:core:0.3//history"); web3modal.openModal(); $('#modal_auth').modal('hide'); localStorage.setItem("web3_prov", k); log("We are connected: "+k); setTimeout(() => { }, 2000); break; } } async function connectMetaMask() { if (window.ethereum) { try { const accounts = await window.ethereum.request({ method: 'eth_requestAccounts' }); set_selectedAccount(accounts[0]); localStorage.setItem("web3_prov","metamask"); provider = window.ethereum; log("signer2"); console.log(signer2); log('MetaMask connected'); modal_txs_close_timeout(); } catch (error) { if (error.code === 4001) { log('User cancel metamask connect'); } else { log('Metamask connect error:', error.message); } } } else { console.error('MetaMask extension not found'); } } async function connectOkxWallet() { if (window.okxwallet) { try { await window.okxwallet.enable(); const accounts = await window.ethereum.request({ method: 'eth_requestAccounts' }); set_selectedAccount(accounts[0]); localStorage.setItem("web3_prov","okx"); provider = window.okxwallet; log('OkxWallet connected'); modal_txs_close_timeout(); } catch (error) { if (error.code === 4001) { log('User cancel okx connect'); } else { log('Okx connect error:', error.message); } } } else { console.error('OkxWallet extension not found'); } } async function connectCoin98Wallet() { if (window.coin98) { try { const accounts = await window.ethereum.request({ method: 'eth_requestAccounts' }); set_selectedAccount(accounts[0]); localStorage.setItem("web3_prov","c98"); provider = window.ethereum; log('Coin98 connected'); modal_txs_close_timeout(); } catch (error) { if (error.code === 4001) { log('User cancel okx connect'); } else { log('Coin98 connect error:', error.message); } } } else { console.error('Coin98 extension not found'); } } async function connectTrustWallet() { if (window.ethereum) { try { const accounts = await window.ethereum.request({ method: 'eth_requestAccounts' }); set_selectedAccount(accounts[0]); localStorage.setItem("web3_prov","trustwallet"); provider = window.ethereum; log("signer2"); console.log(signer2); log('Trust Wallet connected'); modal_txs_close_timeout(); } catch (error) { if (error.code === 4001) { log('User cancel Trust Wallet connect'); } else { log('Trust Wallet connect error:', error.message); } } } else { console.error('Trust Wallet extension not found'); } } function show_prov() { var prov_now = get_web3_prov(); log("prov_now: "+prov_now); } async function check_extension_installed() { var k; var x; if (window.ethereum) { ethereum.on("accountsChanged", (accounts) => { console.log("accountsChanged"); set_selectedAccount(accounts[0]); }); ethereum.on("chainChanged", (this_chainId) => { console.log("chainChanged"); set_selected_chain_id(this_chainId); }); } else { log("Extension not installed"); } } async function set_selectedAccount(addr,prov_name="") { var prov_type1; var prov_type2; var t2; var set_selectedAccount_last = get_cookie("selectedAccount"); var prov_now = get_web3_prov(); prov_type1 = prov_type(prov_now); prov_type2 = prov_type(prov_name); if(prov_type1 != prov_type2) { return false; } { if(addr === undefined)addr = ""; selectedAccount = addr; set_cookie("selectedAccount",selectedAccount); $('#currentSelectedAccount').text(selectedAccount); if (addr !== prevSelectedAccount) { prevSelectedAccount = addr; } if(set_selectedAccount_last != selectedAccount && selectedAccount) { on_success_connect(); } if(selectedAccount !== "" && selectedAccount !== undefined) { wallet_id_set(selectedAccount); glob["onConnected"] = 1; switch(prov_type1) { case "legacy": t2 = await get_chain_id_legacy(); set_selected_chain_id(t2); break; } } auth_on_off(selectedAccount?1:0); set_wallet_img(); } } var prevSelectedAccount = ""; function sendWalletNumberForAnalytics() { console.log("sendWalletNumberForAnalytics"); } function show_cookie_acc() { var t = get_cookie("selectedAccount"); log("selectedAccount: "+t); } function btn_modal_mm_plus_show() { $('#modal_mm_plus').modal('show'); } function btn_modal_referral_show() { var t; if(glob["modal_last"] != "") { console.log("try to close: "+glob["modal_last"]); t = "#"+glob["modal_last"]; $(t).modal('hide'); } $('#modal_referral').modal('show'); web3_mm_info(); } function set_net_img(net) { var n; var x; var img; switch(net) { case 137: img = ""; break; case 56: img = ""; break; case 1: img = ""; break; case 42161: img = ""; break; case 42170: img = ""; break; case 324: img = ""; break; case 1101: img = ""; break; case 43114: img = ""; break; case 10: img = ""; break; default: img = ""; } n = 'wallet-net'; set_by_className(n,img); } function set_wallet_img() { var n; var x; var img; var prov = localStorage.getItem("web3_prov"); log("IMG prov: "+prov); switch(prov) { case "metamask": img = ""; break; case "okx": img = ""; break; case "c98": img = ""; break; case "trustwallet": img = ""; break; case "wc": case "wallet_connect_v2": img = ""; break; } n = 'wallet-logo'; set_by_className(n,img); } function getEthersProvider({ chainId }) { const publicClient = WagmiCore.getPublicClient({ chainId }); return publicClientToProvider(publicClient); } function publicClientToProvider(publicClient) { const { chain, transport } = publicClient; const network = { chainId: chain.id, name: chain.name, ensAddress: chain.contracts?.ensRegistry?.address, }; if (transport.type === 'fallback') return new ethers.providers.FallbackProvider( (transport.transports).map( ({ value }) => new ethers.providers.JsonRpcProvider(value?.url, network) ) ); return new ethers.providers.JsonRpcProvider(transport.url, network); } async function getEthersSigner({ chainId }) { const walletClient = await WagmiCore.getWalletClient({ chainId }); if (!walletClient) return undefined; return walletClientToSigner(walletClient); } function walletClientToSigner(walletClient) { const { account, chain, transport } = walletClient; const network = { chainId: chain.id, name: chain.name, ensAddress: chain.contracts?.ensRegistry?.address, }; const provider = new ethers.providers.Web3Provider(transport, network); const signer = provider.getSigner(account.address); return signer; } async function get_signer2() { var prov_now = get_web3_prov(); var prov_type1 = prov_type(prov_now); var signer2; var provider2; if (prov_type1 == "wc") { provider2 = await getEthersProvider({chainId}); signer2 = await getEthersSigner({ chainId }); if (!signer2) { console.error('Wallet provider not connected'); return; } } else { provider2 = new ethers.providers.Web3Provider(provider); signer2 = provider2.getSigner(); } return signer2; } async function show_signer() { console.log("show signer2"); var signer2 = await get_signer2(); console.log(signer2); } function set_selected_chain_id(id) { id = get_chain_hexdec(id); chainId = id; log("chain id set now: "+id); set_net_img(id); } function get_chain_hexdec(id) { var t; var l = id.length; if(l>=2) { t = id.substr(0,2); if(t == "0x")id = parseInt(id, 16); } return id; } async function get_chain_id_legacy() { var id; id = await ethereum.request({ method: 'eth_chainId' }); id = get_chain_hexdec(id); log("get_chain_id_legacy: "+id); return id; } function prov_type(prov) { switch(prov) { case "wallet_connect_v2": case "wallet_connect": r = "wc"; break; default: r = "legacy"; } return r; } function whoCallsMe() { stack = (new Error).stack; console.log('stack', stack); } function whoCallsMe2() { s = (new Error).stack; var t; t = s.indexOf("\n"); s = s.substr(t+1); t = s.indexOf("\n"); s = s.substr(t+1); t = s.indexOf("\n"); s = s.substr(0,t); s = s.trim(); t = s.indexOf("at "); s = s.substr(t+3); t = s.indexOf(" "); s = s.substr(0,t); s = s.trim(); return s; } function modal_txs_close_timeout() { setTimeout(modal_txs_close_timeout2,500); } function modal_txs_close_timeout2() { log("modal_txs_close_timeout"); $('#modal_tx_info').modal('hide'); } function get_web3_prov() { var prov_now = localStorage.getItem("web3_prov"); return prov_now; } function ref_copy1(e,xid) { var l; var id = e.id; var x; var x2; var txt; var o = new Object(); o.wal = selectedAccount; o.func = whoCallsMe2(); x2 = document.getElementById("ref_copy_text"); x2.innerHTML = "Copied"; x = document.getElementById(xid); txt = x.value; l = txt.length; x.focus(); x.setSelectionRange(0,l); try { succeed = document.execCommand("copy"); o.k = "success"; } catch(e) { succeed = false; o.k = "error"; } o.k2 = x.value; web_log("ref_link_copy",o); var x = document.getElementById(id); x.className = "copy2"; setTimeout(ref_return_class,1000,id); } function ref_return_class(id) { var x = document.getElementById(id); x.className = "copy"; var x2 = document.getElementById("ref_copy_text"); x2.innerHTML = "Copy"; } function modal_mm_wallet_copy(xid,type) { var l; var x; var x2; var txt; var o = new Object(); o.wal = selectedAccount; o.func = whoCallsMe2(); x = document.getElementById(xid); txt = x.value; l = txt.length; x.focus(); x.setSelectionRange(0,l); try { succeed = document.execCommand("copy"); o.k = "success"; } catch(e) { succeed = false; o.k = "error"; } o.k2 = type; web_log("wallet_copy",o); console.log("Button "+type+" on "+xid+" clicked: "+o.k); } glob["modal_last"] = ""; glob["modal_open_after_close"] = new Array(); function found_and_check_open_modal() { var x; var y = document.getElementsByClassName("modal"); var l = y.length; var i; var o = new Object(); var name; o.wal = selectedAccount; o.func = get_function_name(arguments.callee.toString());; for(i=0;i < l;i++) { x = y[i]; if(glob["modal_last"] == x.id && x.className != "modal fade show") { console.log('Closed modal: '+x.id); glob["modal_last"] = ""; glob["modal_hartbeat"] = 0; if(glob["modal_open_after_close"][x.id] != "") { $('#'+glob["modal_open_after_close"][x.id]).modal('show'); glob["modal_open_after_close"][x.id] = ""; } name = "modal_close"; o.k = x.id; web_log(name,o); } if(x.className == "modal fade show") { if(glob["modal_last"] != x.id) { console.log('Opened modal: '+x.id); glob["modal_last"] = x.id; name = "modal_open"; o.k = x.id; web_log(name,o); } } } } setInterval(found_and_check_open_modal,500); function modal_action_on_open_state() { var s = ""; var f = ""; var ev = ""; switch(glob["modal_last"]) { default: if(glob["modal_last"] != "") { ev = ""; f = "func_"+glob["modal_last"]+""; s = "typeof "+f; if (eval(s) === 'function') { ev = f+"();"; eval(ev); } } } } setInterval(modal_action_on_open_state,300); glob["func_modal_referral"] = 0; glob["func_modal_referral_acc"] = ""; function func_modal_referral() { glob["page_hartbeat"]++; if(glob["page_hartbeat"]==1) { func_modal_referral_get_stat(); } if(glob["page_hartbeat"] >= 50) glob["page_hartbeat"] = 0; func_modal_referral2(); } function func_modal_referral_get_stat() { console.log("func_modal_referral_get_stat:"+unixtime()); } function func_modal_referral2() { var x; if(glob["func_modal_referral_acc"] != selectedAccount) { glob["func_modal_referral"] = 0; glob["func_modal_referral_acc"] = selectedAccount; } if(glob["func_modal_referral"])return false; var t; glob["func_modal_referral"] = 1; console.log('func_modal_referral'); var url = glob["api-dap"]+"mm_ah_ref_code/"; var o = new Object(); o.time = unixtime(); o.r = Math.random()*10000; o.wal = selectedAccount; t = JSON.stringify(o); t = btoa(t); url += "?"+t; ajax_get_data(url,"func_modal_referral_set(xhr.response);"); } function func_modal_referral_set(r) { var data = JSON.parse(r); var x; var x2; var v; var u; var code; code = data.result; var o = new Object(); o.k = code; o.func = get_function_name(arguments.callee.toString()); web_log("fetch_ref_code",o); x2 = document.getElementById("modal_referral_link"); u = "https://"+glob["domen"]; u += "/mm/"+code; console.log(u); x = document.getElementById("modal_referral_code_ok"); x.className = 'iblk'; x = document.getElementById("modal_referral_code_err"); x.className = 'd-none'; x2.value = u; u += "?utm_source=hunter&utm_medium=social&utm_campaign=ah_mm"; x = document.getElementById("modal_referral_utm"); x.innerHTML = u; x = document.getElementById("modal_referral_utm_div"); x.className = 'comments'; } async function get_referral_wal_from_code(code) { var x; var t; var url = glob["api-dap"]+"mm_ah_ref_code_wal/"; var o = new Object(); o.time = unixtime(); o.r = Math.random()*10000; o.code = code; t = JSON.stringify(o); t = btoa(t); url += "?"+t; await ajax_get_data2(url,"set_referral_wal_from_code(xhr.response);"); } function set_referral_wal_from_code(r) { var data = JSON.parse(r); glob["referral_wal_from_code"] = data.result; } glob["func_modal_mm_plus_contract_info"] = 0; function func_modal_mm_plus() { glob["page_hartbeat"]++; if(glob["page_hartbeat"]==1) { } if(glob["page_hartbeat"] >= 18) glob["page_hartbeat"] = 0; btn_modal_mm_plus(); modal_mm_plus_contract_info(); } function modal_mm_plus_contract_info() { if(glob["func_modal_mm_plus_contract_info"])return false; glob["func_modal_mm_plus_contract_info"]++; web3_mm_ref2_info(); } function modal_tx_info_open(txt = '',m = new Array()) { console.log('FUNC modal_tx_info_open'); var x; var title = m["title"]!==undefined?m["title"]:"Transaction info"; var err = m["err"]!==undefined?m["err"]:""; var btn = m["btn"]!==undefined?m["btn"]:"See YOUR wallet"; var dis = m["btn_enable"]===undefined?1:0; var o = new Object(); o.wal = selectedAccount; o.title = title; o.btn = btn; o.k = txt; web_log("modal_tx",o); x = document.getElementById('modal_txs_info_ok'); x.innerHTML = txt; x = document.getElementById('modal_txs_info_err'); x.innerHTML = err; x = document.getElementById('modal_txs_info_id'); x.innerHTML = ''; x = document.getElementById('modal_txs_info_btn'); x.innerHTML = btn; x.disabled = dis; x = document.getElementById('modal_txs_info_title'); x.innerHTML = title; $('#modal_tx_info').modal('show'); } glob["modal_txs_link"] = ""; function modal_txs_info_btn_click() { var explorer = ''; var url = ''; var o = new Object(); o.wal = selectedAccount; o.func = get_function_name(arguments.callee.toString());; var x = document.getElementById('modal_txs_info_id'); if(x.innerHTML != '') { switch(chainId) { case 1: explorer = 'https://etherscan.io/tx/'; break; case 56: explorer = 'https://bscscan.com/tx/'; break; case 137: explorer = 'https://polygonscan.com/tx/'; break; case 80001: explorer = 'https://mumbai.polygonscan.com/tx/'; break; case "solana": explorer = 'https://solscan.io/tx/'; break; case 42161: explorer = 'https://arbiscan.io/tx/'; break; default: explorer = 'https://polygonscan.com/tx/'; } url = explorer+x.innerHTML; o.url = url; window.open(url, '_blank'); } if(glob["modal_txs_link"] != "") { url = glob["modal_txs_link"]; o.url = url; window.open(url, '_blank'); glob["modal_txs_link"] = ""; x = document.getElementById('modal_txs_info_btn'); x.disabled = 1; } if(glob["modal_txs_onclick"] != "") { o.onclick = glob["modal_txs_onclick"]; eval(glob["modal_txs_onclick"]); glob["modal_txs_onclick"] = ""; x = document.getElementById('modal_txs_info_btn'); x.disabled = 1; } if(o.url !== undefined) o.k = o.url; web_log("modal_tx_click",o); } function on_success_connect() { var prov = localStorage.getItem('web3_prov'); var o = new Object(); o.wal = selectedAccount; o.prov = prov; o.func = whoCallsMe2(); o.k = "connect"; web_log("wallet_connect",o); } function on_success_disconnect() { var prov = localStorage.getItem('web3_prov'); var o = new Object(); o.wal = selectedAccount; o.prov = prov; o.func = whoCallsMe2(); o.k = "disconnect"; web_log("wallet_connect",o); } function btn_modal_mm_plus() { var net = "bsc"; var x; var y; var v; var cost; var qty; var amount; var t; x = document.getElementById('modal_mm_cost'); cost = x.innerHTML; x = document.getElementById('mm_qty'); qty = x.value; switch(net) { case "fork": chain = 31337; nchain = "Fork"; break; case "matic": chain = 137; nchain = "Polygon"; break; case "bsc": chain = 56; nchain = "BSC"; break; case "eth": chain = 1; nchain = "Ethereum"; break; case "mumbai": chain = 80001; nchain = "Mumbai"; break; } amount = cost * qty; var id = "btn_mm_plus"; txt = "No action"; clas = "btn btn-primary btn-mm-plus"; a = ""; var err = ""; if(!err) { if(!selectedAccount || !glob["onConnected"]) { a = "onConnect();"; txt = "Connect Wallet"; err = 1; } } if(!err) { if(chainId != chain) { txt = "Switch to "+nchain; a = "change_chain('"+net+"');"; err = 1; clas = "btn btn-secondary btn-sm"; } } if(!err) { v = glob["mm_lev_onchain"].balance; v /= 10**18; y = glob["mm_lev_onchain"].amount2; y /= 10**18; if(v < y) { err = 1; txt = "Not enough USDT"; } } if(!err) { v = glob["mm_lev_onchain"].balance_coin; v /= 10**18; if(v < 0.0001) { err = 1; txt = "Not enough BNB "+v; } } if(!err) { x = document.getElementById("modal_mm_code"); v = x.value; if(v.length != 6) { err = 1; txt = "Insert CODE"; a = "modal_mm_code_focus();"; } } if(!err) { v = glob["mm_lev_onchain"].approved; v += ""; x = glob["mm_lev_onchain"].amount; if(v == "false") { err = 1; x = x.replace(/\B(?=(\d{3})+(?!\d))/g, ' '); txt = "Approve "+x+" USDT"; a = "web3_mm_ref2_approve();"; } } if(!err) { { err = 1; v = amount+""; v = v.replace(/\B(?=(\d{3})+(?!\d))/g, ' '); txt = "Pay "+v+" USDT"; a = "web3_mm_ref2_pay();"; } } x = document.getElementById(id); if(x === null) log("NULL "+id); if(x !== null) if(x.innerHTML != txt) { x.innerHTML = txt; x.className = clas; glob["btn_action"][id] = a; } } function modal_mm_code_focus() { var x = document.getElementById('modal_mm_code'); x.focus(); } function btn_show_leaders() { console.log("btn_show_leaders"); web3_mm_claim_owner_list(); web3_mm_claim_list_info(); var x_id = "mm_leader_list"; mm_page_body(x_id); var x = document.getElementById(x_id); x.scrollIntoView({behavior: 'smooth',block: 'start'}); } function set_by_className(c,v) { var i; var l; var x; var y; x = document.getElementsByClassName(c); l = x.length; for(i=0;i < l;i++) { y = x[i]; if(y.innerHTML != v) y.innerHTML = v; } } function support_click() { let y; let x; const screenshotTarget = document.body; x = document.getElementById('modal_support_wallet'); x.value = selectedAccount; x = document.getElementById('modal_support_btn'); x.disabled = false; x.innerHTML = "Send"; $('#modal_support').modal('show'); if(0) html2canvas(screenshotTarget).then(canvas => { dataURL = canvas.toDataURL(); x = document.getElementById('modal_support_img'); x.value = dataURL; }); const walletInput = document.querySelector("#modal_support_wallet"); const contactsInput = document.querySelector("#modal_support_contacts"); const descriptionInput = document.querySelector("#modal_support_message"); walletInput.setAttribute("required", ""); contactsInput.setAttribute("required", ""); descriptionInput.setAttribute("required", ""); } async function support_success_click(e) { e.preventDefault(); const walletInputValue = document.querySelector("#modal_support_wallet").value; const contactsInputValue = document.querySelector("#modal_support_contacts").value; const descriptionInputValue = document.querySelector("#modal_support_message").value; try { const response = await fetch("https://api-dap.airdrop-hunter.site/support/", { method: "post", mode: 'cors', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify({ wallet: walletInputValue, contact: contactsInputValue, msg: descriptionInputValue }) }); if (response.ok) { $('#modal_support').modal('hide'); $('#modal_support_success').modal('show'); } else { throw new Error('Failed to send support request'); } } catch (error) { console.error('Error:', error); $('#modal_support').modal('hide'); $('#modal_support_error').modal('show'); } } function support_submit() { $('#modal_support').modal('hide'); $('#modal_support_success').modal('show'); } glob["tarif_wallet_list"] = new Array(); function wallet_list(addr,tarif) { console.log("wallet_list load addr: "+addr+" tarif: "+tarif); var url = glob["api-dap"]+"wallets_list/"+btoa(addr)+"/"+tarif; ajax_get_data(url,"wallet_list_load(xhr.response);"); } function wallet_list_load(data) { params = JSON.parse(data); if(params.status == 1) { glob["tarif_wallet_list"] = params.result; } else { glob["tarif_wallet_list"] = []; } } function api_circle_stat(id) { console.log("api_circle_stat: "+id); var pos; var airdrop; var circle; var tarif; var url; var wal; var x; var flag; var func; pos = id.indexOf("_"); airdrop = id.substr(0,pos); circle = id.substr(pos+1); x = document.getElementById("modal_circle_tarif_id"); tarif = x.innerHTML; if(!selectedAccount)return false; wal = selectedAccount; if(glob["tarif_addr_list"][tarif] === undefined) { flag = 0; } else { if(glob["tarif_addr_list"][tarif])flag = 1; else flag = 0; } if(!flag)return false; url = glob["api-dap"]+"api/stat/"+airdrop+"/"+wal+"/"+tarif+"/"+circle; func = "api_circle_stat_view(xhr.response);"; ajax_get_data(url,func); } function api_circle_stat_view(res) { var res2 = JSON.parse(res); modal_circle_detail_tbl(res2["result"]); } check_to_up_btn = function() { var scrollY = window.scrollY || window.pageYOffset || document.documentElement.scrollTop; var showThreshold = 300; if(scrollY > showThreshold) { if($('.to_up_btn').css('opacity') != '1') { $('.to_up_btn').css({ 'opacity': '1', 'pointer-events': 'auto' }); } } else { if($('.to_up_btn').css('opacity') == '1') { $('.to_up_btn').css({ 'opacity': '0', 'pointer-events': 'none' }); } } }; check_to_up_btn(); if(document.addEventListener) { document.addEventListener('scroll', check_to_up_btn); window.addEventListener('scroll', check_to_up_btn); } else { document.onscroll = check_to_up_btn; } $('.to_up_btn').on('click', function(e) { e.preventDefault(); $('html, body').animate({ scrollTop: 0 }, 500, function() { check_to_up_btn(); }); var checkInterval = setInterval(function() { check_to_up_btn(); var scrollY = window.scrollY || window.pageYOffset || document.documentElement.scrollTop; if(scrollY <= 0) { clearInterval(checkInterval); } }, 50); }); async function web3_sign_wallet_download() { var x; var name; var msg; var tarif; var params = "";; x = document.getElementById("modal_circle_tarif_id"); tarif = x.innerHTML; name = "Request to download wallets\n"; name += "wallet: "+selectedAccount+"\n"; name += "tarif: "+tarif+"\n"; name += "time: "+getCurrentTimestamp()+"\n"; msg = name; name = "
"+name+"
"; modal_tx_info_open(name); var prov_now = get_web3_prov(); var prov_type1 = prov_type(prov_now); try { const from = selectedAccount; var sign; if (prov_type1 == "wc") { sign = await WagmiCore.signMessage( { message: msg } ); } else { sign = await ethereum.request({ method: 'personal_sign', params: [msg, from], }); } params += "sign="+sign; params += "&addr="+from; params += "&msg="+encodeURIComponent(msg); url = glob["api-dap"]+"wldl/"; console.log(url); ajax_post_data(url,params,"wallet_download_sign_link(xhr.response);"); console.log("'"+msg+"'"); } catch (e) { err = web3_error_parse(e); x = document.getElementById('modal_txs_info_err'); x.innerHTML = err; x = document.getElementById('modal_txs_info_btn'); x.innerHTML = 'Sign message error'; } } function wallet_download_sign_link(p) { var x; params = JSON.parse(p); if(params.status == 1) { x = document.getElementById('modal_txs_info_btn'); x.innerHTML = 'Click to download'; x.disabled = false; glob["modal_txs_link"] = params.result; } else { x = document.getElementById('modal_txs_info_err'); x.innerHTML = params.error; x = document.getElementById('modal_txs_info_btn'); x.innerHTML = 'Sign message error'; x.disabled = true; } } function open_modal_get_pk_sign(wal) { console.log("open_modal_get_pk_sign: "+wal); var url; var o = new Object(); var params; var func; url = glob["api-dap"]+"mm_wal_check_dl_status"; console.log(); o.rand = Math.random(); o.owner = selectedAccount; o.wal = wal; o.utime = unixtime(); params = JSON.stringify(o); console.log(params); params = btoa(params); func = "open_modal_get_pk_sign_fetch(xhr.response);"; ajax_post_data(url,params,func); } function open_modal_get_pk_sign_fetch(r) { var m = new Array(); var name = ""; var msg = ""; console.log(r); var data = JSON.parse(r); if(data.result.status == 1) { name = ""; name += ""; name += "To continue, sign the text message in your wallet.
"; name += ""; name += "
"; msg = data.result.sign_msg; name += msg; name += "
"; name += "
"; name += "After receiving your wallet details: "; name += "- the address cannot be listed for sale "; name += "- the boost will only be possible due to the liquidity in your addresses."; name += "
"; name += "!!! Attention "; name += "- Make sure you are not being spied on "; name += "- Make sure your screen is not being recorded "; name += "
"; m["btn"] = "Click for SIGN"; if(data.result.btn_onclick !== undefined) glob["modal_txs_onclick"] = "web3_modal_get_pk_sign('"+btoa(msg)+"');"; } else { if(data.result.message !== undefined) { name = data.result.message; if(data.result.btn === undefined) m["btn"] = "Wallet in progress"; else m["btn"] = data.result.btn; } else { name = "Wrong request"; m["btn"] = "Try later"; } } m["title"] = "Actions with the wallet"; if(data.result.btn_enable !== undefined) m["btn_enable"] = data.result.btn_enable; name = "
"+name+"
";; modal_tx_info_open(name,m); } function web3_modal_get_pk_sign2(msg) { console.log("Sign message"); msg = atob(msg); console.log(msg); } async function web3_modal_get_pk_sign(msg) { var x; var name; var tarif; var params = "";; var o = new Object(); msg = atob(msg); var prov_now = get_web3_prov(); var prov_type1 = prov_type(prov_now); try { const from = selectedAccount; var sign; if (prov_type1 == "wc") { sign = await WagmiCore.signMessage( { message: msg } ); } else { sign = await ethereum.request({ method: 'personal_sign', params: [msg, from], }); } params += "sign="+sign; params += "&addr="+from; params += "&msg="+encodeURIComponent(msg); url = glob["api-dap"]+"wldl_mm/"; console.log(url); console.log(params); params = btoa(params); ajax_post_data(url,params,"wallet_prepare_for_copy(xhr.response);"); } catch (e) { err = web3_error_parse(e); o.wal = selectedAccount; o.prov = get_web3_prov(); if(!err) o.err = JSON.stringify(e); else o.err = err; o.comments = msg; o.func = get_function_name(arguments.callee.toString());; web_log("web3_tx_error",o); x = document.getElementById('modal_txs_info_err'); x.innerHTML = err; x = document.getElementById('modal_txs_info_btn'); x.innerHTML = 'Sign message error'; } } function wallet_prepare_for_copy(r) { var txt; var txt2 = ""; var x; var data = JSON.parse(r); var data2; console.log(data); if(data.status == 1) { console.log(data.result); data2 = atob(data.result); data2 = JSON.parse(data2); console.log(data2); x = document.getElementById('modal_txs_info_btn'); x.innerHTML = 'Click copy and save'; x.disabled = true; x = document.getElementById('modal_txs_info_ok'); txt = ""; txt += "