Integration Guide

For Wallet Developers

// Example: Batch transaction contract
contract BatchExecutor {
    function batchExecute(
        address[] calldata targets,
        bytes[] calldata data,
        uint256[] calldata values
    ) external {
        require(targets.length == data.length, "Length mismatch");

        for (uint i = 0; i < targets.length; i++) {
            (bool success, ) = targets[i].call{value: values[i]}(data[i]);
            require(success, "Batch execution failed");
        }
    }
}

For DApp Developers

// Creating an EIP-7702 transaction on Luntra Infrastructure
const authorizationList = [{
    chainId: 3470144, // Luntra Infrastructure Chain ID
    address: BATCH_EXECUTOR_ADDRESS,
    nonce: await signer.getTransactionCount(),
    // ... signature fields
}];

const tx = {
    type: 0x04,
    to: userAddress,
    data: batchExecuteCalldata,
    authorizationList,
    // ... other fields
};

Last updated