IReactorHelper
Interface
Overview
IReactorHelper
is a utility interface for encoding and decoding structured and unstructured web request and payload data. It supports transformations between raw bytes, string arrays, and structured data like HTTP requests and parameters.
Interface
struct ReactorParameter {
string name;
string value;
}
struct ReactorWebRequest {
string method;
string url;
string body;
ReactorParameter[] headers;
}
interface IReactorHelper {
function decodePayloadAndStringParameters(bytes memory _payload) external pure returns (bytes memory, string[] memory, string[] memory);
function decodePayloadAndReactorParameters(bytes memory _payload) external pure returns (bytes memory, ReactorParameter[] memory);
function decodeWebRequestAndStringParameters(bytes memory _payload) external pure returns (string memory, string memory, string memory, string[] memory, string[] memory);
function decodeWebRequestAndReactorParameters(bytes memory _payload) external pure returns (string memory, string memory, string memory, ReactorParameter[] memory);
function decodeWebRequestData(bytes memory _payload) external pure returns (string memory,string memory, string memory);
function decodeWebResponseData(bytes memory _payload) external pure returns (uint256, string memory, string[] memory, string[] memory);
function encodePayloadAndStringParameters(bytes memory _payload, string[] memory _parameterNames, string[] memory _parameterValues) external pure returns(bytes memory);
function encodePayloadAndReactorParameters(bytes memory _payload, ReactorParameter[] memory _parameters) external pure returns(bytes memory);
function encodeWebRequestAndStringParameters(string calldata _method, string calldata _url, string calldata _body, string[] memory _headerNames, string[] memory _headerValues, string[] memory _parameterNames, string[] memory _parameterValues) external pure returns(bytes memory);
function encodeWebRequestAndReactorParameters(string calldata _method, string calldata _url, string calldata _body, ReactorParameter[] memory _headers, ReactorParameter[] memory _parameters) external pure returns(bytes memory);
function encodeWebRequestFromReactorWebRequest(ReactorWebRequest calldata _request, ReactorParameter[] calldata _parameters) external pure returns(bytes memory);
function encodeWebRequestData(string calldata _method, string calldata _url, string calldata _body) external pure returns(bytes memory);
}
Data Structures
ReactorParameter
struct ReactorParameter {
string name;
string value;
}
Represents a key-value parameter used in headers or general request parameters.
ReactorWebRequest
struct ReactorWebRequest {
string method;
string url;
string body;
ReactorParameter[] headers;
}
Represents a full web request with method, URL, body, and headers.
Function Details
Decoding Functions
decodePayloadAndStringParameters
function decodePayloadAndStringParameters(bytes memory _payload)
external pure
returns (bytes memory, string[] memory, string[] memory);
Decodes a payload that contains:
- Raw byte data
- String-based parameter names and values
decodePayloadAndReactorParameters
function decodePayloadAndReactorParameters(bytes memory _payload)
external pure
returns (bytes memory, ReactorParameter[] memory);
Decodes a payload and returns:
- Raw byte data
- Parameters as
ReactorParameter[]
(structured format)
decodeWebRequestAndStringParameters
function decodeWebRequestAndStringParameters(bytes memory _payload)
external pure
returns (
string memory method,
string memory url,
string memory body,
string[] memory headerNames,
string[] memory headerValues
);
Parses a full web request and headers, returning:
- Method, URL, and body
- Headers as parallel string arrays
decodeWebRequestAndReactorParameters
function decodeWebRequestAndReactorParameters(bytes memory _payload)
external pure
returns (
string memory method,
string memory url,
string memory body,
ReactorParameter[] memory headers
);
Parses a web request and returns:
- Method, URL, and body
- Headers as
ReactorParameter[]
decodeWebRequestData
function decodeWebRequestData(bytes memory _payload)
external pure
returns (
string memory method,
string memory url,
string memory body
);
Decodes only the method, URL, and body from a web request.
decodeWebResponseData
function decodeWebResponseData(bytes memory _payload)
external pure
returns (
uint256 statusCode,
string memory body,
string[] memory headerNames,
string[] memory headerValues
);
Decodes a web response payload and returns:
- HTTP status code
- Response body
- Response headers as parallel arrays
Encoding Functions
encodePayloadAndStringParameters
function encodePayloadAndStringParameters(
bytes memory _payload,
string[] memory _parameterNames,
string[] memory _parameterValues
) external pure returns (bytes memory);
Encodes raw payload along with:
- Parameter names and values as separate arrays
encodePayloadAndReactorParameters
function encodePayloadAndReactorParameters(
bytes memory _payload,
ReactorParameter[] memory _parameters
) external pure returns (bytes memory);
Encodes a payload with:
- Parameters in
ReactorParameter[]
format
encodeWebRequestAndStringParameters
function encodeWebRequestAndStringParameters(
string calldata _method,
string calldata _url,
string calldata _body,
string[] memory _headerNames,
string[] memory _headerValues,
string[] memory _parameterNames,
string[] memory _parameterValues
) external pure returns (bytes memory);
Encodes a full web request and parameters using:
- String representations for headers and parameters
encodeWebRequestAndReactorParameters
function encodeWebRequestAndReactorParameters(
string calldata _method,
string calldata _url,
string calldata _body,
ReactorParameter[] memory _headers,
ReactorParameter[] memory _parameters
) external pure returns (bytes memory);
Encodes a complete web request with:
- Headers and parameters in structured format
encodeWebRequestFromReactorWebRequest
function encodeWebRequestFromReactorWebRequest(
ReactorWebRequest calldata _request,
ReactorParameter[] calldata _parameters
) external pure returns (bytes memory);
Encodes a ReactorWebRequest
struct along with:
- A parameter list
encodeWebRequestData
function encodeWebRequestData(
string calldata _method,
string calldata _url,
string calldata _body
) external pure returns (bytes memory);
Encodes basic web request data without headers or parameters.
Usage Scenarios
- Encode requests for off-chain or cross-chain processing.
- Decode ABI-encoded transaction input for audit or transformation.
- Bridge on-chain and off-chain communication layers using standard HTTP-like data.