| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // contracts/State.sol
- // SPDX-License-Identifier: Apache 2
- pragma solidity ^0.8.0;
- import "./BridgeStructs.sol";
- contract BridgeStorage {
- struct Provider {
- uint16 chainId;
- uint16 governanceChainId;
- bytes32 governanceContract;
- address WETH;
- }
- struct Asset {
- uint16 chainId;
- bytes32 assetAddress;
- }
- struct State {
- address payable wormhole;
- address tokenImplementation;
- Provider provider;
- // Mapping of consumed governance actions
- mapping(bytes32 => bool) consumedGovernanceActions;
- // Mapping of consumed token transfers
- mapping(bytes32 => bool) completedTransfers;
- // Mapping of initialized implementations
- mapping(address => bool) initializedImplementations;
- // Mapping of wrapped assets (chainID => nativeAddress => wrappedAddress)
- mapping(uint16 => mapping(bytes32 => address)) wrappedAssets;
- // Mapping to safely identify wrapped assets
- mapping(address => bool) isWrappedAsset;
- // Mapping of native assets to amount outstanding on other chains
- mapping(address => uint256) outstandingBridged;
- // Mapping of bridge contracts on other chains
- mapping(uint16 => bytes32) bridgeImplementations;
- }
- }
- contract BridgeState {
- BridgeStorage.State _state;
- }
|