wormhole/ethereum/contracts/relayer/deliveryProvider/DeliveryProviderGetters.sol

70 lines
2.0 KiB
Solidity

// contracts/Getters.sol
// SPDX-License-Identifier: Apache 2
pragma solidity ^0.8.19;
import "../../interfaces/IWormhole.sol";
import "../../interfaces/relayer/TypedUnits.sol";
import "./DeliveryProviderState.sol";
contract DeliveryProviderGetters is DeliveryProviderState {
function owner() public view returns (address) {
return _state.owner;
}
function pendingOwner() public view returns (address) {
return _state.pendingOwner;
}
function pricingWallet() public view returns (address) {
return _state.pricingWallet;
}
function isInitialized(address impl) public view returns (bool) {
return _state.initializedImplementations[impl];
}
function chainId() public view returns (uint16) {
return _state.chainId;
}
function coreRelayer() public view returns (address) {
return _state.coreRelayer;
}
function gasPrice(uint16 targetChain) public view returns (GasPrice) {
return _state.data[targetChain].gasPrice;
}
function nativeCurrencyPrice(uint16 targetChain) public view returns (WeiPrice) {
return _state.data[targetChain].nativeCurrencyPrice;
}
function deliverGasOverhead(uint16 targetChain) public view returns (Gas) {
return _state.deliverGasOverhead[targetChain];
}
function maximumBudget(uint16 targetChain) public view returns (TargetNative) {
return _state.maximumBudget[targetChain];
}
function targetChainAddress(uint16 targetChain) public view returns (bytes32) {
return _state.targetChainAddresses[targetChain];
}
function rewardAddress() public view returns (address payable) {
return _state.rewardAddress;
}
function assetConversionBuffer(uint16 targetChain)
public
view
returns (uint16 buffer, uint16 bufferDenominator)
{
DeliveryProviderStorage.AssetConversion storage assetConversion =
_state.assetConversion[targetChain];
return (assetConversion.buffer, assetConversion.denominator);
}
}