receivers.sol 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.4;
  3. import "../../access/Ownable.sol";
  4. import "../../crosschain/amb/CrossChainEnabledAMB.sol";
  5. import "../../crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol";
  6. import "../../crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol";
  7. import "../../crosschain/optimism/CrossChainEnabledOptimism.sol";
  8. import "../../crosschain/polygon/CrossChainEnabledPolygonChild.sol";
  9. abstract contract Receiver is Ownable, CrossChainEnabled {
  10. function crossChainRestricted() external onlyCrossChain {}
  11. function crossChainOwnerRestricted() external onlyCrossChainSender(owner()) {}
  12. }
  13. /**
  14. * AMB
  15. */
  16. contract CrossChainEnabledAMBMock is Receiver, CrossChainEnabledAMB {
  17. constructor(address bridge) CrossChainEnabledAMB(bridge) {}
  18. }
  19. /**
  20. * Arbitrum
  21. */
  22. contract CrossChainEnabledArbitrumL1Mock is Receiver, CrossChainEnabledArbitrumL1 {
  23. constructor(address bridge) CrossChainEnabledArbitrumL1(bridge) {}
  24. }
  25. contract CrossChainEnabledArbitrumL2Mock is Receiver, CrossChainEnabledArbitrumL2 {}
  26. /**
  27. * Optimism
  28. */
  29. contract CrossChainEnabledOptimismMock is Receiver, CrossChainEnabledOptimism {
  30. constructor(address bridge) CrossChainEnabledOptimism(bridge) {}
  31. }
  32. /**
  33. * Polygon
  34. */
  35. contract CrossChainEnabledPolygonChildMock is Receiver, CrossChainEnabledPolygonChild {
  36. constructor(address bridge) CrossChainEnabledPolygonChild(bridge) {}
  37. }