ZetaChainGatewayAdapterStorage
ERC-7201 namespaced storage for the ZetaChain gateway adapter.
Note:
- storage-location: erc7201:lattice.storage.ZetaChainGatewayAdapter
struct ZetaChainGatewayAdapterStorage {
/// @notice The ZetaChain `GatewayEVM` (a DEPLOYED contract, address varies per connected chain). APPEND-ONLY.
address _gateway;
/// @notice The default `onRevertGasLimit` used to build per-message `RevertOptions`. APPEND-ONLY.
uint256 _defaultOnRevertGasLimit;
/// @notice Forward map: hub chainId => trusted remote ZEVM universal app (0 = unset). APPEND-ONLY.
mapping(uint256 chainId => address remoteApp) _remoteApps;
/// @notice Reverse map: trusted remote ZEVM universal app => hub chainId (0 = unset). APPEND-ONLY.
/// `onCall` yields `context.sender = the app` (NOT a chainId); this recovers the source chainId for
/// auth + the delivery-id namespace.
mapping(address remoteApp => uint256 chainId) _appToChainId;
/// @notice Replay guard: per source chainId, the set of consumed delivery ids. APPEND-ONLY.
mapping(uint256 chainId => mapping(bytes32 id => bool used)) _executed;
/// @notice Monotonic outbound counter. The ZetaChain gateway exposes no per-message id to the delivery hook,
/// so each dispatched message carries this source-minted nonce, giving a globally-unique (source,
/// nonce) id on delivery (matching the unique-id semantics of the CCIP/LayerZero/OP siblings).
uint256 _outboundNonce;
}Properties
| Name | Type | Description |
|---|---|---|
| _gateway | address | |
| _defaultOnRevertGasLimit | uint256 | |
| _remoteApps | mapping(uint256 chainId => address remoteApp) | |
| _appToChainId | mapping(address remoteApp => uint256 chainId) | |
| _executed | mapping(uint256 chainId => mapping(bytes32 id => bool used)) | |
| _outboundNonce | uint256 |