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
})
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 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/