Skip to Content
Dive DeeperIReactorHelper

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.

Last updated on