Contract 0x1E89D829716E0c0d6B47f78dB01e1dBF546cE4c4

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x34b0f808931102bff393d557ae8a3745287d1afea96551e5be9616bd58c0b118Send Nfts21190312022-06-30 12:54:068 mins ago0x00598e920a932955a31577e1268923b214a75800 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.000200334
0x9b026d29b02cef9a8b7a45e1b2a152419e029a9a2db5f9bc8a4812794c829927Send Nfts21187982022-06-30 11:58:061 hr 4 mins ago0x411abf8016b5eb42a9c38ef755cbe385bf33c761 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.00128724
0x53d2818ac3f59b5e61f358d838607bf2161ea82dc33071d8cebbbdad143b3493Send Nfts21187832022-06-30 11:54:421 hr 7 mins ago0x39618e1547c93501a47ac2642ee8094dece9a0ca IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.00128724
0xcada65cdf671f7713c3bf9e182e008c4ba34cb46c2addff83581f099df9099c4Send Nfts21187712022-06-30 11:52:061 hr 10 mins ago0xb00d6473e19a02f9b9b3f68dde62a5bd363ecac0 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.00128649
0x39ba92877aafc2df9c299c59c4bca6e7809744681ddfd5f3b91706e8c1617081Send Nfts21187622022-06-30 11:50:181 hr 12 mins ago0x7e2623bafc48d4f8f8be49cf0feb102240e59e82 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.00128644
0x358dcb9b6e144fcd580d2a5bffc5148eb42787e5adc176312bb30f3b215588f0Send Nfts21187492022-06-30 11:47:421 hr 14 mins ago0xbc94494223a171a01f2ece46f36a5b9bb28a4ecc IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.00128684
0x552154c53d4a6f22d0e130c61df33683a537a1787d566efedb42d0b56efc5cfbSend Nfts21187372022-06-30 11:44:481 hr 17 mins ago0xb6abbd98b9905ec24b29c203c6f8d6ea3f7e7559 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.00128689
0xba8f54c7c0198c3afd0a02de0c9d809474f25b09adf4ec7dba14018ad0827893Send Nfts21187272022-06-30 11:41:541 hr 20 mins ago0xb2179812734628ea0acef8669d2cd93bd01d789d IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.001286985
0x4d8fc2ec339325c53ca7c24c9be58309322c477041c6c3a07a4083d74f59d23eSend Nfts21186922022-06-30 11:32:421 hr 29 mins ago0xaca3fb055fe92a11b17524319070b30ec73c8a77 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.001286985
0x21c2f65291021e47233df8eec3ae3aadb8e695680af631094dc257721075fe0cSend Nfts21186782022-06-30 11:28:481 hr 33 mins ago0xd999f214b6b229917a1c0fdd273ef2fd686ed5e3 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.00128729
0xbb5f764531c7a795fc683f9e3801609ba1b19944027e92880423a18f16b1bfe0Send Nfts21186592022-06-30 11:23:241 hr 39 mins ago0xa15690223a646366588384ef68b6de3ae506857b IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.001287385
0x0ea77175baf5fee4d55984a7d568e7d71f724cd881f08cc28d554fcc00492e26Send Nfts21186422022-06-30 11:19:301 hr 43 mins ago0xa615e441c9d0193b901b6a792070e59340e253cb IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.001287385
0x910f8c589097a6d118672993418191f95e880dc1ab3669fc9191fe68de00b355Send Nfts21186252022-06-30 11:15:061 hr 47 mins ago0x143311369c489e76eb7cf130bd47257282165c43 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.001001525
0x4c574fdb410d46d5a1d22a99115488b5d6862ea944851a6313a739146bdb295cSend Nfts21186152022-06-30 11:13:061 hr 49 mins ago0x38a7b1fb75fdd058a5e260892aa1d02fa259f8b8 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.001286585
0x45dc7dfba87e4f9970191f038487a959e613b25d8b38fcd50212898e6c50b4deSend Nfts21186072022-06-30 11:10:181 hr 52 mins ago0x2bf7816c788f822a13a608f1ac88b8d5e106cefd IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.001286985
0x64a6f1c96d8083d75b872c04be37616da665eae674652c381eff30af39bf087aSend Nfts21186072022-06-30 11:10:181 hr 52 mins ago0xdd7e758206324f9cf278c64113c31fa5bb141843 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.001684015
0xc7aca09dd875a3ecc793da5f6a5070fd515f2107a187f668939194ffae3dd4f4Send Nfts21186002022-06-30 11:08:181 hr 54 mins ago0xcbae4464eb5efc6a5dc5d09bf884ebafd226ec5f IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.001001525
0x26dd99da639f25e2b648d1f8b7b27cd3e614249e968e4b7cb756cc8a5f543c4dSend Nfts21185982022-06-30 11:07:541 hr 54 mins ago0x36cca637e2a17a257600faae5c6f9e1ed20f576a IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.001001525
0x400f7d5a6b79a52eba5668436e78dda95f74f20fb9cfda115ca344d1a1761caaSend Nfts21185972022-06-30 11:07:421 hr 54 mins ago0x1aa406f29ccab342736fc2a44ac0b2773e80c52c IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.00128734
0xa1fb7d31025717ab368a5d8feab842a559e941904937e0b929ee992233ae0a2aSend Nfts21185902022-06-30 11:05:301 hr 57 mins ago0xdd7e758206324f9cf278c64113c31fa5bb141843 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.00162171
0x05d6565985a861b4df81aea6530f10af72a33d5a5587582652b12e40fe2f3718Send Nfts21185792022-06-30 11:03:061 hr 59 mins ago0x9a3d42b8e445417b11dfa417de7a71c091d40a53 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.001000725
0x4d42f796ccbd7de074abf4ca39efe08c5365e2c15a17569977db1c1041a32eb0Send Nfts21185762022-06-30 11:02:302 hrs ago0x2249b431b751ae0ac5fe9bd20e7e42d2558def0a IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.00100087
0xe8e7568c642d94a6f3ab26cf1ba0c2c5c7370930039311fec3d4e261a5b37644Send Nfts21185752022-06-30 11:02:182 hrs ago0xdd7e758206324f9cf278c64113c31fa5bb141843 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.0007496
0x59aaad797bf244f8fc6b189ac543272bd4f81f6f69fca22580996b5e1443ad64Send Nfts21185512022-06-30 10:56:062 hrs 6 mins ago0x7b9d80b1b95b57a7edc6ff2e653efa24d4399233 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.001000725
0xff681bb96243dc35fc00a0168169f35ec3899a8caf7463335696bfd5cc383638Send Nfts21185202022-06-30 10:48:242 hrs 14 mins ago0x8689f46fe4f292de92e64872e6aab4d696010fb3 IN  0x1e89d829716e0c0d6b47f78db01e1dbf546ce4c40 MOVR0.001001525
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MultiSend

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 3 : MultiSend.sol
pragma solidity 0.8.13;

