Overview

  • name: IBatchDistributor
  • path: IBatchDistributor.sol
  • context: erc20
  • tags: utility, batch, distribution, erc20
  • title: IBatchDistributor
  • notice: Allows gas-efficient distribution of ETH and ERC-20 tokens to multiple recipients in one transaction
  • dev: Interface for the native and ERC-20 token batch distribution contract

Addresses

Function signatures

distributeEther(tuple)
distributeToken(address,tuple)

ABI

[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "emitter",
        "type": "address"
      }
    ],
    "name": "EtherTransferFail",
    "type": "error"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "components": [
              {
                "internalType": "address payable",
                "name": "recipient",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
              }
            ],
            "internalType": "struct IBatchDistributor.Transaction[]",
            "name": "txns",
            "type": "tuple[]"
          }
        ],
        "internalType": "struct IBatchDistributor.Batch",
        "name": "batch",
        "type": "tuple"
      }
    ],
    "name": "distributeEther",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "contract IERC20",
        "name": "token",
        "type": "address"
      },
      {
        "components": [
          {
            "components": [
              {
                "internalType": "address payable",
                "name": "recipient",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
              }
            ],
            "internalType": "struct IBatchDistributor.Transaction[]",
            "name": "txns",
            "type": "tuple[]"
          }
        ],
        "internalType": "struct IBatchDistributor.Batch",
        "name": "batch",
        "type": "tuple"
      }
    ],
    "name": "distributeToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]