MoralisWeb3 / plugindocs

14 stars 14 forks source link

sell immediately #13

Open ChristianErdtmann opened 2 years ago

ChristianErdtmann commented 2 years ago

Hey i tried to write the code like described to sell immediatly. But i alltimes get the error: MetaMask - RPC Error: Invalid parameters: must provide an Ethereum address. {code: -32602, message: 'Invalid parameters: must provide an Ethereum address.'} (anonym) @ inpage.js:1 (anonym) @ inpage.js:17 _runReturnHandlers @ inpage.js:17 _processRequest @ inpage.js:17 await in _processRequest (async) _handle @ inpage.js:17 handle @ inpage.js:17 _rpcRequest @ inpage.js:1 send @ inpage.js:1 send @ VM1294:2 (anonym) @ moralis.js:6335 tryCatch @ moralis.js:41120 invoke @ moralis.js:41351 (anonym) @ moralis.js:41176 tryCatch @ moralis.js:41120 maybeInvokeDelegate @ moralis.js:41414 invoke @ moralis.js:41325 (anonym) @ moralis.js:41176 asyncGeneratorStep @ moralis.js:28195 _next @ moralis.js:28217 (anonym) @ moralis.js:28224 Wrapper @ moralis.js:32713 (anonym) @ moralis.js:28213 (anonym) @ moralis.js:6500 (anonym) @ moralis.js:6011 tryCatch @ moralis.js:41120 invoke @ moralis.js:41351 (anonym) @ moralis.js:41176 asyncGeneratorStep @ moralis.js:28195 _next @ moralis.js:28217 Promise.then (async) asyncGeneratorStep @ moralis.js:28205 _next @ moralis.js:28217 (anonym) @ moralis.js:28224 Wrapper @ moralis.js:32713 (anonym) @ moralis.js:28213 (anonym) @ moralis.js:6035 submit @ main.js:47 moralis.js:6355 Uncaught (in promise) Error: Invalid parameters: must provide an Ethereum address. at moralis.js:6355 at tryCatch (moralis.js:41120) at Generator.invoke [as _invoke] (moralis.js:41351) at Generator.next (moralis.js:41176) at asyncGeneratorStep (moralis.js:28195) at _next (moralis.js:28217) at moralis.js:28224 at new Promise () at new Wrapper (moralis.js:32713) at moralis.js:28213

Here is my Code. I dont know whats wrong

/* Connect to Moralis server / const serverUrl = ".......//deleted for post issue"; const appId = ".......//deleted for post issue"; Moralis.start({ serverUrl, appId }); let user = Moralis.User.current();

/* Add from here down / async function login() { if (!user) { try { user = await Moralis.authenticate({ signingMessage: "Hello World!" }) initApp(); } catch(error) { console.log(error) } } else{ Moralis.enableWeb3(); initApp(); } }

function initApp(){ document.querySelector("#app").style.display = "block"; document.querySelector("#submit_button").onclick = submit; }

async function submit(){ const input = document.querySelector('#input_image'); let data = input.files[0] const imageFile = new Moralis.File(data.name, data) await imageFile.saveIPFS(); let imageHash = imageFile.hash();

let metadata = {
    name: document.querySelector('#input_name').value,
    description: document.querySelector('#input_description').value,
    image: "/ipfs/" + imageHash
}
console.log(metadata);
const jsonFile = new Moralis.File("metadata.json", {base64 : btoa(JSON.stringify(metadata))});
await jsonFile.saveIPFS();

let metadataHash = jsonFile.hash();
console.log(jsonFile.ipfs())

await Moralis.Plugins.rarible.lazyMint({
    chain: 'eth',
    userAddress: '0x7f64041298CC2C045FE5eb0e897ab7b5D4BdB4F3',
    tokenType: 'ERC721',
    tokenUri: '/ipfs/QmWLsBu6nS4ovaHbGAXprD1qEssJu4r5taQfB74sCG51tp',
    supply: 100,
    royaltiesAmount: 0.05, // 0.05% royalty. Optional
    list: true, // Only if lazy listing
    listTokenAmount: 0.08, // Only if lazy listing
    listTokenValue: 10 ** 18, // Only if lazy listing
    listAssetClass: 'ETH', // only if lazy listing  || optional
  })

/ let res = await Moralis.Plugins.rarible.lazyMint({ chain: 'eth', userAddress: user.get('ethAddress'), tokenType: 'ERC721', tokenUri: 'ipfs://' + metadataHash, royaltiesAmount: 5, // 0.05% royalty. Optional }) /
console.log(res); document.querySelector('#success_message').innerHTML = NFT minted. <a href="https://rarible.com/token/${res.data.result.tokenAddress}:${res.data.result.tokenId}">View NFT; document.querySelector('#success_message').style.display = "block"; setTimeout(() => { document.querySelector('#success_message').style.display = "none"; }, 5000)

}

login(); /* Useful Resources /

// https://docs.moralis.io/moralis-server/users/crypto-login // https://docs.moralis.io/moralis-server/getting-started/quick-start#user // https://docs.moralis.io/moralis-server/users/crypto-login#metamask

/* Moralis Forum /

// https://forum.moralis.io/