Contract 0xD9B9dC9fE2DEfc87f8d198b25cC8A068Ca45f330

Contract Overview

Balance:
0 Ether
Txn Hash
Method
Block
From
To
Value
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4Send Nfts106691492022-05-13 13:41:04140 days 9 hrs ago0x67588292e0755160f439af7b00c60f5217cbd3eb IN  0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f3300 Ether0.00085425 1.12851494
0xa68b57edb1459d1ce48c8ede31d99870cec45cdccf636ba94bd88c7ef058179cSend Nfts106690342022-05-13 13:12:14140 days 9 hrs ago0xbac0cc03dc049630c25504426263573d373316b2 IN  0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f3300 Ether0.0007439 1.12816285
0x63cde1e64ebdc1dc4b4d434db00f21fd7a3ef5eaa4b92e8c546630f919a84aa4Send Nfts106690272022-05-13 13:10:29140 days 9 hrs ago0xbac0cc03dc049630c25504426263573d373316b2 IN  0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f3300 Ether0.00020154 1.12816286
0x656106b1d0f1ac8a60521756e45467662d801d8532ef6360d6152a8a494a4ceeSend Nfts106570162022-05-11 10:11:23142 days 12 hrs ago0xfcdf05159a3585f78c8e328f25c74472e7d627ae IN  0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f3300 Ether0.0011923 6.01370725
0x58b35ad01aa973a0646d9d0b39ee0ec64fce717dfe7961dc893b5013ef7de6e2Send Nfts106570022022-05-11 10:07:53142 days 12 hrs ago0xfcdf05159a3585f78c8e328f25c74472e7d627ae IN  0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f3300 Ether0.0017527 5.98844125
0x93215dde9810a9978acb10bb3d12def7492b12c0bd97325fd4c72e7d6f15a62aSend Nfts106569862022-05-11 10:03:53142 days 12 hrs ago0xfcdf05159a3585f78c8e328f25c74472e7d627ae IN  0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f3300 Ether0.00122254 6.16762603
0xf23fdaa0ff009e6ec34d385f376347790414f55a9af10b7bb0b5b20a713103bfSend Nfts106569672022-05-11 9:59:07142 days 12 hrs ago0xfcdf05159a3585f78c8e328f25c74472e7d627ae IN  0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f3300 Ether0.00123429 6.22551985
0x51854404455bbb51e74b28fb4ca40eb4f089143c01edb78497376d78533464490x60806040106459772022-05-09 11:41:15144 days 11 hrs ago0xe71d14a3fa97292bde885c1d134be4698e09b3b7 IN  Create: MultiSend0 Ether0.00296247 8.90390626
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xafffe5d6dfcb738aa5278dfe9f0383cf1a1d59110348cd1ba4bad2c95b192ff4106691492022-05-13 13:41:04140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xa68b57edb1459d1ce48c8ede31d99870cec45cdccf636ba94bd88c7ef058179c106690342022-05-13 13:12:14140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xa68b57edb1459d1ce48c8ede31d99870cec45cdccf636ba94bd88c7ef058179c106690342022-05-13 13:12:14140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xa68b57edb1459d1ce48c8ede31d99870cec45cdccf636ba94bd88c7ef058179c106690342022-05-13 13:12:14140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xa68b57edb1459d1ce48c8ede31d99870cec45cdccf636ba94bd88c7ef058179c106690342022-05-13 13:12:14140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
0xa68b57edb1459d1ce48c8ede31d99870cec45cdccf636ba94bd88c7ef058179c106690342022-05-13 13:12:14140 days 9 hrs ago 0xd9b9dc9fe2defc87f8d198b25cc8a068ca45f330 0x7115abcca5f0702e177f172c1c14b3f686d6a63a0 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MultiSend

Compiler Version
v0.6.7+commit.b8d736ae

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 3 : MultiSend.sol
pragma solidity 0.6.7;

import "./../../openzeppelin/contracts/token/ERC721/IERC721.sol";

/// @title Multi send is a part of Seascape marketplace platform.
/// It allows users to send a batch of nfts to desired address
/// @author Nejc Schneider
contract MultiSend {
    function sendNfts(
        uint amount,
        address receiver,
        address[] calldata nftAddresses,
        uint[] calldata nftIds
    )
        external
        returns(uint)
    {
        require(amount > 1, "minimum 2 nfts are required");
        require(amount < 11, "maximum 10 nfts are allowed");  /// set max amount here
        for(uint i = 0; i < amount; ++i){
            require(IERC721(nftAddresses[i]).ownerOf(nftIds[i]) == msg.sender,
              "sender not owner of nft");
        }
        for(uint i = 0; i < amount; ++i){
            IERC721(nftAddresses[i]).safeTransferFrom(msg.sender, receiver, nftIds[i]);
        }
        return amount;
    }
}

File 2 of 3 : IERC721.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.2;

