ERC20BridgeableMock.sol 663 B

1234567891011121314151617181920212223242526
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.20;
  3. import {ERC20Bridgeable} from "../../token/ERC20/extensions/draft-ERC20Bridgeable.sol";
  4. abstract contract ERC20BridgeableMock is ERC20Bridgeable {
  5. address private _bridge;
  6. error OnlyTokenBridge();
  7. event OnlyTokenBridgeFnCalled(address caller);
  8. constructor(address bridge) {
  9. _bridge = bridge;
  10. }
  11. function onlyTokenBridgeFn() external onlyTokenBridge {
  12. emit OnlyTokenBridgeFnCalled(msg.sender);
  13. }
  14. function _checkTokenBridge(address sender) internal view override {
  15. if (sender != _bridge) {
  16. revert OnlyTokenBridge();
  17. }
  18. }
  19. }