42 lines
1.1 KiB
Solidity
42 lines
1.1 KiB
Solidity
// contracts/State.sol
|
|
// SPDX-License-Identifier: Apache 2
|
|
|
|
pragma solidity ^0.8.0;
|
|
|
|
import "./ReceiverStructs.sol";
|
|
|
|
contract ReceiverEvents {
|
|
event LogGuardianSetChanged(
|
|
uint32 oldGuardianIndex,
|
|
uint32 newGuardianIndex
|
|
);
|
|
|
|
event LogMessagePublished(
|
|
address emitter_address,
|
|
uint32 nonce,
|
|
bytes payload
|
|
);
|
|
}
|
|
|
|
contract ReceiverStorage {
|
|
struct WormholeState {
|
|
ReceiverStructs.Provider provider;
|
|
// contract deployer
|
|
address owner;
|
|
// Mapping of guardian_set_index => guardian set
|
|
mapping(uint32 => ReceiverStructs.GuardianSet) guardianSets;
|
|
// Current active guardian set index
|
|
uint32 guardianSetIndex;
|
|
// Period for which a guardian set stays active after it has been replaced
|
|
uint32 guardianSetExpiry;
|
|
// Mapping of consumed governance actions
|
|
mapping(bytes32 => bool) consumedGovernanceActions;
|
|
// Mapping of initialized implementations
|
|
mapping(address => bool) initializedImplementations;
|
|
}
|
|
}
|
|
|
|
contract ReceiverState {
|
|
ReceiverStorage.WormholeState _state;
|
|
}
|