30 lines
707 B
Solidity
30 lines
707 B
Solidity
// contracts/Implementation.sol
|
|
// SPDX-License-Identifier: Apache 2
|
|
|
|
pragma solidity ^0.8.0;
|
|
pragma experimental ABIEncoderV2;
|
|
|
|
import "./ReceiverGovernance.sol";
|
|
|
|
import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol";
|
|
|
|
contract ReceiverImplementation is ReceiverGovernance {
|
|
modifier initializer() {
|
|
address implementation = ERC1967Upgrade._getImplementation();
|
|
|
|
require(!isInitialized(implementation), "already initialized");
|
|
|
|
setInitialized(implementation);
|
|
|
|
_;
|
|
}
|
|
|
|
fallback() external payable {
|
|
revert("unsupported");
|
|
}
|
|
|
|
receive() external payable {
|
|
revert("the Wormhole Receiver contract does not accept assets");
|
|
}
|
|
}
|