According to the architecture documentation, Fuel tokens should have a maximum of 9 decimals. This means that a bridged token with 6 decimals should retain those 6 decimals on Fuel, while an 18-decimal token should be adjusted to 9 decimals on Fuel.
To implement this adjustment effectively, what is the best way to create the token? Is it sufficient to limit the token contract to a maximum of 9 decimals? Additionally, to avoid precision loss, should the bridge infrastructure revert transactions if the provided amount cannot be represented within 9 decimals? If a revert occurs on the contract side, would the original sender still be required to pay gas and send/burn the amount from their wallet?