If you use the crucible on Ferrum Gateway, you may face an Insufficient Allowance or Approval Issue. This issue will prevent you from executing the desired transaction.
Background and Root Cause
The cause of the issue is the lack of a "dynamic allowance check" on these two dApps. Let's assume that In the past, you wanted to bridge 100 tokens when the approval popped up in MetaMask. Instead of accepting the infinite approval or clicking use default in MetaMask, you clicked max in the approval popup in MetaMask.
This would change the Approval amount in MetaMask from an infinite approval to the number of tokens available in your wallet. In this example, that would be 100 tokens. Once you approve the 100 tokens, you will be able to bridge. However, when you return in the future, if you want to bridge more than 100 tokens, there will be a problem. Since these two dApps don't have "dynamic allowance check", they only check if an approval exists for your wallet, assuming you went with infinite approval. However, since you went with an approval of 100 tokens, the dApp gets an incorrect answer. The chain responds yes, the user has approval, which satisfies the app, but it doesn't tell the app that the approval amount was for 100 tokens and that you intend to bridge or interact with a larger number of tokens this time. This problem arose because, at the time of development for these dApps, MetaMask defaulted to one kind of approval, the infinite approval. In an update, MetaMask started allowing users in the UX to choose an approval amount. The bridge and crucible dApps have not yet been updated to accommodate this change.
Solution and Current Workaround
If you currently have FRM and have chosen the Mint and Stake option, then follow the instructions in the section titled Crucible Mint and Stake Approval Fix otherwise, follow the instructions in the Crucible Stake Approval Fix
Crucible Mint and Stake Approval Fix
You will need to revoke and reinstate the cFRM approval. Here are the steps:
Go to the following link:
For FRM BSC:
https://bscscan.com/token/0xA719b8aB7EA7AF0DDb4358719a34631bb79d15Dc#writeContract
For FRM Arbitrum:https://arbiscan.io/token/0x9f6abbf0ba6b5bfa27f4deb6597cc6ec20573fda#writeProxyContract
Click on Connect to Web 3 from the wallet you are using to transact on the gateway for crucible (FRM/cFRM)
Expand the 1st function, which is named
approve
Enter the following information:
For FRM BSC Mint and Stake/Mint:
Spender Field Value:0x476F21e9c9787A76cdD7f25dd6Db4039c0ad3176
Value Field:0
For FRM Arbitrum Mint and Stake/Mint:
Spender Field Value:0xd2ad2e820df8b5f55074b73fb1fb821d8ecadefb
Value Field:0
Click on the Write button and process the transaction from MetaMask.
Now, go to the crucible or the bridge, and it will ask for Approval.
When the Approval popup opens the MetaMask window, click
use default
Select Aggressive gas in MetaMask, then execute the transaction.
Now, you can stake or bridge. 🎉
If you still face issues with this, please raise a ticket using the chat icon on this page.
Crucible Stake Approval Fix
You will need to revoke and reinstate the cFRM approval. Here are the steps:
Go to the following link:
For cFRM BSC: https://bscscan.com/token/0xaf329a957653675613d0d98f49fc93326aeb36fc#writeContract
For cFRM Arbitrum:
https://arbiscan.io/address/0xe685d3cc0be48bd59082ede30c3b64cbfc0326e2#writeContract
Click on Connect to Web 3 from the wallet you are using to transact on the gateway for crucible (cFRM)
Expand the 1st function, which is named
approve
Enter the following information:
For cFRM BSC Stake/Unstake/Mint/Unwrap:
Spender Field Value:0x476F21e9c9787A76cdD7f25dd6Db4039c0ad3176
Value Field:0
For cFRM Arbitrum Stake/Unstake/Mint/Unwrap:
Spender Field Value:0xd2ad2e820df8b5f55074b73fb1fb821d8ecadefb
Value Field:0
Click on the Write button and process the transaction from MetaMask.
Now, go to the crucible or the bridge, and it will ask for Approval.
When the Approval popup opens the MetaMask window, click
use default
Select Aggressive gas in MetaMask, then execute the transaction.
Now, you can stake or bridge. 🎉
If you still face issues with this, please raise a ticket using the chat icon on this page.