import "../../introspection/IERC165.sol";

/**
 * @dev Required interface of an ERC721 compliant contract.
 */
interface IERC721 is IERC165 {
    /**
     * @dev Emitted when `tokenId` token is transfered from `from` to `to`.
     */
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);

    /**
     * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.
     */
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);

    /**
     * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.
     */
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    /**
     * @dev Returns the number of tokens in ``owner``'s account.
     */
    function balanceOf(address owner) external view returns (uint256 balance);

    /**
     * @dev Returns the owner of the `tokenId` token.
     *
     * Requirements:
     *
     * - `tokenId` must exist.
     */
    function ownerOf(uint256 tokenId) external view returns (address owner);

    /**
     * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients
     * are aware of the ERC721 protocol to prevent tokens from being forever locked.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `tokenId` token must exist and be owned by `from`.
     * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.
     * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
     *
     * Emits a {Transfer} event.
     */
    function safeTransferFrom(address from, address to, uint256 tokenId) external;

    /**
     * @dev Transfers `tokenId` token from `from` to `to`.
     *
     * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `tokenId` token must be owned by `from`.
     * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address from, address to, uint256 tokenId) external;

    /**
     * @dev Gives permission to `to` to transfer `tokenId` token to another account.
     * The approval is cleared when the token is transferred.
     *
     * Only a single account can be approved at a time, so approving the zero address clears previous approvals.
     *
     * Requirements:
     *
     * - The caller must own the token or be an approved operator.
     * - `tokenId` must exist.
     *
     * Emits an {Approval} event.
     */
    function approve(address to, uint256 tokenId) external;

    /**
     * @dev Returns the account approved for `tokenId` token.
     *
     * Requirements:
     *
     * - `tokenId` must exist.
     */
    function getApproved(uint256 tokenId) external view returns (address operator);

    /**
     * @dev Approve or remove `operator` as an operator for the caller.
     * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.
     *
     * Requirements:
     *
     * - The `operator` cannot be the caller.
     *
     * Emits an {ApprovalForAll} event.
     */
    function setApprovalForAll(address operator, bool _approved) external;

    /**
     * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.
     *
     * See {setApprovalForAll}
     */
    function isApprovedForAll(address owner, address operator) external view returns (bool);

    /**
      * @dev Safely transfers `tokenId` token from `from` to `to`.
      *
      * Requirements:
      *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
      * - `tokenId` token must exist and be owned by `from`.
      * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
      * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
      *
      * Emits a {Transfer} event.
      */
    function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;
}

File 3 of 3 : IERC165.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

/**
 * @dev Interface of the ERC165 standard, as defined in the
 * https://eips.ethereum.org/EIPS/eip-165[EIP].
 *
 * Implementers can declare support of contract interfaces, which can then be
 * queried by others ({ERC165Checker}).
 *
 * For an implementation, see {ERC165}.
 */
interface IERC165 {
    /**
     * @dev Returns true if this contract implements the interface defined by
     * `interfaceId`. See the corresponding
     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
     * to learn more about how these ids are created.
     *
     * This function call must use less than 30 000 gas.
     */
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "evmVersion": "istanbul",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address[]","name":"nftAddresses","type":"address[]"},{"internalType":"uint256[]","name":"nftIds","type":"uint256[]"}],"name":"sendNfts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50610514806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e295012a14610030575b600080fd5b6101266004803603608081101561004657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561008d57600080fd5b82018360208201111561009f57600080fd5b803590602001918460208302840111640100000000831117156100c157600080fd5b9091929391929390803590602001906401000000008111156100e257600080fd5b8201836020820111156100f457600080fd5b8035906020019184602083028401116401000000008311171561011657600080fd5b909192939192939050505061013c565b6040518082815260200191505060405180910390f35b6000600187116101b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f6d696e696d756d2032206e66747320617265207265717569726564000000000081525060200191505060405180910390fd5b600b871061022a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f6d6178696d756d203130206e6674732061726520616c6c6f776564000000000081525060200191505060405180910390fd5b60008090505b878110156103a9573373ffffffffffffffffffffffffffffffffffffffff1686868381811061025b57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e86868581811061029f57fe5b905060200201356040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102da57600080fd5b505afa1580156102ee573d6000803e3d6000fd5b505050506040513d602081101561030457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461039e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f73656e646572206e6f74206f776e6572206f66206e667400000000000000000081525060200191505060405180910390fd5b806001019050610230565b5060008090505b878110156104d0578585828181106103c457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e338987878681811061040a57fe5b905060200201356040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156104ad57600080fd5b505af11580156104c1573d6000803e3d6000fd5b505050508060010190506103b0565b50869050969550505050505056fea2646970667358221220a4c4727d1c9a13415e99d49dc93d81b0b45ac67fd1003fa5f3eb800387069e8e64736f6c63430006070033

Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.