wormhole/ethereum/contracts/relayer/deliveryProvider/DeliveryProviderImplementat...

29 lines
678 B
Solidity

// contracts/Implementation.sol
// SPDX-License-Identifier: Apache 2
pragma solidity ^0.8.19;
import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol";
import "./DeliveryProvider.sol";
contract DeliveryProviderImplementation is DeliveryProvider {
error ImplementationAlreadyInitialized();
function initialize() public virtual initializer {
// this function needs to be exposed for an upgrade to pass
}
modifier initializer() {
address impl = ERC1967Upgrade._getImplementation();
if (isInitialized(impl)) {
revert ImplementationAlreadyInitialized();
}
setInitialized(impl);
_;
}
}