The `onlyBridge` modifier uses strings as error messages which are
expensive in gas.
This commit refactors this to use a custom error type instead and also
introduces some basic tests to ensure the errors are emitted properly.
It also adds some sanity tests for minting and burning bridge tokens.
The code couldn't compile because it was using a version of
`Ownable2Step` that introduced breaking changes.
This commit sets the used version to the latest stable release of OZ,
which is 4.9.3. Hence the usages of `Ownable2Step` needed to change as
well.
Prettier is complaining about it on CI but it doesn't tell what it
complains about. It lints perfectly fine locally.
For now, ignoring `contracts.json` so we get past the linting stage.
The `SNTPlaceholder` uses `MiniMeToken` type in a function even though
only `MiniMeBase` is actually imported.
This commit fixes the function signature so that the code can actually
compile.