Multisend

Description:

Smart contract deployed on Ethereum with Factory features.

Blockchain: Ethereum

Source Code: View Code On The Blockchain

Solidity Source Code:

{{
  "language": "Vyper",
  "sources": {
    "contracts/dao/Multisend.vy": {
      "content": "# @version 0.4.3
"""
@title Multisend
@author Yield Basis
@license GNU Affero General Public License v3.0
@notice Sends tokens if they were not sent yet, single-use only
"""
from ethereum.ercs import IERC20


TOKEN: public(immutable(IERC20))
already_sent: public(HashMap[address, bool])
ADMIN: public(immutable(address))


@deploy
def __init__(token: IERC20):
    TOKEN = token
    ADMIN = msg.sender


@external
def send(users: DynArray[address, 500], amounts: DynArray[uint256, 500]):
    assert msg.sender == ADMIN  # otherwise someone could set the already_sent!

    i: uint256 = 0
    for user: address in users:
        if not self.already_sent[user]:
            amount: uint256 = amounts[i]
            extcall TOKEN.transferFrom(msg.sender, user, amount)
            self.already_sent[user] = True
        i += 1
",
      "sha256sum": "f0adcb007426d2fd3f57642b325375b844da8ee8fafc9459dd36affb7279ead1"
    }
  },
  "settings": {
    "outputSelection": {
      "contracts/dao/Multisend.vy": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    },
    "search_paths": [
      "."
    ]
  },
  "compiler_version": "v0.4.3+commit.bff19ea2",
  "integrity": "00685d0203ea7edb01bf85b27468608d3f9ce5c1a79de28cf2798eef6433960b"
}}

Tags:
Factory|addr:0x0926a73bb2d169a86c2da9c7e03ac63a5cf42883|verified:true|block:23582897|tx:0x61143892de5d097430abc9941c016a87c664d046ae06cdb4ec1490bca4e096a2|first_check:1760529229

Submitted on: 2025-10-15 13:53:53

Comments

Log in to comment.

No comments yet.