UNPKG

mcswap-shop

Version:
2,178 lines 261 kB
// name: mcswap-shop.js
// author: @SolDapper
'use strict';
import "./mcswap-shop.css";
import $ from "jquery";
import "@fontsource/ubuntu";
import Toastify from 'toastify-js';
import "toastify-js/src/toastify.css";
import mcswap from "mcswap-sdk"; 
import form from "mcswap-form"; 
import {Connection, PublicKey, Keypair} from "@solana/web3.js"
import { createQR } from '@solana/pay';
class shop {
    constructor(rpc=false){
        this.rpc = rpc;
        this.checker = false;
        this.default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGmmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYTZhNjM5NiwgMjAyNC8wMy8xMi0wNzo0ODoyMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjExIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDMtMDNUMTM6MDE6MzctMDU6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTAzLTA0VDE3OjQ0OjQyLTA1OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1LTAzLTA0VDE3OjQ0OjQyLTA1OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMmIzY2Q0OC05ODQ0LTNkNDUtYjM1NS0zOTc0OGRiNjg1ZjMiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjMGMxNGUzMi1kYjZjLTczNDgtODFmZC1lMzY2NzQ4ODg5ZTYiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNTA0YWQ2Ni0zN2JmLTkzNGUtOTc4Yy0zZjU2ZTBmMzBiMDYiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjA1MDRhZDY2LTM3YmYtOTM0ZS05NzhjLTNmNTZlMGYzMGIwNiIgc3RFdnQ6d2hlbj0iMjAyNS0wMy0wM1QxMzowMTozNy0wNTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjExIChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZTc5ODVhZWUtYzAxZi1mNzQzLTk4N2MtNTIzODkyYWNiZDhhIiBzdEV2dDp3aGVuPSIyMDI1LTAzLTA0VDE3OjQ0OjQyLTA1OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMTEgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMmIzY2Q0OC05ODQ0LTNkNDUtYjM1NS0zOTc0OGRiNjg1ZjMiIHN0RXZ0OndoZW49IjIwMjUtMDMtMDRUMTc6NDQ6NDItMDU6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNS4xMSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+deiz4QAAEZNJREFUeJzt3WmMrXddwPHvhZZSqWy1hdqiLVig7KgIrghEsMSgRlGM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";
        this.close = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAFzGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYTZhNjM5NiwgMjAyNC8wMy8xMi0wNzo0ODoyMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjExIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDMtMDRUMTY6NTU6MzItMDU6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTAzLTA0VDE2OjU1OjU4LTA1OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1LTAzLTA0VDE2OjU1OjU4LTA1OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozYWJhNjZjNi03NjkwLWFlNDYtYjAxNy1jZDkzY2ExMTUzOGIiIHhtcE1NOkRvY3VtZW50SUQ9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";
        this.settings = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAFzGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYTZhNjM5NiwgMjAyNC8wMy8xMi0wNzo0ODoyMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjExIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDMtMDRUMTg6MTI6MzUtMDU6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTAzLTA0VDE4OjEzOjAxLTA1OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1LTAzLTA0VDE4OjEzOjAxLTA1OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpjZWYxY2Q0OS0yMWE3LTEzNGQtYTEyOS00ODQ3Yjc0NmY3NGMiIHhtcE1NOkRvY3VtZW50SUQ9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";
        this.refresh = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAFzGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYTZhNjM5NiwgMjAyNC8wMy8xMi0wNzo0ODoyMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjExIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDMtMDRUMTg6MTI6MzUtMDU6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTAzLTEwVDA0OjI0OjE2LTA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1LTAzLTEwVDA0OjI0OjE2LTA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMWE2Nzg4ZS01ZTY4LTYyNDQtYjQxMC0wMTAzYmYwN2JiZGIiIHhtcE1NOkRvY3VtZW50SUQ9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";
        this.solana_pay_logo = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVAAAABqCAIAAABlHJ7xAAAACXBIWXMAAAsTAAALEwEAmpwYAAAJMmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYTZhNjM5NiwgMjAyNC8wMy8xMi0wNzo0ODoyMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowZjJkMjJhOS0xN2FiLTU3NDMtOGVmOC04ZjYzMjYxNmVlYmIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRmMzA0YmYtMDJmNC03MzQ4LWI1ZjktNTMyZjhhMGYxODk0IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9IjBEMzc3NTQ1NjAwRTNGNTJDNTlFRkMwMDkwNjE1OTkyIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgdGlmZjpJbWFnZVdpZHRoPSI4MDAiIHRpZmY6SW1hZ2VMZW5ndGg9IjQyMCIgdGlmZjpQaG90b21ldHJpY0ludGVycHJldGF0aW9uPSIyIiB0aWZmOlNhbXBsZXNQZXJQaXhlbD0iMyIgdGlmZjpYUmVzb2x1dGlvbj0iMS8xIiB0aWZmOllSZXNvbHV0aW9uPSIxLzEiIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjEiIGV4aWY6RXhpZlZlcnNpb249IjAyMzEiIGV4aWY6Q29sb3JTcGFjZT0iNjU1MzUiIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI4MDAiIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSI0MjAiIHhtcDpDcmVhdGVEYXRlPSIyMDI1LTAzLTI5VDA1OjE1OjI5LTA0OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNS0wMy0yOVQwNTozNDozOS0wNDowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNS0wMy0yOVQwNTozNDozOS0wNDowMCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjE3MTgzYTliLWQyNzAtNjA0OS1iMDg2LWViZTZmMGVlOWU5OCIgc3RFdnQ6d2hlbj0iMjAyNS0wMy0yOVQwNTozNDozOS0wNDowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjExIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGltYWdlL2pwZWcgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBpbWFnZS9qcGVnIHRvIGltYWdlL3BuZyIv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";
    }
    async load(rpc,_data_){ 
        async function fetchListings(_config_){
            const result = {};
            const listings = {core:[],nft:[],pnft:[],cnft:[],collections:[]};
            const core = _config_.standards[0];
            const nft = _config_.standards[1];
            const pnft = _config_.standards[2];
            const cnft = _config_.standards[3];
            if(_config_.sellers.length>0){for(let i=0;i<_config_.sellers.length;i++){
                const seller = _config_.sellers[i];
                let _listings_;
                if(cnft===true){
                    const cnft_sent = await mcswap.cnftSent({rpc:rpc,display:true,wallet:seller});
                    if(typeof cnft_sent!="undefined" && cnft_sent.status=="ok"){
                        _listings_ = listings.cnft;
                        listings.cnft = _listings_.concat(cnft_sent.data);
                    }
                }
                if(core===true){
                    const core_sent = await mcswap.coreSent({rpc:rpc,display:true,wallet:seller});
                    if(typeof core_sent!="undefined" && core_sent.status=="ok"){
                        _listings_ = listings.core;
                        listings.core = _listings_.concat(core_sent.data);
                    }
                }
                if(pnft===true){
                    const pnft_sent = await mcswap.pnftSent({rpc:rpc,display:true,wallet:seller});
                    if(typeof pnft_sent!="undefined" && pnft_sent.status=="ok"){
                        _listings_ = listings.pnft;
                        listings.pnft = _listings_.concat(pnft_sent.data);
                    }
                }
                if(nft===true){
                    const nft_sent = await mcswap.nftSent({rpc:rpc,display:true,wallet:seller});
                    if(typeof nft_sent!="undefined" && nft_sent.status=="ok"){
                        _listings_ = listings.nft;
                        listings.nft = _listings_.concat(nft_sent.data);
                    }
                }
                if(i==(_config_.sellers.length-1)){
                    
                    let set_standard;
                    let array;

                    array = [];
                    set_standard = "CNFT";
                    if(listings.cnft && listings.cnft.length>0){
                        array = listings.cnft;
                        for(let _i_=0;_i_<array.length;_i_++){
                            array[_i_].lamports_sort = 1000000000*array[_i_].lamports;
                            array[_i_].token = {symbol:"TOKENS"}
                            array[_i_].standard = set_standard;
                            let response;
                            let metadata;
                            let _asset_;
                            response = await fetch(rpc,{method:'POST',headers:{"Content-Type":"application/json"},
                            body:JSON.stringify({"jsonrpc":"2.0","id":"text","method":"getAsset","params":{"id":array[_i_].sellerMint}})}).catch(function(err){});
                            if(response && response.ok && response.ok===true){
                                metadata = await response.json();
                                _asset_ = metadata.result;
                                array[_i_].image=_asset_.content.links.image;
                                array[_i_].metadata=_asset_.content.metadata;
                                array[_i_].collection=false;
                                if(_asset_&&_asset_.grouping&&_asset_.grouping[0]&&_asset_.grouping[0].group_value){array[_i_].collection=_asset_.grouping[0].group_value;}
                            }
                            array[_i_].units_sort=0;
                            if(array[_i_].tokenMint!=false){
                                response = await fetch(rpc,{method:'POST',headers:{"Content-Type":"application/json"},
                                body:JSON.stringify({"jsonrpc":"2.0","id":"text","method":"getAsset","params":{"id":array[_i_].tokenMint}})}).catch(function(err){});
                                if(response && typeof response.ok!="undefined"&&response.ok===true){
                                    metadata = await response.json();
                                    _asset_ = metadata.result;
                                    array[_i_].token = _asset_.token_info;
                                    let dec=1;
                                    let div=10;
                                    while(dec<array[_i_].token.decimals){div=div*10;dec++;}
                                    array[_i_].units_sort = div*array[_i_].units;
                                }
                            }
                        }
                    }
                    listings.cnft = array;

                    array = [];
                    set_standard = "NFT";
                    if(listings.nft && listings.nft.length>0){
                        array = listings.nft;
                        for(let _i_=0;_i_<array.length;_i_++){
                            array[_i_].lamports_sort = 1000000000*array[_i_].lamports;
                            array[_i_].token = {symbol:"TOKENS"}
                            array[_i_].standard = set_standard;
                            let response;
                            let metadata;
                            let _asset_;
                            response = await fetch(rpc,{method:'POST',headers:{"Content-Type":"application/json"},
                            body:JSON.stringify({"jsonrpc":"2.0","id":"text","method":"getAsset","params":{"id":array[_i_].sellerMint}})}).catch(function(err){});
                            if(response && response.ok && response.ok===true){
                                metadata = await response.json();
                                _asset_ = metadata.result;
                                array[_i_].image=_asset_.content.links.image;
                                array[_i_].metadata= _asset_.content.metadata;
                                array[_i_].collection=false;
                                if(_asset_&&_asset_.grouping&&_asset_.grouping[0]&&_asset_.grouping[0].group_value){array[_i_].collection=_asset_.grouping[0].group_value;}
                            }
                            array[_i_].units_sort=0;
                            if(array[_i_].tokenMint!=false){
                                response = await fetch(rpc,{method:'POST',headers:{"Content-Type":"application/json"},
                                body:JSON.stringify({"jsonrpc":"2.0","id":"text","method":"getAsset","params":{"id":array[_i_].tokenMint}})}).catch(function(err){});
                                if(response && typeof response.ok!="undefined"&&response.ok===true){
                                    metadata = await response.json();
                                    _asset_ = metadata.result;
                                    array[_i_].token = _asset_.token_info;
                                    let dec=1;
                                    let div=10;
                                    while(dec<array[_i_].token.decimals){div=div*10;dec++;}
                                    array[_i_].units_sort = div*array[_i_].units;
                                }
                            }
                        }
                    }
                    listings.nft = array;

                    array = [];
                    set_standard = "PNFT";
                    if(listings.pnft && listings.pnft.length>0){
                        array = listings.pnft;
                        for(let _i_=0;_i_<array.length;_i_++){
                            array[_i_].lamports_sort = 1000000000*array[_i_].lamports;
                            array[_i_].token = {symbol:"TOKENS"}
                            array[_i_].standard = set_standard;
                            let response;
                            let metadata;
                            let _asset_;
                            response = await fetch(rpc,{method:'POST',headers:{"Content-Type":"application/json"},
                            body:JSON.stringify({"jsonrpc":"2.0","id":"text","method":"getAsset","params":{"id":array[_i_].sellerMint}})}).catch(function(err){});
                            if(response && response.ok && response.ok===true){
                                metadata = await response.json();
                                _asset_ = metadata.result;
                                array[_i_].image=_asset_.content.links.image;
                                array[_i_].metadata=_asset_.content.metadata;
                                array[_i_].collection=false;
                                if(_asset_&&_asset_.grouping&&_asset_.grouping[0]&&_asset_.grouping[0].group_value){array[_i_].collection=_asset_.grouping[0].group_value;}
                            }
                            array[_i_].units_sort=0;
                            if(array[_i_].tokenMint!=false){
                                response = await fetch(rpc,{method:'POST',headers:{"Content-Type":"application/json"},
                                body:JSON.stringify({"jsonrpc":"2.0","id":"text","method":"getAsset","params":{"id":array[_i_].tokenMint}})}).catch(function(err){});
                                if(response && typeof response.ok!="undefined"&&response.ok===true){
                                    metadata = await response.json();
                                    _asset_ = metadata.result;
                                    array[_i_].token = _asset_.token_info;
                                    let dec=1;
                                    let div=10;
                                    while(dec<array[_i_].token.decimals){div=div*10;dec++;}
                                    array[_i_].units_sort = div*array[_i_].units;
                                }
                            }
                        }
                    }
                    listings.pnft = array;

                    array = [];
                    set_standard = "CORE";
                    if(listings.core && listings.core.length>0){
                        array = listings.core;
                        for(let _i_=0;_i_<array.length;_i_++){
                            array[_i_].lamports_sort = 1000000000*array[_i_].lamports;
                            array[_i_].token = {symbol:"TOKENS"}
                            array[_i_].standard = set_standard;
                            let response;
                            let metadata;
                            let _asset_;
                            response = await fetch(rpc,{method:'POST',headers:{"Content-Type":"application/json"},
                            body:JSON.stringify({"jsonrpc":"2.0","id":"text","method":"getAsset","params":{"id":array[_i_].sellerMint}})}).catch(function(err){});
                            if(response && response.ok && response.ok===true){
                                metadata = await response.json();
                                _asset_ = metadata.result;
                                array[_i_].image=_asset_.content.links.image;
                                array[_i_].metadata=_asset_.content.metadata;
                                array[_i_].collection=false;
                                if(_asset_&&_asset_.grouping&&_asset_.grouping[0]&&_asset_.grouping[0].group_value){array[_i_].collection=_asset_.grouping[0].group_value;}
                            }
                            array[_i_].units_sort=0;
                            if(array[_i_].tokenMint!=false){
                                response = await fetch(rpc,{method:'POST',headers:{"Content-Type":"application/json"},
                                body:JSON.stringify({"jsonrpc":"2.0","id":"text","method":"getAsset","params":{"id":array[_i_].tokenMint}})}).catch(function(err){});
                                if(response && typeof response.ok!="undefined"&&response.ok===true){
                                    metadata = await response.json();
                                    _asset_ = metadata.result;
                                    array[_i_].token = _asset_.token_info;
                                    let dec=1;
                                    let div=10;
                                    while(dec<array[_i_].token.decimals){div=div*10;dec++;}
                                    array[_i_].units_sort = div*array[_i_].units;
                                }
                            }
                        }
                    }
                    listings.core = array;

                    result.status = "ok";
                    result.message = "success";
                    result.listings = listings;
                    return result;
                }
            }}
            else{
                result.status = "ok";
                result.message = "success";
                result.listings = listings;
                return result;
            }
        }
        function isMobile(){
            return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
        }
        function copy(string){
            let textArea = document.createElement('textarea');
            textArea.setAttribute('style', 'width:1px;border:0;opacity:0;');
            textArea.setAttribute('id', 'temp_copy');
            document.body.appendChild(textArea);
            textArea.value = string;
            textArea.select();
            document.execCommand('copy');
            document.body.removeChild(textArea);
            toast("Copied to Clipboard", 2000);
            return;
        }
        function toast(message,wait,error=false){
            let color = "#111";
            let background = "#fff";
            if(error===true){
                color = "#111";
                background = "#fff"
            }
            else{
                color = "#111";
                background = "#fff";
            }
            Toastify({
                text: message,
                duration: wait,
                newWindow: false,
                close: false,
                gravity: "bottom", // `top` or `bottom`
                position: "left", // `left`, `center` or `right`
                stopOnFocus: false, // Prevents dismissing of toast on hover
                style: {
                    "font-weight": "bold",
                    "font-family": "Ubuntu",
                    "border-radius": "10px",
                    "color": color,
                    "background": background,
                },
                onClick: function(){} // Callback after click
            }).showToast();
        }
        function shuffler(array){
            let currentIndex = array.length;
            while (currentIndex != 0) {
              let randomIndex = Math.floor(Math.random() * currentIndex);
              currentIndex--;
              [array[currentIndex], array[randomIndex]] = [
                array[randomIndex], array[currentIndex]];
            }
        }
        async function sorter(array){
            const sorting = $("#"+_data_.id+" .mcswap-sorter").val().trim();
            if(sorting=="Shuffle"){
                shuffler(array);
            }
            else if(sorting=="Newest First"){
                array.sort((a, b) => {if(b.utime<a.utime){return -1;}if(b.utime>a.utime){return 1;}return 0;});
            }
            else if(sorting=="Oldest First"){
                array.sort((a, b) => {if(a.utime<b.utime){return -1;}if(a.utime>b.utime){return 1;}return 0;});
            }
            else if(sorting=="Name A > Z"){
                array.sort((a, b) => {if(a.metadata.name<b.metadata.name){return -1;}if(a.metadata.name>b.metadata.name){return 1;}return 0;});
            }
            else if(sorting=="Name Z > A"){
                array.sort((a, b) => {if(b.metadata.name<a.metadata.name){return -1;}if(b.metadata.name>a.metadata.name){return 1;}return 0;});
            }
            else if(sorting=="SOL High > Low"){
                array.sort((a, b) => {if(b.lamports_sort<a.lamports_sort){return -1;}if(b.lamports_sort>a.lamports_sort){return 1;}return 0;});
            }
            else if(sorting=="SOL Low > High"){
                array.sort((a, b) => {if(a.lamports_sort<b.lamports_sort){return -1;}if(a.lamports_sort>b.lamports_sort){return 1;}return 0;});
            }
            else if(sorting=="Tokens High > Low"){
                array.sort((a, b) => {if(b.units_sort<a.units_sort){return -1;}if(b.units_sort>a.units_sort){return 1;}return 0;});
            }
            else if(sorting=="Tokens Low > High"){
                array.sort((a, b) => {if(a.units_sort<b.units_sort){return -1;}if(a.units_sort>b.units_sort){return 1;}return 0;});
            }
        }
        
        async function displayer(rpc,items,backchecker,firstload){
            async function commas(x){
                let response = false;
                if(x>0){
                    x = x.toString();
                    const s = x.split(".");
                    s[0] = s[0].replace(/\B(?=(\d{3})+(?!\d))/g,",");
                    if(s.length>1){response=s[0]+"."+ s[1];}else{response=s[0];}
                }
                return response;
            }
            async function backcheck(rpc,array,backchecker,firstload){  
                const provider = window.mcswap;
                if(array.length==0 && backchecker===true){
                    $("#"+_data_.id+" .mcswap-items").hide();
                    $("#"+_data_.id+" .mcswap-item").remove();
                    $("#"+_data_.id+" .mcswap-init").html("No Listings").show();
                    $("#"+_data_.id+" .mcswap-refresh-button").removeClass("mcswap-rotating");
                    return "ok";
                }
                if($("#"+_data_.id+" .mcswap-item").length>0){
                    let accts = [];
                    if(array.length>0){for(let a=0;a<array.length;a++){
                        accts.push(array[a].acct);
                    }}
                    let d = 0;
                    const leng = $("#"+_data_.id+" .mcswap-item").length;
                    $("#"+_data_.id+" .mcswap-item").each(function(){
                        if(!accts.includes($(this).data("id"))){
                            $(this).remove();
                        }
                        if(d==(leng-1)){
                            if($("#"+_data_.id+" .mcswap-item").length>0){
                                $("#"+_data_.id+" .mcswap-init").hide();
                                $("#"+_data_.id+" .mcswap-items").fadeIn(1000);
                                if(backchecker===true || firstload===true){
                                    $("#"+_data_.id+" .mcswap-refresh-button").removeClass("mcswap-rotating");
                                }
                            }
                            else{
                                if(backchecker===true || firstload===true){
                                    $("#"+_data_.id+" .mcswap-init").html("No Listings").show();
                                    $("#"+_data_.id+" .mcswap-items").hide();
                                    $("#"+_data_.id+" .mcswap-item").remove();
                                    $("#"+_data_.id+" .mcswap-refresh-button").removeClass("mcswap-rotating");
                                }
                            }
                            if($("#mcswap-transaction-close").length){
                                $("#mcswap-transaction-close").click();
                            }
                            return "ok";
                        }
                        d++;
                    });
                }
                else{
                    return "ok";
                }
            }
            let carry_items = [];
            const display = $("#"+_data_.id+" .mcswap-display-me").val();
            const collections = $("#"+_data_.id+" .control-collections").val().split("\n");
            if(display=="Collections Only"){
                for(let i=0;i<items.length;i++){
                    const item = items[i];
                    if(collections.includes(item.collection)){carry_items.push(item);}
                    if(i==(items.length-1)){items = carry_items;}
                }
            }
            if(display=="No Collection"){
                for(let i=0;i<items.length;i++){
                    const item = items[i];
                    if(item.collection==false){carry_items.push(item);}
                    if(i==(items.length-1)){items = carry_items;}
                }
            }
            if(items.length<1){
                $("#"+_data_.id+" .mcswap-init").html("No Listings").show();
                if(backchecker===true || firstload===true){
                    $("#"+_data_.id+" .mcswap-refresh-button").removeClass("mcswap-rotating");
                }
            }
            if(items.length==0 && backchecker===true){
                await backcheck(rpc,items,true,firstload);
                return;
            }
            if(items.length==0 && firstload===true){
                await backcheck(rpc,items,false,firstload);
                return;
            }

            const digitalasset = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAAB9fAAAfXwGscuV3AAAFzGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYTZhNjM5NiwgMjAyNC8wMy8xMi0wNzo0ODoyMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjExIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDUtMTRUMTM6MDM6MzUtMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTA1LTE0VDEzOjA0OjM2LTA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1LTA1LTE0VDEzOjA0OjM2LTA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpjZjUzYWU1Mi0yNGM3LWJkNGMtOThkYi04NTc0MTVlYzY0NDQiIHhtcE1NOkRvY3VtZW50SUQ9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";
            const truck = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALYAAABtCAYAAAAMCZvoAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFzGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYTZhNjM5NiwgMjAyNC8wMy8xMi0wNzo0ODoyMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjExIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDQtMTdUMTI6MTg6MjItMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTA0LTE3VDEyOjI5OjQ0LTA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1LTA0LTE3VDEyOjI5OjQ0LTA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0MmRhZDljNy0zYTBjLWI5NDMtOTI3NS00ZjRhYTliYmIwMjUiIHhtcE1NOkRvY3VtZW50SUQ9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";
            const pick_up = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGwAAABtCAYAAABEOoRoAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFzGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYTZhNjM5NiwgMjAyNC8wMy8xMi0wNzo0ODoyMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjExIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDQtMTdUMTI6MTg6MjItMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTA0LTE3VDEyOjI5OjI1LTA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1LTA0LTE3VDEyOjI5OjI1LTA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowNTNlOTg1Yi1kNzY0LTFjNDQtOTIyNi02MmI4MjMyMzhkYzEiIHhtcE1NOkRvY3VtZW50SUQ9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";
            const stationary = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFwAAABtCAYAAAAsyQZQAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFzGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYTZhNjM5NiwgMjAyNC8wMy8xMi0wNzo0ODoyMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjExIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDQtMTdUMTI6MTg6MjItMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTA0LTE3VDEyOjQ2OjQ3LTA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1LTA0LTE3VDEyOjQ2OjQ3LTA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMmRjZWZlMy1mZDM3LThhNDQtYWRmNS1hNzk4ZWE4YmFlOTEiIHhtcE1NOkRvY3VtZW50SUQ9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";

            for(let i=0;i<items.length;i++){
                const item = items[i];
                let lamports = 0;
                let units = 0;
                let fee = 0;
                if(item.standard=="CNFT"){
                    fee = parseFloat(_data_.cnft_fee);
                }
                else if(item.standard=="CORE"){
                    fee = parseFloat(_data_.core_fee);
                }
                else if(item.standard=="PNFT"){
                    fee = parseFloat(_data_.pnft_fee);
                }
                else if(item.standard=="NFT"){
                    fee = parseFloat(_data_.nft_fee);
                }
                item.lamports = parseFloat(item.lamports);
                _data_.fee_execute = parseFloat(_data_.fee_execute);
                fee = (fee+item.lamports+_data_.fee_execute);
                item.lamports = parseFloat(fee).toFixed(9);
                lamports = await commas(item.lamports);                
                if(item.units>0){item.units = parseFloat(item.units).toFixed(item.token.decimals);units=await commas(item.units);}else{units="0.0";}
                if($("#"+_data_.id+" ul[data-id='"+item.acct+"']").length){$("#"+_data_.id+" ul[data-id='"+item.acct+"']").remove();}
                const token2 = '<div class="mcswap-details-price-2"><span class="mcswap-details-amount-2">'+lamports+'</span> <span class="mcswap-details-symbol">SOL</span></div>';
                let links = "";
                let listing_buttons;
                if(_data_.kiosk==false || _data_.kiosk.touch!=false || _data_.solana_pay==false){
                    if(_data_.kiosk==false){
                        let hasCollection = "";
                        if(item.collection!=false){hasCollection = '<a target="_blank" data-collection="'+item.collection+'" href="https://solana.fm/address/'+item.collection+'" class="mcswap-links explore-link">Collection</a><span class="mcswap-links-sep">:</span>';}
                        links = hasCollection+'<a target="_blank" data-mint="'+item.sellerMint+'" href="https://solana.fm/address/'+item.sellerMint+'" class="mcswap-links mint-link">Details</a><span class="mcswap-links-sep">:</span><a target="_blank" data-seller="'+item.seller+'" href="https://solana.fm/address/'+item.seller+'" class="mcswap-links seller-link">Seller</a>';
                    }
                    listing_buttons = '<button data-physical="'+item.physical+'" data-format="'+item.standard+'" data-mint="'+item.sellerMint+'" data-id="'+item.acct+'" class="mcswap-details-buy">'+_data_.text_buy+'</button><button data-format="'+item.standard+'" data-mint="'+item.sellerMint+'" data-id="'+item.acct+'" class="mcswap-details-delist">Delist</button>';
                }
                else{
                    links = "";
                    const format = item.standard.trim();
                    const escrow = item.acct.trim();
                    const new_reference = Keypair.generate();
                    const reference = new_reference.publicKey.toBase58();
                    const payment_link = _data_.solana_pay+"/payment/"+format+"/"+escrow+"/"+reference;
                    const encoded_link = "solana:"+encodeURIComponent(payment_link);
                    listing_buttons = "<div id='touchless_"+escrow+"' data-qr='"+encoded_link+"' class='touchless'></div>";
                }
                let phygital = "";
                if(item.physical==0){
                    phygital = "<img title='Digital Asset' alt='Digital Asset' class='phygital-icon' id='phygital-0' src='"+digitalasset+"' />";
                }
                else if(item.physical==1){
                    phygital = "<img title='Phygital + Shipping' alt='Phygital + Shipping' class='phygital-icon' id='phygital-1' src='"+truck+"' />";
                }
                else if(item.physical==2){
                    phygital = "<img title='Phygital Pick-Up' alt='Phygital Pick-Up' class='phygital-icon' id='phygital-2' src='"+pick_up+"' />";
                }
                else if(item.physical==3){
                    phygital = "<img title='Stationary Phygital' alt='Stationary Phygital' class='phygital-icon' id='phygital-3' src='"+stationary+"' />";
                }
                const details = '<div class="mcswap-details-name">'+item?.metadata?.name+'</div><div class="mcswap-details-price"><span class="mcswap-details-amount">'+units+'</span> <span class="mcswap-details-symbol">'+item.token.symbol+'</span></div>'+token2+listing_buttons+'<div class="mcswap-details-link">'+links+'</div></div>';
                let ele = "<ul class='mcswap-item' data-physical='"+item?.physical+"' data-description='"+item?.metadata?.description+"' data-token_mint='"+item.tokenMint+"' data-mint='"+item.sellerMint+"' data-seller='"+item.seller+"' data-id='"+item.acct+"'><div class='mcswap-item-format'>"+item.standard+"</div><li class='mcswap-image'><img data-id='"+item.acct+"' class='mcswap-img' src='"+item.image+"' /></li><li class='mcswap-details'>"+details+"</li>"+phygital+"</ul>";
                if(i==0){
                    $("#"+_data_.id+" .mcswap-items").prepend(ele);
                }
                else{
                    const prior = items[i-1].acct;
                    $("#"+_data_.id+" ul[data-id='"+prior+"']").after(ele);
                }
                if(i==(items.length-1)){
                    $(".mcswap-listings ul.mcswap-item li.mcswap-details").css({"height":"auto"});
                    $(".touchless").each(function(){
                        const qrCode = createQR($(this).data("qr"),180);
                        const element = document.getElementById($(this).attr("id"));
                        qrCode.append(element);
                    });
                    await backcheck(rpc,items,backchecker,firstload);
                    // mint links
                    $("#"+_data_.id+" .mint-link").on("click", async function(e){if(isMobile()===true){e.preventDefault();copy($(this).data("mint"));}});
                    // explore links
                    $("#"+_data_.id+" .explore-link").on("click", async function(e){if(isMobile()===true){e.preventDefault();copy($(this).data("collection"));}});
                    // seller links
                    $("#"+_data_.id+" .seller-link").on("click", async function(e){if(isMobile()===true){e.preventDefault();copy($(this).data("seller"));}});
                    // image links
                    $("#"+_data_.id+" .mcswap-img").on("click", async function(){
                        let src = $(this).attr("src");
                        $("#mcswap-cover, #mcswap-cover-close").fadeIn(400);
                        $("#mcswap-lightbox").attr("src", src).fadeIn(400);
                    });
                    let interval;
                    let locator;
                    async function sendReceipts(record){
                        try{
                            return await fetch(_data_.solana_pay+"/receipt",{method:'POST',headers:{"Content-Type":"application/json"},body:JSON.stringify(record)});
                        }
                        catch{
                            return "error";
                        }
                    }
                    function validateEmail(email){
                        email = email.toLowerCase();
                        return email.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
                    };
                    async function payNow(id,solanaPay=false,format=false){
                        const provider = window.mcswap;
                        if(solanaPay==false){
                            if(!provider || !provider.isConnected || provider.isConnected!=true){
                                toast("Connect Wallet!", 4000);
                                return;
                            }
                        }
                        if(solanaPay!=false){
                            $("#mcswap-transaction-preview").hide();
                            $('#pay-my-wallet, #pay-solana-pay').hide();
                            $('#mcswap-pay-qr').show();
                            $("#mcswap-payment-options").hide();
                            $("#mcswap-payment-logo").show();
                            $("#mcswap-transaction-preview").css({"height":"auto"});
                            const new_reference = Keypair.generate();
                            const reference = new_reference.publicKey.toBase58();
                            // const payment_link = _data_.solana_pay+"/payment/"+format+"/"+id+"?memo="+reference;
                            const payment_link = _data_.solana_pay+"/payment/"+format+"/"+id+"/"+reference;
                            const encoded_link = "solana:"+encodeURIComponent(payment_link);
                            const qrCode = createQR(encoded_link,300);
                            const element = document.getElementById('mcswap-pay-qr');
                            qrCode.append(element);
                            const preview = $("#mcswap-transaction-preview");
                            const height = preview.outerHeight();
                            const half = height/2;
                            preview.css({"top":"calc(50% - "+half+"px)"});
                            $("#mcswap-transaction-preview").fadeIn(600);
                            //////////////////////////////////////////////
                            async function isScanned(ref){
                                return await new Promise(resolve=>{
                                    let start = 1;
                                    interval = setInterval(async()=>{
                                        console.log("scanning...");
                                        try{
                                            if(start==30){
                                                clearInterval(interval);
                                                resolve('timeout');
                                            }
                                            else{
                                                const scanner_link = _data_.solana_pay+"/scanner/"+reference;
                                                const response = await fetch(scanner_link);
                                                if(response.ok){
                                                    const json = await response.json();
                                                    if(json=="scanned"){
                                                        clearInterval(interval);
                                                        resolve(json);
                                                    }
                                                }
                                            }
                                        } 
                                        catch(error){
                                            clearInterval(interval);
                                            resolve('error');
                                        }
                                        start++;
                                    },2000);
                                });  
                            }
                            const scanned = await isScanned(reference);
                            if(scanned=="timeout"){
                                $("#mcswap-transaction-close").click();
                                return;
                            }
                            else{
                                $("#mcswap-pay-qr").html("").after("<div id='mcswap-pay-stage'>Awaiting Approval...</div>");
                                $('#mcswap-pay-stage').fadeIn(600);
                            }
                            //////////////////////////////////////////////
                            async function locate(escrow,ref){
                                return await new Promise(resolve=>{
                                    let start = 1;
                                    locator = setInterval(async()=>{
                                        console.log("locating...");
                                        try{
                                            if(start==30){
                                                $("#mcswap-pay-stage").html("Timed Out");
                                                clearInterval(locator);
                                                resolve('timeout');
                                            }
                                            else{
                                                const connection = new Connection(rpc, "confirmed");
                                                const signatures = await connection.getSignaturesForAddress(new PublicKey(escrow), "confirmed");
                                                const sig = signatures[0];
                                                if(sig && sig.memo){
                                                    let seperate = sig.memo.split("] ");
                                                    if(seperate[1]){
                                                        sig.memo = seperate[1].trim();
                                                    }
                                                }
                                                if(sig && !sig.err && sig.confirmationStatus=="confirmed" && sig.memo && sig.memo==ref){
                                                    $("#mcswap-pay-stage").html("Processing Payment...");
                                                    start = 1;
                                                }
                                                else if(sig && !sig.err && sig.confirmationStatus=="finalized" && sig.memo && sig.memo==ref){
                                                    clearInterval(locator);
                                                    resolve(sig);
                                                }
                                            }
                                        } 
                                        catch(error){
                                            $("#mcswap-pay-stage").html("Error!");
                                            clearInterval(locator);
                                            resolve('error');
                                        }
                                        start++;
                                    },2000);
                                });  
                            }
                            const details = await locate(id,reference);
                            if(details=="timeout"){
                                toast("Validation Timeout...", 4000);
                                return;
                            }
                            else if(details=="error"){
                                toast("Validation Error...", 4000);
                                return;
                            }
                            else{
                                const doReceipts = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").data("physical");
                                if(doReceipts>0){
                                    const connectun = new Connection(rpc,"confirmed");
                                    const signatures = await connectun.getSignaturesForAddress(new PublicKey(id),{"limit":2},"confirmed");
                                    const sig = signatures[1];
                                    let sellerEmail = "no-reply@mcswap.xyz";
                                    if(sig && sig.memo){
                                        const parts = sig.memo.split("] ");
                                        sellerEmail = parts[1].trim();
                                        if(!validateEmail(sellerEmail)){sellerEmail="no-reply@mcswap.xyz";}
                                    }
                                    const mailObj = {};
                                    mailObj.Asset_Name = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").find(".mcswap-details-name").html()?.trim();
                                    mailObj.Description = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").data("description")?.trim();
                                    mailObj.Seller_Email = sellerEmail;
                                    mailObj.Buyer_Email = $("#ship-to-email").val().trim();
                                    mailObj.Buyer_Name = $("#ship-to-name").val().trim();
                                    mailObj.Buyer_Address = $("#ship-to-address").val()?.trim();
                                    mailObj.Image = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").find("img.mcswap-img").attr("src")?.trim();
                                    mailObj.Format = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").find(".mcswap-item-format").html()?.trim();
                                    mailObj.Seller = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").data("seller");
                                    mailObj.Token = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").find(".mcswap-details-symbol").html()?.trim();
                                    mailObj.Token_Mint = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").data("token_mint");
                                    mailObj.Tokens_Paid = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").find(".mcswap-details-amount").html()?.trim();
                                    mailObj.SOL_Paid = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").find(".mcswap-details-amount-2").html()?.trim();
                                    mailObj.Listing = id;
                                    mailObj.Mint = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").data("mint");
                                    mailObj.Signature = details.signature;
                                    const parsed = await connectun.getParsedTransaction(details.signature,{maxSupportedTransactionVersion:0,});
                                    mailObj.Buyer = parsed.transaction.message.accountKeys[0].pubkey.toString();
                                    $("#mcswap-pay-stage").html("Sending Receipts...");
                                    const result = await sendReceipts(mailObj);
                                    $("#mcswap-pay-stage").html("Complete!");
                                }
                                else{
                                    $("#mcswap-pay-stage").html("Complete!");
                                }
                                $(".mcswap-refresh-button").first().click();
                            }
                        }
                        else{
                            if(provider && provider.publicKey.toString()==$("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").data("seller")){
                                toast("Buyer is Seller!", 4000);
                                return;
                            }
                            $('#mcswap-transaction-close, #pay-my-wallet, #pay-solana-pay').off('click');
                            $("#mcswap-transaction-preview").fadeOut(400);
                            setTimeout(function(){$("#mcswap-transaction-preview").remove();});
                            toast("Preparing Transaction...", 4000);
                            const mint = $("button[data-id='"+id+"']").data("mint");
                            let buyer = new PublicKey("11111111111111111111111111111111").toString();
                            if(provider && provider.isConnected===true){
                                buyer = provider.publicKey.toString();
                            }
                            const priority = $("#"+_data_.id+" .create-priority").val().trim();
                            const symbol = $("button[data-id='"+id+"']").parent().parent().find(".mcswap-details-symbol").html();
                            const new_reference = Keypair.generate();
                            const reference = new_reference.publicKey.toBase58();
                            const _transaction_ = {
                                rpc: rpc,
                                builder: true,
                                blink: false,
                                convert: true,
                                tolerance: 1.2,
                                priority: priority,
                                buyerMint: false,
                                affiliateWallet: _data_.treasury,
                                affiliateFee: _data_.fee_execute,
                                buyer: buyer,
                                sellerMint: mint,
                                memo: reference
                            }
                            let tx;
                            if(format=="NFT"){
                                tx = await mcswap.nftExecute(_transaction_);
                            }
                            else if(format=="PNFT"){
                                tx = await mcswap.pnftExecute(_transaction_);
                            }
                            else if(format=="CNFT"){
                                tx = await mcswap.cnftExecute(_transaction_);
                            }
                            else if(format=="CORE"){
                                tx = await mcswap.coreExecute(_transaction_);
                            }
                            if(tx.status){                                
                                if(tx.ix){                                    
                                    $("#"+_data_.id+" .mcswap-item").removeClass("active");
                                    $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", false);
                                    $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", false);
                                }
                                else{
                                    if(tx.logs.includes("Program log: CERROR: Invalid token fee amount")){
                                        toast("Not Enough "+symbol+"!", 4000, true);
                                    }
                                    else if(tx.logs.includes("Program log: CERROR: Invalid fee amount")){
                                        toast("Not Enough SOL!", 4000, true);
                                    }
                                    else{
                                        toast("Unknown Error!", 4000, true);
                                    }
                                    $("#"+_data_.id+" .mcswap-item").removeClass("active");
                                    $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", false);
                                    $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", false);
                                }
                            }
                            else{
                                const connectun = new Connection(rpc,"confirmed");
                                const signatures = await connectun.getSignaturesForAddress(new PublicKey(id),{"limit":1},"confirmed");
                                const sig = signatures[0];
                                let sellerEmail = "no-reply@mcswap.xyz";
                                if(sig && sig.memo){
                                    const parts = sig.memo.split("] ");
                                    sellerEmail = parts[1].trim();
                                    if(!validateEmail(sellerEmail)){sellerEmail="no-reply@mcswap.xyz";}
                                }
                                const signed = await provider.signTransaction(tx).catch(async function(){});
                                if(signed){
                                    const signature = await mcswap.send(rpc,signed);
                                    if(typeof signature.status=="undefined"){
                                        $("#mcswap-cover").fadeIn(300);
                                        $("#mcswap-message").html("Please Wait...").fadeIn(300);
                                        toast("Awaiting Status...", 5000);
                                        const status = await mcswap.status(rpc,signature);
                                        if(status!="finalized"){
                                            toast("Transaction Failed!", 4000, true);
                                            $("#mcswap-cover").fadeOut(300);
                                            $("#mcswap-message").html("").fadeOut(300);
                                            $("#"+_data_.id+" .mcswap-item").removeClass("active");
                                            $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", false);
                                            $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", false);
                                            return;
                                        }
                                        else{
                                            const physical = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").find(".mcswap-details-buy").data("physical");
                                            if(physical>0){
                                                const obj = {};
                                                obj.Asset_Name = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").find(".mcswap-details-name").html()?.trim();
                                                obj.Description = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").data("description");
                                                obj.Seller_Email = sellerEmail;
                                                obj.Buyer_Email = $("#ship-to-email").val().trim();
                                                obj.Buyer_Name = $("#ship-to-name").val().trim();
                                                obj.Buyer_Address = $("#ship-to-address").val()?.trim();
                                                obj.Image = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").find("img.mcswap-img").attr("src")?.trim();
                                                obj.Format = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").find(".mcswap-item-format").html()?.trim();
                                                obj.Seller = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").data("seller");
                                                obj.Buyer = provider.publicKey.toString();
                                                obj.Token = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").find(".mcswap-details-symbol").html()?.trim();
                                                obj.Token_Mint = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").data("token_mint");
                                                obj.Tokens_Paid = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").find(".mcswap-details-amount").html()?.trim();
                                                obj.SOL_Paid = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").find(".mcswap-details-amount-2").html()?.trim();
                                                obj.Listing = id;
                                                obj.Mint = $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").data("mint");
                                                obj.Signature = signature;
                                                const result = await sendReceipts(obj);
                                                toast("Asset Aquired!", 4000);
                                                $("#mcswap-cover").fadeOut(400);
                                                $("#mcswap-message").html("").fadeOut(400);
                                                $("#"+_data_.id+" .mcswap-item").removeClass("active");
                                                $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", false);
                                                $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", false); 
                                                $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").remove(); 
                                                return;
                                            }
                                            else{
                                                toast("Asset Aquired!", 4000);
                                                $("#mcswap-cover").fadeOut(400);
                                                $("#mcswap-message").html("").fadeOut(400);
                                                $("#"+_data_.id+" .mcswap-item").removeClass("active");
                                                $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", false);
                                                $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", false); 
                                                $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").remove(); 
                                                return;
                                            }
                                        }
                                    }
                                    else{
                                        toast("Signature Error", 2000, true);
                                        $("#mcswap-cover").fadeOut(300);
                                        $("#mcswap-message").html("").fadeOut(300);
                                        $("#"+_data_.id+" .mcswap-item").removeClass("active");
                                        $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", false);
                                        $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", false); 
                                        return;
                                    }
                                }
                                else{
                                    toast("Cancelled", 4000, true);
                                    $("#mcswap-cover").fadeOut(300);
                                    $("#mcswap-message").html("").fadeOut(300);
                                    $("#"+_data_.id+" .mcswap-item").removeClass("active");
                                    $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", false);
                                    $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", false); 
                                    return;
                                }
                            }
                        }
                    }
                    // buy now links
                    $("img.phygital-icon").on("click", async function(){
                        const id = $(this).attr("id");
                        $(this).parent().find(".phygital-message").remove();
                        let email = "noemail@nowhere.com";
                        const connection = new Connection(rpc,"confirmed");
                        const account = $(this).parent().data("id");
                        const signatures = await connection.getSignaturesForAddress(new PublicKey(account),{"limit":1},"confirmed");
                        const sig = signatures[0];
                        if(sig && sig.memo){
                            let parts = sig.memo.split("] ");
                            email = parts[1].trim();
                        }
                        let msg = '<img class="phygital-close" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAFzGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYTZhNjM5NiwgMjAyNC8wMy8xMi0wNzo0ODoyMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjExIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDMtMDRUMTY6NTU6MzItMDU6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTAzLTA0VDE2OjU1OjU4LTA1OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1LTAzLTA0VDE2OjU1OjU4LTA1OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozYWJhNjZjNi03NjkwLWFlNDYtYjAxNy1jZDkzY2ExMTUzOGIiIHhtcE1NOkRvY3VtZW50SUQ9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"></img>';
                        if(id=="phygital-1"){
                            msg += "This digital asset is associated with a physical asset that requires shipping. Your email and shipping details will be provided to the seller during this purchase. ";
                        }
                        else if(id=="phygital-2"){
                            msg += "This digital asset is associated with a physical asset that you must pick-up! Your email will be provided to the seller during this purchase. ";
                        }
                        else if(id=="phygital-3"){
                            msg += "This digital asset is associated with a stationary physical asset. Your email will be provided to the seller during this purchase. ";
                        }
                        msg += "Please direct preliminary inquiries to the seller's email address provided for this listing:<br /><br />"+email;
                        msg = "<div class='phygital-message'>"+msg+"</div>";
                        $(this).parent().prepend(msg);
                        $(this).parent().find(".phygital-message").fadeIn(300);
                        // close phygital message
                        $(".phygital-close").on("click", async function(){
                            $(this).parent().remove();
                        });
                    });
                    // buy now links
                    $("#"+_data_.id+" .mcswap-details-buy").on("click", async function(){
                        $(this).parent().parent().addClass("active");
                        $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", true);
                        $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", true);
                        const physical = $(this).data("physical");
                        if(_data_.shipping==true&&physical==1){
                            const _form_ = await form.create({
                            mid: _data_.id,
                            header: "Ship to?",
                            fields: [
                                {
                                    label: "Email",
                                    required: true,
                                    id: "ship-to-email",
                                    name: "ship-to-email",
                                    class: "ship-to-email",
                                    type: "email",
                                    placeholder: "Email",
                                    disabled: false,
                                },
                                {
                                    label: "Name",
                                    required: true,
                                    id: "ship-to-name",
                                    name: "ship-to-name",
                                    class: "ship-to-text",
                                    type: "text",
                                    placeholder: "Name",
                                    disabled: false,
                                },
                                {
                                    label: "Address",
                                    required: true,
                                    id: "ship-to-address",
                                    name: "ship-to-address",
                                    class: "ship-to-textarea",
                                    type: "textarea",
                                    placeholder: "Address",
                                    disabled: false,
                                },
                                {
                                    label: "Continue",
                                    id: "ship-to-submit",
                                    name: "ship-to-submit",
                                    class: "ship-to-submit",
                                    type: "submit",
                                }
                            ]
                            });
                        }
                        else if(_data_.shipping==true&&physical==2){
                            const _form_ = await form.create({
                            mid: _data_.id,
                            header: "Contact Info?",
                            fields: [
                                {
                                    label: "Email",
                                    required: true,
                                    id: "ship-to-email",
                                    name: "ship-to-email",
                                    class: "ship-to-email",
                                    type: "email",
                                    placeholder: "Email",
                                    disabled: false,
                                },
                                {
                                    label: "Name",
                                    required: true,
                                    id: "ship-to-name",
                                    name: "ship-to-name",
                                    class: "ship-to-text",
                                    type: "text",
                                    placeholder: "Name",
                                    disabled: false,
                                },
                                {
                                    label: "Continue",
                                    id: "ship-to-submit",
                                    name: "ship-to-submit",
                                    class: "ship-to-submit",
                                    type: "submit",
                                }
                            ]});
                        }
                        else if(_data_.shipping==true&&physical==3){
                            const _form_ = await form.create({
                            mid: _data_.id,
                            header: "Contact Info?",
                            fields: [
                                {
                                    label: "Email",
                                    required: true,
                                    id: "ship-to-email",
                                    name: "ship-to-email",
                                    class: "ship-to-email",
                                    type: "email",
                                    placeholder: "Email",
                                    disabled: false,
                                },
                                {
                                    label: "Name",
                                    required: true,
                                    id: "ship-to-name",
                                    name: "ship-to-name",
                                    class: "ship-to-text",
                                    type: "text",
                                    placeholder: "Name",
                                    disabled: false,
                                },
                                {
                                    label: "Continue",
                                    id: "ship-to-submit",
                                    name: "ship-to-submit",
                                    class: "ship-to-submit",
                                    type: "submit",
                                }
                            ]});                            
                        }
                        let SolanaPay = false;
                        if(_data_.solana_pay!=false){SolanaPay=""}else{SolanaPay=" disabled";}
                        $("body").append('<div id="mcswap-transaction-preview"><img id="mcswap-transaction-close" src="'+$("#mcswap-cover-close").attr("src")+'" /><div id="mcswap-payment-options">Pay with?</div><img id="mcswap-payment-logo" src="'+_data_.solana_pay_logo+'" /><div id="mcswap-pay-qr"></div><button data-format="'+$(this).data("format")+'" data-id="'+$(this).data("id")+'" id="pay-my-wallet">My Wallet</button><button data-format="'+$(this).data("format")+'" data-id="'+$(this).data("id")+'" data-mint="'+$(this).data("mint")+'" id="pay-solana-pay"'+SolanaPay+'>Solana Pay</button></div>');
                        if(_data_.kiosk!=false){
                            $("#mcswap-transaction-preview button").hide();
                        }
                        if(physical==0||_data_.shipping==false){
                            $("#mcswap-transaction-preview").fadeIn(400);
                        }
                        $("#mcswap-transaction-close").on("click", async function(){
                            clearInterval(interval);
                            $("#"+_data_.id+" ul.mcswap-item").removeClass("active");
                            $("#mcswap-transaction-preview").fadeOut(400);
                            $('#mcswap-transaction-close, #pay-my-wallet, #pay-solana-pay').off('click');
                            setTimeout(function(){$("#mcswap-transaction-preview").remove();},1000);
                        });
                        $("#pay-my-wallet").on("click", async function(){
                            const id = $(this).attr("data-id");
                            const format = $(this).attr("data-format");
                            payNow(id,false,format);
                        });
                        $("#pay-solana-pay").on("click", async function(){
                            const id = $(this).attr("data-id");
                            const format = $(this).attr("data-format");
                            payNow(id,true,format);
                        });
                        if(_data_.kiosk!=false){
                            $("#pay-solana-pay").click();
                        }
                        

                    });
                    // delist links
                    $("#"+_data_.id+" .mcswap-details-delist").on("click", async function(){
                        const provider = window.mcswap;
                        if(provider && provider.isConnected && provider.isConnected === true){
                            $(this).parent().parent().addClass("active");
                            $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", true);
                            $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", true);
                            toast("Preparing Transaction...", 4000);
                            const id = $(this).data("id");
                            const mint = $(this).data("mint");
                            const format = $(this).data("format");
                            const seller = provider.publicKey.toString();
                            const priority = $("#"+_data_.id+" .create-priority").val().trim();
                            let cancel_tx = {
                                "rpc": rpc,
                                "blink": false,
                                "tolerance": "1.2",
                                "priority": priority,
                                "seller": seller,
                                "sellerMint": mint,
                                "buyerMint": false,
                            }
                            let tx;
                            if(format=="NFT"){
                                tx = await mcswap.nftCancel(cancel_tx);
                            }
                            else if(format=="PNFT"){
                                tx = await mcswap.pnftCancel(cancel_tx);
                            }
                            else if(format=="CNFT"){
                                tx = await mcswap.cnftCancel(cancel_tx);
                            }
                            else if(format=="CORE"){
                                tx = await mcswap.coreCancel(cancel_tx);
                            }
                            if(typeof tx.status!="undefined"){
                                toast("Error!", 4000, true);
                                console.log(tx);
                                $("#"+_data_.id+" .mcswap-item").removeClass("active");
                                $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", false);
                                $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", false);
                            }
                            else{
                                const signed = await provider.signTransaction(tx).catch(async function(){});
                                if(signed){
                                    const signature = await mcswap.send(rpc,signed);
                                    if(typeof signature.status=="undefined"){
                                        $("#mcswap-cover").fadeIn(300);
                                        $("#mcswap-message").html("Please Wait...").fadeIn(300);
                                        toast("Awaiting Status...", 5000);
                                        const status = await mcswap.status(rpc,signature);
                                        if(status!="finalized"){
                                            toast("Transaction Failed!", 4000, true);
                                            $("#mcswap-cover").fadeOut(300);
                                            $("#mcswap-message").html("").fadeOut(300);
                                            $("#"+_data_.id+" .mcswap-item").removeClass("active");
                                            $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", false);
                                            $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", false);
                                            return;
                                        }
                                        else{
                                            toast("Asset Delisted!", 4000);
                                            $("#mcswap-cover").fadeOut(300);
                                            $("#mcswap-message").html("").fadeOut(300);
                                            $("#"+_data_.id+" .mcswap-item").removeClass("active");
                                            $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", false);
                                            $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", false);  
                                            $("#"+_data_.id+" .mcswap-item[data-id='"+id+"']").remove();
                                            return;
                                        }
                                    }
                                    else{
                                        toast("Signature Error", 2000, true);
                                        $("#mcswap-cover").fadeOut(300);
                                        $("#mcswap-message").html("").fadeOut(300);
                                        $("#"+_data_.id+" .mcswap-item").removeClass("active");
                                        $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", false);
                                        $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", false); 
                                        return;
                                    }
                                }
                                else{
                                    toast("Cancelled", 4000, true);
                                    $("#mcswap-cover").fadeOut(300);
                                    $("#mcswap-message").html("").fadeOut(300);
                                    $("#"+_data_.id+" .mcswap-item").removeClass("active");
                                    $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", false);
                                    $("#"+_data_.id+" .mcswap-details-delist").prop("disabled", false); 
                                    return;
                                }
                            }
                        }
                        else{
                            toast("Connect Wallet!", 4000);
                        }
                    });
                }
            }
        }
        // get the items
        let items = [];
        const sellers = $("#"+_data_.id+" .seller-addresses").val().split("\n");
        const collections = $("#"+_data_.id+" .seller-addresses").val().split("\n");
        const display = $("#"+_data_.id+" .mcswap-display-me").val();
        const standards = [false,false,false,false];
        const core = $("#"+_data_.id+" .mcswap-radio-core");
        const nft = $("#"+_data_.id+" .mcswap-radio-nft");
        const pnft = $("#"+_data_.id+" .mcswap-radio-pnft");
        const cnft = $("#"+_data_.id+" .mcswap-radio-cnft");
        if(core.is(":checked")){standards[0]=true;}
        if(nft.is(":checked")){standards[1]=true;}
        if(pnft.is(":checked")){standards[2]=true;}
        if(cnft.is(":checked")){standards[3]=true;}
        if(!$("#"+_data_.id+" .mcswap-refresh-button").hasClass("mcswap-rotating")){
            $("#"+_data_.id+" .mcswap-refresh-button").addClass("mcswap-rotating");
        }
        let listings;
        let need_background = false;
        if(!_data_.refresh){_data_.refresh=false;}
        if(_data_.refresh===true || !localStorage.getItem('mcswap-listings-'+_data_.id)){
            _data_.refresh=true;
            listings = await fetchListings({"sellers":sellers,"collections":collections,"standards":standards});
            listings = listings.listings;
            localStorage.setItem('mcswap-listings-'+_data_.id, JSON.stringify(listings));
        }
        else{
            listings = JSON.parse(localStorage.getItem('mcswap-listings-'+_data_.id));
            need_background = true;
        }
        items = listings.cnft.concat(listings.nft, listings.pnft, listings.core);
        await sorter(items);
        await displayer(rpc,items,false,_data_.refresh);
        if(need_background===true){
            listings = await fetchListings({"sellers":sellers,"collections":collections,"standards":standards});
            listings = listings.listings;
            items = listings.cnft.concat(listings.nft, listings.pnft, listings.core);
            localStorage.setItem('mcswap-listings-'+_data_.id, JSON.stringify(listings));
            await sorter(items);
            await displayer(rpc,items,true,false);
        }
    }
    async startTouchless(miliseconds){ 
        this.touchless = setInterval(async function(){
            console.log("debug");
            $(".mcswap-refresh-button").first().click();
        },miliseconds);
    }
    async start(_data_,miliseconds){ 
        this.checker = setInterval(async function(){
            const provider = window.mcswap;
            if(provider && provider.isConnected && provider.isConnected === true){
                $("#"+_data_.id+" .mcswap-item").each(function(){
                    if(provider.publicKey.toString()==$(this).data("seller")){
                        if(!$(this).find(".mcswap-details-delist").is(":visible")){
                            $(this).find(".mcswap-details-delist").fadeIn(1000);
                        }
                        if(!$("#"+_data_.id+" ul.mcswap-item.active").length){
                            $(this).find(".mcswap-details-delist").prop("disabled", false);
                        }
                        $(this).find(".mcswap-details-buy").prop("disabled", true);
                    }
                    else{
                        if($(this).find(".mcswap-details-delist").is(":visible")){
                            $(this).find(".mcswap-details-buy").prop("disabled", true);
                        }
                        else if($("#"+_data_.id+" ul.mcswap-item.active").length){
                            $(this).find(".mcswap-details-buy").prop("disabled", true);
                        }
                        else{
                            $(this).find(".mcswap-details-buy").prop("disabled", false);
                        }
                        $(this).find(".mcswap-details-delist").hide();
                    }
                });
            }
            else{
                if($("#"+_data_.id+" ul.mcswap-item.active").length){
                    $("#"+_data_.id+" .mcswap-details-delist").hide();
                    $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", true);
                }
                else{
                    $("#"+_data_.id+" .mcswap-details-delist").hide();
                    $("#"+_data_.id+" .mcswap-details-buy").prop("disabled", false);
                }
            }
        }, miliseconds);
    }
    async stop(){ 
        this.checker = clearInterval(this.checker);
    }
    async init(_data_){
        const result = {};
        // rpc connection test
        const connectionTest = await fetch(this.rpc,{
            method:'POST',
            headers:{"Content-Type":"application/json"},
            body:JSON.stringify({"jsonrpc":"2.0","id":"test","method":"getAsset","params":{"id":"So11111111111111111111111111111111111111111"}})
        }).catch(function(err){});
        if(!connectionTest.ok || connectionTest.ok!=true){
            console.log("invalid rpc endpoint");
            return;
        }
        if(_data_&&_data_.id&&$("#"+_data_.id).length){this.id=_data_.id;}else{return}
        if(_data_&&_data_.name){this.name=_data_.name;}else{this.name="McSwap Shop";}
        if(_data_&&_data_.logo){this.logo=_data_.logo;}else{this.logo=false;}
        if(_data_&&_data_.logo_link){this.logo_link=_data_.logo_link;}else{this.logo_link="#";}
        if(_data_&&_data_.priority){this.priority=_data_.priority;}else{this.priority="Low";}
        if(_data_&&_data_.default_sort){this.default_sort=_data_.default_sort;}else{this.default_sort="Newest First";}
        if(_data_&&_data_.default_display){this.default_display=_data_.default_display;}else{this.default_display="All Listings";}
        if(_data_&&_data_.text_intro){this.text_intro=_data_.text_intro;}else{this.text_intro="Initializing Shop";}
        if(_data_&&_data_.text_buy){this.text_buy=_data_.text_buy;}else{this.text_buy="Buy Now";}
        if(_data_&&!_data_.master_settings){this.master_settings=_data_.master_settings;}else{this.master_settings=true;}
        if(_data_&&!_data_.enable_new_listings){this.enable_new_listings=_data_.enable_new_listings;}else{this.enable_new_listings=true;}
        if(_data_&&!_data_.enable_edit_sort){this.enable_edit_sort=_data_.enable_edit_sort;}else{this.enable_edit_sort=true;}
        if(_data_&&!_data_.enable_edit_display){this.enable_edit_display=_data_.enable_edit_display;}else{this.enable_edit_display=true;}
        if(_data_&&_data_.fee_create&&_data_.fee_create>0){this.fee_create=_data_.fee_create;}else{this.fee_create=0;}
        if(_data_&&_data_.fee_execute&&_data_.fee_execute>0){this.fee_execute=_data_.fee_execute;}else{this.fee_execute=0;}
        if(_data_&&_data_.treasury){this.treasury=_data_.treasury;}else{this.treasury=false;}
        if(_data_&&!_data_.enable_edit_core){this.enable_edit_core=_data_.enable_edit_core;}else{this.enable_edit_core=true;}
        if(_data_&&!_data_.enable_edit_nft){this.enable_edit_nft=_data_.enable_edit_nft;}else{this.enable_edit_nft=true;}
        if(_data_&&!_data_.enable_edit_pnft){this.enable_edit_pnft=_data_.enable_edit_pnft;}else{this.enable_edit_pnft=true;}
        if(_data_&&!_data_.enable_edit_cnft){this.enable_edit_cnft=_data_.enable_edit_cnft;}else{this.enable_edit_cnft=true;}
        if(_data_&&!_data_.core_display){this.core_display=_data_.core_display;}else{this.core_display=true;}
        if(_data_&&!_data_.nft_display){this.nft_display=_data_.nft_display;}else{this.nft_display=true;}
        if(_data_&&!_data_.pnft_display){this.pnft_display=_data_.pnft_display;}else{this.pnft_display=true;}
        if(_data_&&!_data_.cnft_display){this.cnft_display=_data_.cnft_display;}else{this.cnft_display=true;}
        if(_data_&&!_data_.collections_display){this.collections_display=false;}else{this.collections_display=true;}
        if(_data_&&!_data_.enable_edit_collections){this.enable_edit_collections=_data_.enable_edit_collections;}else{this.enable_edit_collections=true;}
        if(_data_&&_data_.collections){this.collections=_data_.collections;}else{this.collections="";}
        if(_data_&&!_data_.sellers_display){this.sellers_display=false;}else{this.sellers_display=true;}
        if(_data_&&!_data_.enable_edit_sellers){this.enable_edit_sellers=_data_.enable_edit_sellers;}else{this.enable_edit_sellers=true;}
        if(_data_&&_data_.sellers){this.sellers=_data_.sellers;}else{this.sellers="";}
        if(_data_&&_data_.solana_pay&&_data_.solana_pay!=true){this.solana_pay=_data_.solana_pay;}else{this.solana_pay=false;}
        if(_data_&&!_data_.kiosk){this.kiosk=false;}else{this.kiosk=_data_.kiosk;}
        if(_data_&&_data_.shipping==true){this.shipping=true;}else{this.shipping=false;}
        if(_data_&&!_data_.physicals){this.physicals=[];}else{this.physicals=_data_.physicals;}
        if(_data_&&!_data_.enable_edit_physical){this.enable_edit_physical=_data_.enable_edit_physical;}else{this.enable_edit_physical=true;}
        if(_data_&&_data_.default_physical){this.default_physical=_data_.default_physical;}else{this.default_physical=0;}
        const default_settings = {
            text_intro: this.text_intro,
            text_buy: this.text_buy,
            id: this.id,
            name: this.name,
            logo: this.logo,
            logo_link: this.logo_link,
            sellers: this.sellers,
            collections: this.collections,
            enable_edit_sellers: this.enable_edit_sellers,
            enable_edit_collections: this.enable_edit_collections,
            enable_new_listings: this.enable_new_listings,
            treasury: this.treasury,
            priority: this.priority,
            fee_create: this.fee_create,
            fee_execute: this.fee_execute,
            enable_edit_sort: this.enable_edit_sort,
            default_sort: this.default_sort,
            enable_edit_display: this.enable_edit_display,
            default_display: this.default_display,
            enable_edit_core: this.enable_edit_core,
            core_display: this.core_display,
            enable_edit_nft: this.enable_edit_nft,
            nft_display: this.nft_display,
            enable_edit_pnft: this.enable_edit_pnft,
            pnft_display: this.pnft_display,
            enable_edit_cnft: this.enable_edit_cnft,
            cnft_display: this.cnft_display,
            master_settings: this.master_settings,
            collections_display: this.collections_display,
            sellers_display: this.sellers_display,
            solana_pay_logo: this.solana_pay_logo,
            solana_pay: this.solana_pay,
            kiosk: this.kiosk,
            shipping: this.shipping,
            physicals: this.physicals,
            enable_edit_physical: this.enable_edit_physical,
            default_physical: this.default_physical,
        };
        const rpc = this.rpc;
        const cnft_fee = await mcswap.fee({"rpc":rpc,"display":true,"standard":"cnft"});
        const pnft_fee = await mcswap.fee({"rpc":rpc,"display":true,"standard":"pnft"});
        const nft_fee = await mcswap.fee({"rpc":rpc,"display":true,"standard":"nft"});
        const core_fee = await mcswap.fee({"rpc":rpc,"display":true,"standard":"core"});
        default_settings.cnft_fee = cnft_fee;
        default_settings.pnft_fee = pnft_fee;
        default_settings.nft_fee = nft_fee;
        default_settings.core_fee = core_fee;
        
        if(!localStorage.getItem('mcswap-settings-'+default_settings.id)){localStorage.setItem('mcswap-settings-'+default_settings.id, JSON.stringify(default_settings));}
        const _settings_ = JSON.parse(localStorage.getItem('mcswap-settings-'+default_settings.id));
        
        // add cover if needed
        if(!$("#mcswap-cover").length){const cover = "<div id='mcswap-cover'><img id='mcswap-cover-close' src='"+this.close+"' /><div id='mcswap-message'></div><img id='mcswap-lightbox' /></div>";$("body").append(cover);}
        
        // add mcswap wrapper
        const _mcmarket_ = "#"+default_settings.id;
        const mcmarket = $(_mcmarket_);
        mcmarket.html("<div class='mcswap-wrapper'></div>");
        const wrapper = $(_mcmarket_+" .mcswap-wrapper");
        
        // add header bar
        let hasSrc="";
        if(default_settings.logo!=false){hasSrc = "src='"+default_settings.logo+"' ";}
        let ele = "<div class='mcswap-header'><ul><li class='mcswap-logo'><a target='_blank' class='mcswap-logo-link' href='#'><img "+hasSrc+"/></a></li><li class='mcswap-name'><span class='mcswap-name-span'>"+default_settings.name+"</span><span class='mcswap-host'></span></li><li class='mcswap-settings'><img class='mcswap-settings-button' src='"+this.settings+"' /></li><li class='mcswap-refresh'><img class='mcswap-refresh-button' src='"+this.refresh+"' /></li></ul></div>";
        wrapper.append(ele);

        $("#"+default_settings.id+" .mcswap-host").html(window.location.host);
        $("#"+default_settings.id+" .mcswap-logo-link").attr("href", default_settings.logo_link);

        // add control bar
        ele = "<div class='mcswap-controls'>";
        ele += "<ul class='control-ul'>";
            
            ele += "<li class='control-li-preferences'><button class='mcswap-clear-button mcswap-clear-settings'>Reset</button>";
            ele += "<div class='mcswap-spacer-b'></div>";
            ele += "<label>Fees</label>";
            ele += "<select class='create-priority'><option value='Min'>Minimum Priority</option><option value='Low'>Low Priority</option><option value='Medium'>Medium Priority</option><option value='High'>High Priority</option><option value='VeryHigh'>Very High Priority</option></select>";
            ele += "<div class='mcswap-spacer-b'></div>";
            ele += "<label>Sort by</label>";
            ele += "<select disabled class='mcswap-sorter'><option value='Shuffle'>Shuffle</option><option value='Newest First'>Newest First</option><option value='Oldest First'>Oldest First</option><option value='Name A > Z'>Name A > Z</option><option value='Name Z > A'>Name Z > A</option><option value='SOL High > Low'>SOL High > Low </option><option value='SOL Low > High'>SOL Low > High </option><option value='Tokens High > Low'>Tokens High > Low </option><option value='Tokens Low > High'>Tokens Low > High </option></select>";
            ele += "<div class='mcswap-spacer-b'></div>";
            ele += "<label>Display</label>";
            ele += "<select disabled class='mcswap-display-me'><option>All Listings</option><option>Collections Only</option><option>No Collection</option></select>";
            ele += "<div class='mcswap-spacer-b'></div>";
            ele += "<label>Formats</label>";
            ele += "<div class='mcswap-label-clear'>";
                ele += "<input type='checkbox' disabled checked class='mcswap-radio mcswap-radio-core' value='core' /> <span>CORE</span>";
                ele += "<input type='checkbox' disabled checked class='mcswap-radio mcswap-radio-nft' value='nft' /> <span>NFT</span>";
                ele += "<input type='checkbox' disabled checked class='mcswap-radio mcswap-radio-pnft' value='pnft' /> <span>PNFT</span>";
                ele += "<input type='checkbox' disabled checked class='mcswap-radio mcswap-radio-cnft' value='cnft' /> <span>CNFT</span>";
            ele += "</div>";
            ele += "<div class='mcswap-spacer-b'></div>";
            ele += "<button disabled class='mcswap-save-settings'>Save Settings</button>";
            ele += "</li>";

            ele += "<li class='control-li-list'>";
            ele += "<label>New Listing</label>";
            ele += "<input disabled class='mint-address' placeholder='Asset Id' autocomplete='off' type='text' /><button disabled class='mcswap-list-it'>Next</button><button class='mcswap-list-cancel'>Cancel</button>";
            ele += "<div class='mcswap-spacer'></div>";
            ele += "<label>Listing Details</label>";
            ele += "<input disabled class='token-address' placeholder='Token Address' autocomplete='off' type='text' />";
            ele += "<div class='mcswap-spacer-b'></div>";
            ele += "<input disabled class='token-amount' data-decimals='0' placeholder='Token Amount' autocomplete='off' type='text' /><span class='token-currency'></span>";
            ele += "<div class='mcswap-spacer-b'></div>";
            ele += "<input disabled class='sol-amount' data-decimals='9' placeholder='Amount' autocomplete='off' type='text' /><span class='sol-currency'>SOL</span>";
            ele += "<div class='mcswap-spacer-b'></div>";
            ele += "<select disabled class='mcswap-physical'>";
            for(let i=0;i<default_settings.physicals.length;i++){
                ele += "<option value='"+i+"'>"+default_settings.physicals[i]+"</option>";
            }
            ele += "</select>";
            ele += "<input disabled class='mcswap-email' placeholder='Seller Email' />";
            ele += "<div class='mcswap-spacer-b'></div>";
            ele += "<button disabled class='mcswap-create-it'>Create Listing</button>";
            ele += "<div class='mcswap-create-fees'><span class='mcswap-create-fees-label'>Listing Fee</span><span class='mcswap-create-fees-value'>0.000000000</span></div>";
            ele += "</li>";

            ele += "<li class='control-li-collections'><button class='mcswap-clear-button mcswap-clear-collections'>Reset</button>";
            ele += "<label>Collections</label>";

            let local_collections;
            if(!localStorage.getItem('mcswap-collections-'+default_settings.id)){
                localStorage.setItem('mcswap-collections-'+default_settings.id, JSON.stringify(default_settings.collections.split(",")));
                local_collections = JSON.parse(localStorage.getItem('mcswap-collections-'+default_settings.id));
                local_collections = local_collections.join("\n");
            }
            else{
                local_collections = JSON.parse(localStorage.getItem('mcswap-collections-'+default_settings.id));
                local_collections = local_collections.join("\n");
            }
            ele += "<textarea disabled class='control-collections'>"+local_collections+"</textarea>";
            ele += "<div class='mcswap-spacer-b'></div>";
            ele += "<button disabled class='mcswap-update-collections'>Save Collections</button>";
            ele += "</li>";
            ele += "<li class='control-li-sellers'><button class='mcswap-clear-button mcswap-clear-sellers'>Reset</button>";
            ele += "<label>Sellers</label>";
            let local_sellers;
            if(!localStorage.getItem('mcswap-sellers-'+default_settings.id)){
                localStorage.setItem('mcswap-sellers-'+default_settings.id, JSON.stringify(default_settings.sellers.split(",")));
                local_sellers = JSON.parse(localStorage.getItem('mcswap-sellers-'+default_settings.id));
                local_sellers = local_sellers.join("\n");
            }
            else{
                local_sellers = JSON.parse(localStorage.getItem('mcswap-sellers-'+default_settings.id));
                local_sellers = local_sellers.join("\n");
            }
            ele += "<textarea disabled class='seller-addresses'>"+local_sellers+"</textarea>";
            ele += "<div class='mcswap-spacer-b'></div>";
            ele += "<button disabled class='mcswap-update-it'>Save Sellers</button>";
            ele += "</li>";

        ele += "</ul>";

        const currentYear = new Date().getFullYear();
        ele += "<div class='mcswap-poweredby'>";
            ele += "Powered by <a target='_blank' class='mcswap-poweredby-copy' href='https://www.mcswap.xyz'>McSwap</a> &copy; "+currentYear;
        ele += "</div>";

        ele += "</div>";
        wrapper.append(ele);

        $("#"+default_settings.id+" .create-priority").val(default_settings.priority);
        
        // add mcswap listings container
        ele = "<div class='mcswap-listings'>";
            ele += "<div class='mcswap-init'>"+default_settings.text_intro+"</div>";
            ele += "<div class='mcswap-items'></div>";
        ele += "</div>";
        wrapper.append(ele);

        if(default_settings.master_settings===true && default_settings.kiosk==false){$("#"+default_settings.id+" .mcswap-settings-button").show();};
        if(default_settings.kiosk!=false && default_settings.kiosk.touch==false){$("#"+default_settings.id+" .mcswap-refresh-button").hide();}
        
        // cover close
        $("#mcswap-cover-close").on("click", async function(){
            $("#mcswap-cover").fadeOut(300);
            $("#mcswap-cover-close").fadeOut(300);
            $("#mcswap-lightbox").fadeOut(300);
            setTimeout(function(){$("#mcswap-lightbox").prop("src",false);},400);
        });

        // reset settings
        $("#"+default_settings.id+" .mcswap-clear-settings").on("click", async function(){
            localStorage.setItem("mcswap-settings-"+default_settings.id, JSON.stringify(default_settings));
            function flip(current){if(current===true){return false;}else{return true;}}
            $("#"+default_settings.id+" .mcswap-sorter").prop("disabled",flip(default_settings.enable_edit_sort)).val(default_settings.default_sort);
            $("#"+default_settings.id+" .mcswap-display-me").prop("disabled",flip(default_settings.enable_edit_display)).val(default_settings.default_display);
            $("#"+default_settings.id+" .mcswap-radio-core").prop("disabled",flip(default_settings.enable_edit_core)).prop("checked", default_settings.core_display);
            $("#"+default_settings.id+" .mcswap-radio-nft").prop("disabled",flip(default_settings.enable_edit_nft)).prop("checked", default_settings.nft_display);
            $("#"+default_settings.id+" .mcswap-radio-pnft").prop("disabled",flip(default_settings.enable_edit_pnft)).prop("checked", default_settings.pnft_display);
            $("#"+default_settings.id+" .mcswap-radio-cnft").prop("disabled",flip(default_settings.enable_edit_cnft)).prop("checked", default_settings.cnft_display);
            $("#"+default_settings.id+" .mcswap-physical").prop("disabled",flip(default_settings.enable_edit_physical)).val(default_settings.default_physical);
            toast("Settings Updated", 2000);
            $("#"+default_settings.id+" .mcswap-refresh-button").click();
        });

        // reset sellers
        const _sellers_ = default_settings.sellers.split(",");
        $("#"+default_settings.id+" .mcswap-clear-sellers").on("click", async function(){
            $("#"+default_settings.id+" .seller-addresses").val("");
            const sellers_ = _sellers_.join("\n");
            $("#"+default_settings.id+" .seller-addresses").val(sellers_);
            localStorage.setItem("mcswap-sellers-"+default_settings.id, JSON.stringify(_sellers_));
            toast("Sellers Updated", 2000);
            $("#"+default_settings.id+" .mcswap-refresh-button").click();
        });

        // save sellers
        $("#"+default_settings.id+" .mcswap-update-it").on("click", async function(){
            let addresses = $("#"+default_settings.id+" .seller-addresses").val();
            addresses = addresses.split("\n");
            localStorage.setItem("mcswap-sellers-"+default_settings.id, JSON.stringify(addresses));
            toast("Sellers Updated", 2000);
            $("#"+default_settings.id+" .mcswap-update-it").removeClass("mcswap-save-noti");
            $("#"+default_settings.id+" .mcswap-refresh-button").click();
        });

        // reset collections
        const _collections_ = default_settings.collections.split(",");
        $("#"+default_settings.id+" .mcswap-clear-collections").on("click", async function(){
            $("#"+default_settings.id+" .control-collections").val("");
            const collections_ = _collections_.join("\n");
            $("#"+default_settings.id+" .control-collections").val(collections_);
            localStorage.setItem("mcswap-collections-"+default_settings.id, JSON.stringify(_collections_));
            toast("Collections Updated", 2000);
            $("#"+default_settings.id+" .mcswap-refresh-button").click();
        });
        
        // save collections
        $("#"+default_settings.id+" .mcswap-update-collections").on("click", async function(){
            let collections = $("#"+default_settings.id+" .control-collections").val();
            collections = collections.split("\n");
            localStorage.setItem("mcswap-collections-"+default_settings.id, JSON.stringify(collections));
            toast("Collections Updated", 2000);
            $("#"+default_settings.id+" .mcswap-update-collections").removeClass("mcswap-save-noti");
            $("#"+default_settings.id+" .mcswap-refresh-button").click();
        });

        // save settings
        $("#"+default_settings.id+" .mcswap-save-settings").on("click", async function(){
            const sort = $("#"+default_settings.id+" .mcswap-sorter").val();
            const display = $("#"+default_settings.id+" .mcswap-display-me").val();
            let core = false;
            if($("#"+default_settings.id+" .mcswap-radio-core").is(':checked')){core=true;}
            let nft = false;
            if($("#"+default_settings.id+" .mcswap-radio-nft").is(':checked')){nft=true;}
            let pnft = false;
            if($("#"+default_settings.id+" .mcswap-radio-pnft").is(':checked')){pnft=true;}
            let cnft = false;
            if($("#"+default_settings.id+" .mcswap-radio-cnft").is(':checked')){cnft=true;}
            _settings_.default_sort = sort;
            _settings_.default_display = display;
            _settings_.core_display = core;
            _settings_.nft_display = nft;
            _settings_.pnft_display = pnft;
            _settings_.cnft_display = cnft;
            localStorage.setItem("mcswap-settings-"+default_settings.id, JSON.stringify(_settings_));
            toast("Settings Updated", 2000);
            $("#"+default_settings.id+" .mcswap-save-settings").removeClass("mcswap-save-noti");
            $("#"+default_settings.id+" .mcswap-refresh-button").click();
        });

        // settings button
        $("#"+default_settings.id+" .mcswap-settings-button").on("click", async function(){
            if($("#"+default_settings.id+" .mcswap-controls").is(":visible")){
                $("#"+default_settings.id+" .mcswap-controls").hide();
                $("#"+default_settings.id+" .mcswap-listings").fadeIn(300);
                $("#"+default_settings.id+" .mcswap-listings").focus();
            }
            else{
                $("#"+default_settings.id+" .mcswap-listings").hide();
                $("#"+default_settings.id+" .mcswap-controls").fadeIn(300);
                $("#"+default_settings.id+" .create-priority").focus();
                toast("Settings & Preferences", 2000);
            }
        });

        // physical mode change
        $("#"+default_settings.id+" .mcswap-physical").on("change", async function(){
            if($(this).val()==0){
                $("#"+default_settings.id+" .mcswap-email").prop("disabled", true).val("");
            }
            else if($(this).val()==1){
                $("#"+default_settings.id+" .mcswap-email").prop("disabled", false);
            }
            else if($(this).val()==2){
                $("#"+default_settings.id+" .mcswap-email").prop("disabled", false);
            }
            else if($(this).val()==3){
                $("#"+default_settings.id+" .mcswap-email").prop("disabled", false);
            }
            allowListing();
        });

        // email field change with validation
        $("#"+default_settings.id+" .mcswap-email").on("keyup paste", async function(){
            allowListing();
        });

        // cancel preview
        $("#"+default_settings.id+" .mcswap-list-cancel").on("click", async function(){
            $(this).hide();
            $("#"+default_settings.id+" .mcswap-list-it").fadeIn(300);
            $("#"+default_settings.id+" .mint-address").prop("disabled", false);
            $("#"+default_settings.id+" .token-address, .token-amount, .sol-amount").prop("disabled", true).val("");
            $("#"+default_settings.id+" .mcswap-create-fees-value").html("0.000000000");
            $("#"+default_settings.id+" .mint-address").prop("disabled", false);
            $("#"+default_settings.id+" .mcswap-physical").prop("disabled", true).val(0);
            $("#"+default_settings.id+" .mcswap-email").prop("disabled", true).val("");
            allowListing();
        });

        // new listing button
        $("#"+default_settings.id+" .mcswap-list-it").on("click", async function(){
            const mint_address = $("#"+default_settings.id+" .mint-address").val().trim();
            toast("Fetching Asset...", 2000);
            $("#mcswap-cover").fadeIn(300);
            const response = await fetch(rpc,{
                method:'POST',
                headers:{"Content-Type":"application/json"},
                body:JSON.stringify({"jsonrpc":"2.0","id":"text","method":"getAsset","params":{"id":mint_address}})
            }).catch(function(err){
                toast("RPC Error", 2000, true);
                $("#mcswap-cover").fadeOut(1000);
                return;
            });
            if(typeof response.ok!="undefined"&&response.ok===true){
                const metadata = await response.json();
                const _asset_ = metadata.result;
                const asset = {};
                if(typeof _asset_ == "undefined"){
                    toast("Invalid Asset Id", 2000, true);
                    $("#mcswap-cover").fadeOut(1000);
                    return;
                }
                asset.id = _asset_.id;
                asset.image = false;
                asset.name = "Unknown";
                asset.desc = "Unknown";
                asset.symbol = "";
                asset.attributes = false;
                asset.royalty = "0%";
                asset.owner = false;
                if(_asset_ && _asset_.content && _asset_.content.links && _asset_.content.links.image){ asset.image = _asset_.content.links.image; }
                if(_asset_ && _asset_.content && _asset_.content.metadata && _asset_.content.metadata.name){ asset.name = _asset_.content.metadata.name; }
                if(_asset_ && _asset_.content && _asset_.content.metadata && _asset_.content.metadata.description){ asset.name = _asset_.content.metadata.name; }
                if(_asset_ && _asset_.content && _asset_.content.metadata && _asset_.content.metadata.description){ asset.desc = _asset_.content.metadata.description; }
                if(_asset_ && _asset_.content && _asset_.content.metadata && _asset_.content.metadata.symbol){ asset.symbol = _asset_.content.metadata.symbol; }
                if(_asset_ && _asset_.content && _asset_.content.metadata && _asset_.content.metadata.attributes){ asset.attributes = _asset_.content.metadata.attributes; }
                if(_asset_ && _asset_.royalty && _asset_.content.percent){ asset.royalty = _asset_.royalty.percent; }
                if(_asset_ && _asset_.ownership && _asset_.ownership.owner){ asset.owner = _asset_.ownership.owner; }
                // collection data
                asset.collection = "";
                asset.collection_name = "Unknown";
                asset.collection_desc = false;
                if(_asset_ && _asset_.grouping && _asset_.grouping[0] && _asset_.grouping[0].group_value){ 
                    asset.collection = _asset_.grouping[0].group_value; 
                    const getCollection = await fetch(rpc,{
                        method:'POST',
                        headers:{"Content-Type":"application/json"},
                        body:JSON.stringify({"jsonrpc":"2.0","id":"text","method":"getAsset","params":{"id":asset.collection}})
                    }).catch(function(err){
                        toast("No Collection Found", 2000);
                    });
                    const collection_data = await getCollection.json();
                        const _collection_ = collection_data.result;
                        asset.collection_name = _collection_.content.metadata.name;
                        asset.collection_desc = _collection_.content.metadata.description;
                }
                else{
                    asset.collection = "";
                    asset.collection_name = "None";
                    asset.collection_desc = "";
                }
                asset.standard = "Unknown";
                if(_asset_.compression.compressed===true){ 
                    asset.standard = 'CNFT';
                    if(!$("#"+default_settings.id+" .mcswap-radio-cnft").is(":checked")){
                        toast("CNFT Not Enabled!", 3000, true);
                        $("#mcswap-cover").fadeOut(1000);
                        $("#"+default_settings.id+" .mcswap-label-clear span").addClass("mcswap-standard-error");
                        setTimeout(function(){$("#"+default_settings.id+" .mcswap-label-clear span").removeClass("mcswap-standard-error");},2000);
                        return;
                    }
                }
                else if(_asset_.interface=="ProgrammableNFT"){
                    asset.standard = 'PNFT';
                    if(!$("#"+default_settings.id+" .mcswap-radio-pnft").is(":checked")){
                        toast("PNFT Not Enabled!", 3000, true);
                        $("#mcswap-cover").fadeOut(1000);
                        $("#"+default_settings.id+" .mcswap-label-clear span").addClass("mcswap-standard-error");
                        setTimeout(function(){$("#"+default_settings.id+" .mcswap-label-clear span").removeClass("mcswap-standard-error");},2000);
                        return;
                    }
                }
                else if(_asset_.interface=="MplCoreAsset"){
                    asset.standard = 'CORE';
                    if(!$("#"+default_settings.id+" .mcswap-radio-core").is(":checked")){
                        toast("CORE Not Enabled!", 3000, true);
                        $("#mcswap-cover").fadeOut(1000);
                        $("#"+default_settings.id+" .mcswap-label-clear span").addClass("mcswap-standard-error");
                        setTimeout(function(){$("#"+default_settings.id+" .mcswap-label-clear span").removeClass("mcswap-standard-error");},2000);
                        return;
                    }
                }
                else if(_asset_.interface=="V1_NFT"){
                    asset.standard = 'NFT';
                    if(!$("#"+default_settings.id+" .mcswap-radio-nft").is(":checked")){
                        toast("NFT Not Enabled!", 3000, true);
                        $("#mcswap-cover").fadeOut(1000);
                        $("#"+default_settings.id+" .mcswap-label-clear span").addClass("mcswap-standard-error");
                        setTimeout(function(){$("#"+default_settings.id+" .mcswap-label-clear span").removeClass("mcswap-standard-error");},2000);
                        return;
                    }
                }
                else{
                    toast("Unsupported Standard!", 3000, true);
                    $("#mcswap-cover").fadeOut(1000);
                    $("#"+default_settings.id+" .mcswap-label-clear span").addClass("mcswap-standard-error");
                    setTimeout(function(){$("#"+default_settings.id+" .mcswap-label-clear input").removeClass("mcswap-standard-error");},2000);
                    return;
                }
                $("#mcswap-cover").append('<div id="mcswap-preview"><div id="mcswap-preview-ok"><div id="mcswap-preview-name">'+asset.name+'</div><div id="mcswap-preview-standard">'+asset.standard+'</div><div id="mcswap-preview-desc">'+asset.desc+'</div><img data-standard="'+asset.standard+'" data-owner="'+asset.owner+'" src="'+asset.image+'" id="mcswap-preview-img" /><div id="mcswap-preview-collection">Collection: <span id="mcswap-preview-collection-name">'+asset.collection_name+'</span></div><button id="mcswap-preview-collection-value">'+asset.collection+'</button><button id="mcswap-preview-cancel">Cancel</button><button id="mcswap-preview-next">Next</button></div></div>');
                $("#mcswap-preview").fadeIn(300);
            }
            else{
                toast("Invalid Asset Id", 2000);
                $("#mcswap-cover").fadeOut(1000);
                return;
            }
            $("#mcswap-preview-cancel").on("click", async function(){
                toast("Cancelled", 2000, true);
                $("#mcswap-cover, #mcswap-preview").fadeOut(300);
                setTimeout(function(){$("#mcswap-preview").remove();},400);
                $("#"+default_settings.id+" .token-address, #"+default_settings.id+" .token-amount, #"+default_settings.id+" .sol-amount").val("");
            });
            $("#mcswap-preview-next").on("click", async function(){
                const asset_collection = $("#mcswap-preview-collection-value").html().trim();
                const supported_collection = $("#"+default_settings.id+" .control-collections").val().trim().split("\n");        
                if(asset_collection!="" && supported_collection.length > 0 && !supported_collection.includes(asset_collection)){
                    toast("Unsupported Collection");
                    return;
                }
                toast("Add Listing Details", 2000);
                let clonedImage = $("#mcswap-preview-img").clone();
                clonedImage.addClass("mcswap-floater");
                $("#"+default_settings.id+" .control-li-list").append(clonedImage);
                $("#"+default_settings.id+" .mcswap-list-cancel").on("click", async function(){
                    $("#"+default_settings.id+" .mcswap-floater").remove();
                    $("#"+default_settings.id+" .token-currency").html("");
                });
                $("#"+default_settings.id+" .mint-address").prop("disabled", true);
                $("#"+default_settings.id+" .mcswap-list-it").hide();
                $("#"+default_settings.id+" .mcswap-list-cancel").show();
                $("#mcswap-cover, #mcswap-preview").fadeOut(300);
                setTimeout(function(){
                    $("#mcswap-preview").remove();
                    $("#"+default_settings.id+" .token-address").focus();
                },400);
                $("#"+default_settings.id+" .token-address, #"+default_settings.id+" .token-amount, #"+default_settings.id+" .sol-amount").prop("disabled", false);
                if(default_settings.enable_edit_physical==true){
                    $("#"+default_settings.id+" .mcswap-physical").prop("disabled", false);
                }
                const standard = $("#mcswap-cover #mcswap-preview-standard").html();
                let base_fee = 0;
                let temp_fee = 0;
                const connection = new Connection(rpc, "confirmed");
                if(standard=="CNFT"){
                    base_fee=default_settings.cnft_fee;
                    temp_fee = await connection.getMinimumBalanceForRentExemption(mcswap.CNFT_SWAP_STATE.span);
                }
                else if(standard=="NFT"){
                    base_fee=default_settings.nft_fee;
                    temp_fee = await connection.getMinimumBalanceForRentExemption(mcswap.NFT_SWAP_STATE.span);
                }
                else if(standard=="PNFT"){
                    base_fee=default_settings.pnft_fee;
                    temp_fee = await connection.getMinimumBalanceForRentExemption(mcswap.PNFT_SWAP_STATE.span);
                }
                else if(standard=="CORE"){
                    base_fee=default_settings.core_fee;
                    temp_fee = await connection.getMinimumBalanceForRentExemption(mcswap.CORE_SWAP_STATE.span);
                }
                temp_fee = temp_fee/1000000000;
                toast("Temporary Rent", 3000);
                toast(temp_fee+" SOL", 3000);
                let total_fee = parseFloat(base_fee) + parseFloat(default_settings.fee_create);
                total_fee = total_fee.toFixed(9);
                const total_x = total_fee.split(".");
                if(total_x.length>1){
                    total_fee = total_x[0].toString().replace(/\B(?=(\d{3})+(?!\d))/g,",");
                    total_fee = total_fee+"."+total_x[1].toString();
                }
                $("#"+default_settings.id+" .mcswap-create-fees-value").html(total_fee);
            });
            $("#mcswap-preview-collection-value").on("click", async function(){
                copy($(this).html());
            });
        });
        
        const loader = this.load;
        async function refresher(){
            const refresh_settings = default_settings;
            refresh_settings.refresh = true;
            await loader(rpc,refresh_settings);
        }
        // refresh button
        $("#"+default_settings.id+" .mcswap-refresh-button").on("click", async function(){
            const isRotating = $(this).hasClass("mcswap-rotating");
            if(!isRotating){
                $(this).addClass("mcswap-rotating");
                if(default_settings.kiosk==false){
                    toast("Refreshing Listings", 4000);
                }
                await refresher();
            }
        });

        if(default_settings.enable_new_listings=="true"||default_settings.enable_new_listings===true){
            $("#"+default_settings.id+" input.mint-address, #"+default_settings.id+" .mcswap-list-it").prop("disabled", false);
        }
        else{
            $("#"+default_settings.id+" input.mint-address, #"+default_settings.id+" .mcswap-list-it").prop("disabled", true);
        }

        if(default_settings.enable_edit_sellers===true){
            $("#"+default_settings.id+" textarea.seller-addresses, #"+default_settings.id+" .mcswap-update-it").prop("disabled", false);
        }
        else{
            $("#"+default_settings.id+" textarea.seller-addresses, #"+default_settings.id+" .mcswap-update-it").prop("disabled", true);
        }

        if(default_settings.enable_edit_collections===true){
            $("#"+default_settings.id+" textarea.control-collections, #"+default_settings.id+" .mcswap-update-collections").prop("disabled", false);
        }
        else{
            $("#"+default_settings.id+" textarea.control-collections, #"+default_settings.id+" .mcswap-update-collections").prop("disabled", true);
        }

        if(default_settings.enable_edit_sort===true){
            $("#"+default_settings.id+" .mcswap-sorter").prop("disabled", false).val(_settings_.default_sort);;
        }
        else{
            $("#"+default_settings.id+" .mcswap-sorter").prop("disabled", true).val(default_settings.default_sort);
        }

        if(default_settings.enable_edit_display===true){
            $("#"+default_settings.id+" .mcswap-display-me").prop("disabled", false).val(_settings_.default_display);
        }
        else{
            $("#"+default_settings.id+" .mcswap-display-me").prop("disabled", true).val(default_settings.default_display);
        }

        if(default_settings.enable_edit_core===true){
            $("#"+default_settings.id+" .mcswap-radio-core").prop("disabled",false).prop("checked",_settings_.core_display);
        }
        else{
            $("#"+default_settings.id+" .mcswap-radio-core").prop("disabled",true).prop("checked",default_settings.core_display);
        }

        if(default_settings.enable_edit_nft===true){
            $("#"+default_settings.id+" .mcswap-radio-nft").prop("disabled",false).prop("checked",_settings_.nft_display);
        }
        else{
            $("#"+default_settings.id+" .mcswap-radio-nft").prop("disabled",true).prop("checked",default_settings.nft_display);
        }

        if(default_settings.enable_edit_pnft===true){
            $("#"+default_settings.id+" .mcswap-radio-pnft").prop("disabled",false).prop("checked",_settings_.pnft_display);
        }
        else{
            $("#"+default_settings.id+" .mcswap-radio-pnft").prop("disabled",true).prop("checked",default_settings.pnft_display);
        }

        if(default_settings.enable_edit_cnft===true){
            $("#"+default_settings.id+" .mcswap-radio-cnft").prop("disabled",false).prop("checked",_settings_.cnft_display);
        }
        else{
            $("#"+default_settings.id+" .mcswap-radio-cnft").prop("disabled",true).prop("checked",default_settings.cnft_display);
        }

        if(default_settings.collections_display===true){
            $("#"+default_settings.id+" .control-li-collections").show();
        }
        else{
            $("#"+default_settings.id+" .control-li-collections").hide();
        }

        if(default_settings.sellers_display===true){
            $("#"+default_settings.id+" .control-li-sellers").show();
        }
        else{
            $("#"+default_settings.id+" .control-li-sellers").hide();
        }

        $("#"+default_settings.id+" .mcswap-physical").prop("disabled", true).val(default_settings.default_physical);
        
        if( 
            default_settings.enable_edit_sort===true||
            default_settings.enable_edit_display===true||
            default_settings.enable_edit_core===true||
            default_settings.enable_edit_cnft===true||
            default_settings.enable_edit_pnft===true||
            default_settings.enable_edit_nft===true
        ){
            $("#"+default_settings.id+" .mcswap-save-settings").prop("disabled", false);
        }
        else{
            $("#"+default_settings.id+" .mcswap-save-settings").prop("disabled", true);
        }

        await this.load(rpc,default_settings);

        // powered_link.onclick = async function(e){ 
        //     e.preventDefault();
        //     let href = e.target.href;
        //     copy(href);
        // }
        
        function isMobile() {
            return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
        }

        // copy to clipboard
        function copy(string){
            let textArea = document.createElement('textarea');
            textArea.setAttribute('style', 'width:1px;border:0;opacity:0;');
            textArea.setAttribute('id', 'temp_copy');
            document.body.appendChild(textArea);
            textArea.value = string;
            textArea.select();
            document.execCommand('copy');
            document.body.removeChild(textArea);
            toast("Copied to Clipboard", 2000);
            return;
        }

        // toast
        function toast(message,wait,error=false){
            let color = "#111";
            let background = "#fff";
            if(error===true){
                color = "#111";
                background = "#fff"
            }
            else{
                color = "#111";
                background = "#fff";
            }
            Toastify({
                text: message,
                duration: wait,
                newWindow: false,
                close: false,
                gravity: "bottom", // `top` or `bottom`
                position: "left", // `left`, `center` or `right`
                stopOnFocus: false, // Prevents dismissing of toast on hover
                style: {
                    "font-weight": "bold",
                    "font-family": "Ubuntu",
                    "border-radius": "10px",
                    "color": color,
                    "background": background,
                },
                onClick: function(){} // Callback after click
            }).showToast();
        }

        // powered by link
        $("#"+default_settings.id+" .mcswap-poweredby-copy").on("click", async function(e){
            if(isMobile()===true){e.preventDefault();copy($(this).attr("href"));}
        });

        // filter sol amount
        $("#"+default_settings.id+" input.sol-amount").on("keyup paste", async function(){
            let decimals = 9;
            let current = $(this).val();
            const regex = /[^0-9.]/g;
            let onlyNums = current.replace(regex,'');
            const check_places = onlyNums.split(".");
            if(check_places.length > 2){
                onlyNums = check_places[0]+"."+check_places[1];
            }
            if(typeof check_places[1] != "undefined" && check_places[1].length > decimals){
                onlyNums = Number.parseFloat(onlyNums).toFixed(decimals);
            }
            $(this).val(onlyNums);
            allowListing();
        });

        // filter token amount
        $("#"+default_settings.id+" input.token-amount").on("keyup paste", async function(){
            let current = $(this).val();
            let decimals = $(this).data("decimals");
            const regex = /[^0-9.]/g;
            let onlyNums = current.replace(regex,'');
            const check_places = onlyNums.split(".");
            if(check_places.length > 2){
                onlyNums = check_places[0]+"."+check_places[1];
            }
            if(typeof check_places[1] != "undefined" && check_places[1].length > decimals){
                onlyNums = Number.parseFloat(onlyNums).toFixed(decimals);
            }
            $(this).val(onlyNums);
            allowListing();
        });

        // custom token
        $("#"+default_settings.id+" .token-address").on("keyup paste", async function(){
            const token_address = $(this).val();
            if(token_address.length<32){
                $("#"+default_settings.id+" .token-currency").html("");
                $("#"+default_settings.id+" .token-amount").attr("data-decimals", 0).val("");
                allowListing();
                return;
            }
            const response = await fetch(rpc,{
                method:'POST',
                headers:{"Content-Type":"application/json"},
                body:JSON.stringify({"jsonrpc":"2.0","id":"text","method":"getAsset","params":{"id":token_address}})
            }).catch(function(err){
                toast("RPC Error", 2000, true);
                $("#"+default_settings.id+" .token-currency").html("");
                $("#"+default_settings.id+" .token-amount").attr("data-decimals", 0).val("");
                allowListing();
                return;
            });
            if(typeof response.ok!="undefined"&&response.ok===true){
                const _metadata_ = await response.json();
                const metadata = _metadata_.result;
                if(typeof metadata=="undefined"||metadata.interface!="FungibleToken"){
                    $("#"+default_settings.id+" .token-currency").html("");
                    $("#"+default_settings.id+" .token-amount").attr("data-decimals", 0).val("");
                    toast("Invalid Token", 2000, true);
                    return;
                }
                const info = metadata.token_info;
                const symbol = info.symbol;
                const decimals = info.decimals;
                const price = info.price_info.price_per_token;
                $("#"+default_settings.id+" .token-currency").html(symbol);
                $("#"+default_settings.id+" .token-amount").attr("data-decimals", decimals)
                $("#"+default_settings.id+" .token-amount").focus();
                allowListing();
                return;
            }
            else{
                toast("!!!", 2000, true);
                $("#"+default_settings.id+" .token-currency").html("");
                $("#"+default_settings.id+" .token-amount").attr("data-decimals", 0).val("");
                allowListing();
                return;
            }
        });

        function validateEmail(email){
            email = email.toLowerCase();
            return email.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
        };

        function allowListing(){
            if(
                $("#"+default_settings.id+" .token-currency").html()!="" && 
                $("#"+default_settings.id+" .token-amount").val()>0 || $("#"+default_settings.id+" .sol-amount").val()>0
            ){
                if($("#"+default_settings.id+" .mcswap-physical").val()>0){
                    if(validateEmail($("#"+default_settings.id+" .mcswap-email").val())){
                        $("#"+default_settings.id+" .mcswap-create-it").prop("disabled", false);
                    }
                    else{
                        $("#"+default_settings.id+" .mcswap-create-it").prop("disabled", true);
                    }
                }
                else{
                    $("#"+default_settings.id+" .mcswap-create-it").prop("disabled", false);
                }
            }
            else{
                $("#"+default_settings.id+" .mcswap-create-it").prop("disabled", true);
            }
        }

        // create the listings
        $("#"+default_settings.id+" .mcswap-create-it").on("click", async function(){
            let _priority_ = $("#"+default_settings.id+" .create-priority").val().trim();
            let token_amount = $("#"+default_settings.id+" .token-amount").val().trim();
            const mint = $("#"+default_settings.id+" .mint-address").val().trim();
            if(token_amount>0){token_amount = $("#"+default_settings.id+" .token-amount").val();}
            else{token_amount=0;}
            let sol_amount = $("#"+default_settings.id+" .sol-amount").val().trim();
            if(sol_amount>0){sol_amount = $("#"+default_settings.id+" .sol-amount").val();}
            else{sol_amount=0;}
            let token_address = $("#"+default_settings.id+" .token-address").val().trim();
            if(token_address.length>0){token_address = $("#"+default_settings.id+" .token-address").val().trim();}
            else{token_address=false;}
            const provider = window.mcswap;
            if(!provider){toast("Connect Wallet!", 2000, true);return;}
            const seller = provider.publicKey.toString();
            const owner = $("#"+default_settings.id+" .mcswap-floater").data("owner");
            const standard = $("#"+default_settings.id+" .mcswap-floater").data("standard");
            if(seller!=owner){toast("Wrong Owner!", 2000, true);return;}
            if(typeof provider=="undefined" || typeof provider.isConnected=="undefined" ||provider.isConnected==false){toast("Connect Your Wallet!", 4000);return;}
            $("#"+default_settings.id+" .mcswap-create-it, #"+default_settings.id+" .mcswap-list-cancel").prop("disabled", true);
            const physical = $("#"+default_settings.id+" .mcswap-physical").val();
            let sellerEmail = $("#"+default_settings.id+" .mcswap-email").val();
            toast("Requesting Approval...", 4000);
            const config = {
                "rpc": rpc,
                "blink": false,
                "convert": true,
                "tolerance": "1.2",
                "priority": _priority_,
                "affiliateWallet": default_settings.treasury,
                "affiliateFee": default_settings.fee_create,
                "seller": seller,
                "sellerMint": mint,
                "buyer": false,
                "buyerMint": false,
                "lamports": parseFloat(sol_amount),
                "tokenMint": token_address,
                "units": parseFloat(token_amount),
                "physical": physical,
                "sellerEmail": sellerEmail,
            }
            let tx = false;
            if(standard=="CNFT"){
                tx = await mcswap.cnftCreate(config);            
            }
            else if(standard=="PNFT"){
                tx = await mcswap.pnftCreate(config);
            }
            else if(standard=="NFT"){
                tx = await mcswap.nftCreate(config);
            }
            else if(standard=="CORE"){
                tx = await mcswap.coreCreate(config);
            }
            if(tx.status){
                toast("Error!", 4000, true);
                console.log(tx);
                $("#"+default_settings.id+" .mcswap-create-it, #"+default_settings.id+" .mcswap-list-cancel").prop("disabled", false);
            }
            else{
                const signed = await provider.signTransaction(tx).catch(async function(){});
                if(signed){
                    const signature = await mcswap.send(rpc,signed);
                    if(typeof signature.status=="undefined"){
                        $("#mcswap-cover").fadeIn(300);
                        $("#mcswap-message").html("Please Wait...").fadeIn(300);
                        toast("Awaiting Status...", 5000);
                        const status = await mcswap.status(rpc,signature);
                        if(status!="finalized"){
                            toast("Transaction Failed!", 4000, true);
                            $("#mcswap-cover").fadeOut(300);
                            $("#mcswap-message").html("").fadeOut(300);
                            $("#"+default_settings.id+" .mcswap-create-it, #"+default_settings.id+" .mcswap-list-cancel").prop("disabled", false);
                            return;
                        }
                        else{
                            toast("Listing Added!", 4000);
                            $("#"+default_settings.id+" .mcswap-refresh-button").click();
                            $("#mcswap-message").html("").fadeOut(300);
                            $("#mcswap-cover").fadeOut(300);
                            $("#"+default_settings.id+" .mcswap-create-it, #"+default_settings.id+" .mcswap-list-cancel").prop("disabled", false);
                            $("#"+default_settings.id+" .mcswap-list-cancel").click();
                            return;
                        }
                    }
                    else{
                        toast("Signature Error", 2000, true);
                        return;
                    }
                }
                else{
                    toast("Cancelled", 4000, true);
                    $("#mcswap-cover").fadeOut(300);
                    $("#mcswap-message").html("").fadeOut(300);
                    $("#"+default_settings.id+" .mcswap-create-it, #"+default_settings.id+" .mcswap-list-cancel").prop("disabled", false);
                    return;
                }
            }
        });

        // settings save notify
        $("#"+default_settings.id+" .mcswap-radio").on("click", async function(){
            if(!$("#"+default_settings.id+" .mcswap-save-settings").hasClass("mcswap-save-noti")){
                $("#"+default_settings.id+" .mcswap-save-settings").addClass("mcswap-save-noti");
            }
        });
        $("#"+default_settings.id+" .mcswap-display-me, #"+default_settings.id+" .mcswap-sorter").on("change", async function(){
            if(!$("#"+default_settings.id+" .mcswap-save-settings").hasClass("mcswap-save-noti")){
                $("#"+default_settings.id+" .mcswap-save-settings").addClass("mcswap-save-noti");
            }
        });
        // collections save notify
        $("#"+default_settings.id+" .control-collections").on("change keyup paste", async function(){
            if(!$("#"+default_settings.id+" .mcswap-update-collections").hasClass("mcswap-save-noti")){
                $("#"+default_settings.id+" .mcswap-update-collections").addClass("mcswap-save-noti");
            }
        });
        // sellers save notify
        $("#"+default_settings.id+" .seller-addresses").on("change keyup paste", async function(){
            if(!$("#"+default_settings.id+" .mcswap-update-it").hasClass("mcswap-save-noti")){
                $("#"+default_settings.id+" .mcswap-update-it").addClass("mcswap-save-noti");
            }
        });
        // logo link
        $("#"+default_settings.id+" .mcswap-logo-link").on("click", async function(e){
            if(isMobile()===true){e.preventDefault();copy($(this).attr("href"));}
        });
        if(default_settings.kiosk && default_settings.kiosk.refresh && default_settings.kiosk.touch==false){   
            await this.startTouchless(default_settings.kiosk.refresh);
        }
        else{
            await this.start(default_settings,2000);
        }
        result.status = "ok";
        result.message = "mcswap shop started";
        console.log(result.message);
        return result;
    }
}
export default shop;