TransactionForwarder_v1

Git Source

Inherits: ITransactionForwarder_v1, ERC2771ForwarderUpgradeable, ContextUpgradeable

Author: Inverter Network

This contract enables users to interact with smart contracts indirectly through a trusted forwarder. It supports meta transactions, allowing transactions to be sent by one party but signed and paid for by another. It also handles batch transactions (multi-call), facilitating complex, multi-step interactions within a single transaction.

Integrates {ERC2771ForwarderUpgradeable} and {ContextUpgradeable} to manage and relay meta transactions. It handles nonce management, signature verification, and ensures only trusted calls are forwarded.

State Variables

__gap

Storage gap for future upgrades.

uint[50] private __gap;

Functions

constructor

constructor();

init

function init() external initializer;

createDigest

Creates a digest for the given ForwardRequestData.

The signature field of the given ForwardRequestData can be empty.

Parameters

Name
Type
Description

req

ForwardRequestData

The ForwardRequest you want to get the digest from.

Returns

Name
Type
Description

digest

bytes32

The digest needed to create a signature for the request.

executeMulticall

Enables the execution of multiple calls in a single transaction.

Parameters

Name
Type
Description

calls

SingleCall[]

Array of call structs that should be executed in the multicall.

Returns

Name
Type
Description

results

Result[]

returnData The return data of the calls that were executed.

_getStructHash

Returns the digest for the given ForwardRequestData.

Parameters

Name
Type
Description

req

ERC2771ForwarderUpgradeable.ForwardRequestData

The ForwardRequest you want to get the digest from.

Returns

Name
Type
Description

<none>

bytes32

digest The digest needed to create a signature for the request.

__isTrustedByTarget

Last updated