**is solidity function with external visibility can be called from front-end??**
if yes I donāt know why for me if I click the button nothing happens no success/ errors
here is my code
ABI
onst unlockABI = [{"inputs":[{"internalType":"address","name":"_lockAddress","type":"address"},{"internalType":"address","name":"_nftAddress","type":"address"}],"name":"createMapping","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_lockAddress","type":"address"},{"internalType":"address","name":"_keyOwner","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"isValidKey","type":"bool"}],"name":"hasValidKey","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nftAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]``
**function**
const contractCaller = useWeb3ExecuteFunction()
async function config() {
let options = {
contractAddress: "0x910F56Fb797D9c7a978a08e73D7280e67eb81372",
functionName: "createMapping",
abi: unlockABI,
params: {
_lockAddress: lockAddress,
_nftAddress: exiAddress,
},
}
await contractCaller.fetch({
params: options,
onSuccess:() =>{
alert("wooow you made it")
},
onerror: (errori) =>{
alert(errori)
}
})
console.log("clicked button")
}
console.log("clicked button")
**JSX CODE **
`` return <div>
<h2>hellow</h2>
<div className='all-inputs'>
<input type="text" value={exiAddress} placeholder="your nfts address" onChange={ e => setExiAddress(e.target.value)} />
<input type="text" value={lockAddress} placeholder="your lock address" onChange={ e => setLockAddress(e.target.value)} />
</div>
<button onClick={config}>change lock</button>
</div>`
lockAddress and exiAddress is a form value stored on State
what could be wrong with my code