import "./../../openzeppelin/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
        require(receiver != msg.sender, "receiver cant be same as sender");
        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 : IERC165.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)

pragma solidity ^0.8.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);
}

File 3 of 3 : IERC721.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721.sol)

pragma solidity ^0.8.0;

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

/**
 * @dev Required interface of an ERC721 compliant contract.
 */
interface IERC721 is IERC165 {
    /**
     * @dev Emitted when `tokenId` token is transferred 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`.
     *
     * 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;

    /**
     * @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 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 the account approved for `tokenId` token.
     *
     * Requirements:
     *
     * - `tokenId` must exist.
     */
    function getApproved(uint256 tokenId) external view returns (address operator);

    /**
     * @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);
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "evmVersion": "london",
  "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"}]

608060405234801561001057600080fd5b506108ef806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e295012a14610030575b600080fd5b61004a600480360381019061004591906104cc565b610060565b6040516100579190610582565b60405180910390f35b6000600187116100a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009c906105fa565b60405180910390fd5b600b87106100e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100df90610666565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014d906106d2565b60405180910390fd5b60005b87811015610299573373ffffffffffffffffffffffffffffffffffffffff1686868381811061018b5761018a6106f2565b5b90506020020160208101906101a09190610721565b73ffffffffffffffffffffffffffffffffffffffff16636352211e8686858181106101ce576101cd6106f2565b5b905060200201356040518263ffffffff1660e01b81526004016101f19190610582565b602060405180830381865afa15801561020e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102329190610763565b73ffffffffffffffffffffffffffffffffffffffff1614610288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f906107dc565b60405180910390fd5b806102929061082b565b9050610159565b5060005b87811015610365578585828181106102b8576102b76106f2565b5b90506020020160208101906102cd9190610721565b73ffffffffffffffffffffffffffffffffffffffff166342842e0e33898787868181106102fd576102fc6106f2565b5b905060200201356040518463ffffffff1660e01b815260040161032293929190610882565b600060405180830381600087803b15801561033c57600080fd5b505af1158015610350573d6000803e3d6000fd5b505050508061035e9061082b565b905061029d565b508690509695505050505050565b600080fd5b600080fd5b6000819050919050565b6103908161037d565b811461039b57600080fd5b50565b6000813590506103ad81610387565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103de826103b3565b9050919050565b6103ee816103d3565b81146103f957600080fd5b50565b60008135905061040b816103e5565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261043657610435610411565b5b8235905067ffffffffffffffff81111561045357610452610416565b5b60208301915083602082028301111561046f5761046e61041b565b5b9250929050565b60008083601f84011261048c5761048b610411565b5b8235905067ffffffffffffffff8111156104a9576104a8610416565b5b6020830191508360208202830111156104c5576104c461041b565b5b9250929050565b600080600080600080608087890312156104e9576104e8610373565b5b60006104f789828a0161039e565b965050602061050889828a016103fc565b955050604087013567ffffffffffffffff81111561052957610528610378565b5b61053589828a01610420565b9450945050606087013567ffffffffffffffff81111561055857610557610378565b5b61056489828a01610476565b92509250509295509295509295565b61057c8161037d565b82525050565b60006020820190506105976000830184610573565b92915050565b600082825260208201905092915050565b7f6d696e696d756d2032206e667473206172652072657175697265640000000000600082015250565b60006105e4601b8361059d565b91506105ef826105ae565b602082019050919050565b60006020820190508181036000830152610613816105d7565b9050919050565b7f6d6178696d756d203130206e6674732061726520616c6c6f7765640000000000600082015250565b6000610650601b8361059d565b915061065b8261061a565b602082019050919050565b6000602082019050818103600083015261067f81610643565b9050919050565b7f72656365697665722063616e742062652073616d652061732073656e64657200600082015250565b60006106bc601f8361059d565b91506106c782610686565b602082019050919050565b600060208201905081810360008301526106eb816106af565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561073757610736610373565b5b6000610745848285016103fc565b91505092915050565b60008151905061075d816103e5565b92915050565b60006020828403121561077957610778610373565b5b60006107878482850161074e565b91505092915050565b7f73656e646572206e6f74206f776e6572206f66206e6674000000000000000000600082015250565b60006107c660178361059d565b91506107d182610790565b602082019050919050565b600060208201905081810360008301526107f5816107b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108368261037d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610868576108676107fc565b5b600182019050919050565b61087c816103d3565b82525050565b60006060820190506108976000830186610873565b6108a46020830185610873565b6108b16040830184610573565b94935050505056fea2646970667358221220e6a2f325fdc01cdca8e325efb311a61882bfdaa17f2634c159a8cf70a02da88064736f6c634300080d0033

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.