PayloadHelper
Introduction
PayloadHelper
facilitates the decoding of various types of payload data Superform sends between chains. This helper is not called in Superform core contracts, and doesn't serve a purpose in the protocol, but it enriches data hosted in Subgraphs and verifies off-chain processing by Keepers. Third party integrators can use PayloadHelper to extract and understanding payload information.
Core Concepts
There are 3 kinds of payloads associated with Superform at the moment:
CoreStateRegistryPayload
: payloads that originated from the chain's CoreStateRegistryStateSyncerPayload
: payloads associated with the transaction history on any SuperformRouter implementation
CoreStateRegistryPayloads
decodeCoreStateRegistryPayload
This function decodes payloads that arrived to the source chain's CoreStateRegistry.
function decodeCoreStateRegistryPayload(
uint256 dstPayloadId_
) external view returns (
uint8 txType,
uint8 callbackType,
address srcSender,
uint64 srcChainId,
uint256[] memory amounts,
uint256[] memory slippages,
uint256[] memory superformIds,
bytes memory hasDstSwaps,
bytes memory extraFormData,
address receiverAddress,
uint256 srcPayloadId);
decodeCoreStateRegistryPayloadLiqData
This function decodes the associated Liquidity Request associated with any given payload that arrived to the chain's CoreStateRegistry.
function decodeCoreStateRegistryPayloadLiqData(
uint256 dstPayloadId_
) external view returns (
uint8[] memory bridgeIds,
bytes[] memory txDatas,
address[] memory tokens,
address[] memory interimTokens,
uint64[] memory liqDstChainIds,
uint256[] memory amountsIn,
uint256[] memory nativeAmounts);
StateSyncerPayloads
decodePayloadHistory
Decodes basic transaction information for transactions that left SuperformRouter.
function decodePayloadHistory(
uint256 srcPayloadId_,
) external view returns (
uint8 txType,
uint8 callbackType,
uint8 isMulti,
address srcSender,
uint64 srcChainId);
TimeLockPayloads
decodeTimeLockPayload
This function decodes payloads where the timelock was successfully sent from source to destination.
function decodeTimeLockPayload(
uint256 timelockPayloadId_
) external view returns (
address srcSender,
uint64 srcChainId,
uint256 srcPayloadId,
uint256 superformId,
uint256 amount);
decodeTimeLockFailedPayload
This function decodes payloads where the timelock failed and was messaged back to the source chain.
function decodeTimeLockFailedPayload(
uint256 timelockPayloadId_
) external view returns (
address srcSender,
uint64 srcChainId,
uint256 srcPayloadId,
uint256 superformId,
uint256 amount);
Last updated
Was this helpful?