Files
openzeppelin-contracts/contracts/mocks/token/ERC20BridgeableMock.sol
Hadrien Croubois 5c79432e40 ERC20Bridgable (ERC-7802) (#5735)
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-06-11 18:19:56 -06:00

27 lines
670 B
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import {ERC20, ERC20Bridgeable} from "../../token/ERC20/extensions/draft-ERC20Bridgeable.sol";
abstract contract ERC20BridgeableMock is ERC20Bridgeable {
address private _bridge;
error OnlyTokenBridge();
event OnlyTokenBridgeFnCalled(address caller);
constructor(address bridge) {
_bridge = bridge;
}
function onlyTokenBridgeFn() external onlyTokenBridge {
emit OnlyTokenBridgeFnCalled(msg.sender);
}
function _checkTokenBridge(address sender) internal view override {
if (sender != _bridge) {
revert OnlyTokenBridge();
}
}
}