Reactor Fee Manager
Application contracts use the Fee Manager only for read-only pricing and configuration. Obtain its address from IReactorGateway.feeManager().
interface IReactorFeeManager {
function actionFeeDiscounts(string calldata action, address token) external view returns (uint256);
function actionFees(string calldata destination, string calldata action, address token) external view returns (uint256);
function callerFeeDiscounts(address caller, address token) external view returns (uint256);
function callerFees(string calldata destination, address caller, address token) external view returns (uint256);
function destinationFeeDiscounts(string calldata destination, address token) external view returns (uint256);
function feeDiscounts(address token) external view returns (uint256);
function feesPerByte(string calldata destination, address token) external view returns (uint256);
function getSendFee(string calldata destination, string calldata action, address caller, address token, uint256 payloadSize) external view returns (uint256);
function maxPayloadSize() external view returns (uint256);
function paymentTokens(address token) external view returns (bool);
function sendFees(string calldata destination, address token) external view returns (uint256);
}For normal sends, call getSendFee(destination, action, address(this), paymentToken, payload.length). It combines the configured base, per-byte, caller, and action fees, applies discounts, verifies the payment token, and enforces the maximum payload size.
The developer SDK omits every setter, payment-token mutation, withdrawal, and role-management function.
Last updated on