For logging in, signing data, or sending transactions, users can deny by simply closing the modal. On these events, Fortmatic SDK will throw an error to indicate that user has denied one of those actions.
Logging In
import Fortmatic from'fortmatic';import Web3 from'web3';constfm=newFortmatic('YOUR_API_KEY');window.web3 =newWeb3(fm.getProvider());try {constaccounts=awaitweb3.eth.getAccounts();// other functions for logging in:// const accounts = await web3.currentProvider.enable();// const accounts = await fm.user.login();}catch (err) { // if user closes the modal without logging inconsole.log(err); // { message: 'Fortmatic: User denied account access.', code: '4001' }}
Sending a Transaction
import Fortmatic from'fortmatic';import Web3 from'web3';constfm=newFortmatic('YOUR_API_KEY');window.web3 =newWeb3(fm.getProvider());try {web3.eth.sendTransaction(...);}catch (err) { // if user closes the modal without starting the transactionconsole.log(err); // { message: 'Fortmatic: User denied transaction.', code: '-32603' }}
Signing a Data
import Fortmatic from'fortmatic';import Web3 from'web3';constfm=newFortmatic('YOUR_API_KEY');window.web3 =newWeb3(fm.getProvider());try {awaitweb3.currentProvider.sendAsync( { id:1, method:'eth_signTypedData',// other function for signing: personal_sign params: [...] });}catch (err) { // if user closes the modal without signingconsole.log(err); // { message: 'Fortmatic: User denied transaction.', code: '-32603' }}