- Simplify getGasParams function by including additional L1 fee in gasLimit
- Make calculateRefund functions non-async by providing gas price (its ok, because refund needs to be calculated only on user side, where gas price is known)
- Allow passing to calculateWithdrawalFeeViaRelayer function predefined gas price and gas limit to not refetch/recalculate those values
- Pass arguments as objects to functions with many optional parameters
- Fix BSC gas price estimation: use 'instant' price for gas instead of 'fast', because 'fast' is about 1 GWEI, and 'instant' about 3 GWEI, and 'fast' transaction can take more than 2-3 hours to execute
- Remove unnecessary parameter type in all functions that used to get gas price(-s)
- Change functions naming to more intuitive: 'getGasPrice' returns gas price in hexed number, 'getGasPriceParams' now returns legacy or EIP-1559 gas parameters
- The library has become more versatile for working with third-party libraries (without BigNumber from 'ethers' library in return values, only hexed string-numbers)
- Simplify functions for refund calculations, no need to provide transaction type, because we need to calculate refund only on user side
- Add interface for TokenPriceOracle and change typings