metapro
  • 🤝Welcome!
  • 💻metapro market
    • Set your account
    • Connect wallet + web3 login
    • Side panel
      • Transfer NFT
        • Multiple transfer (Airdrop NFT)
          • Import CSV List
      • Sell NFT
        • Initial NFT Selling (INS)
          • How to setup INS auction
          • How to buy on INS auction
        • Buy Now
          • How to setup Buy Now auction
          • How to buy on Buy Now auction
        • Auction (Bidding)
          • How to setup Auction
          • How to buy on Auction
      • All NFT assets
    • Buy Crypto
    • Top Menu
      • Profile
        • Profile Marketplace
        • My games
        • My assets
          • Royalty
        • Activities
      • Referral Panel
        • Register your downline
        • Downline wallets
        • My referral link
      • Profile Settings
      • Developer Portal
      • Logout
    • Assets
      • Marketplace
        • Auction Card
      • Most favorite
      • Newest assets
        • Asset Card
    • Games
      • Show all games
    • Leaderboard
    • Create asset (minter)
      • Gaming asset specification
      • How to create (mint) asset
        • 1. Setup NFT token
        • 2. Setup metadata
        • 3. Add meta asset
        • 4. Mint meta asset
        • 5. Meta asset created
    • Developers Portal
      • Create team
      • Create game
      • Developers Portal Panel
      • Unity Plugin
      • How to list game on metapro market?
    • Creators
    • Teams
    • Users
    • Wallet App
    • Launcher
    • Market and auction component fees
  • 🚀METAPRO LAUNCHER
    • What is metapro launcher?
    • Download launcher
    • Set your account
      • Login to launcher
    • Home
    • Games
      • Game card on launcher
        • Assets in this game
      • Install game on launcher
      • Update game on launcher
    • My games
      • Installed
      • Not installed
      • Wishlist
    • My assets
      • Collected assets
      • Created assets
      • Wishlist
    • NODEs app
  • 📱metapro one
    • About non-custodial wallet
    • Download & set up
      • Create new metapro wallet
      • Import existing wallet
    • Settings
      • Avatar
      • Multiple wallets
      • Wallet name
      • Private Key
        • Protect Private Key
        • How to find my Private Key
      • Recovery Phrases
        • Protect Recovery Phrases
        • How to find my Recovery Phrases
      • Application version
    • Network switch
    • Deposit (Tokens and Collectibles)
    • Send (Tokens and Collectibles)
      • Send Tokens
      • Send Collectibles (NFT)
    • Buy (Buy and Sell Crypto)
    • Browser
    • My assets
      • Tokens
        • Asset view
        • Adding Tokens
        • Activities
      • Collectibles (NFT)
      • Game assets (NFTma)
    • Explore
      • Apps
      • Collections (NFT)
      • Game assets (NFTma)
    • How to claim Airdrop
    • How to import wallet from MetaMask to metapro
    • Supported devices
  • ⛓️metapro protocol
    • API
      • Users service
      • Teams service
      • Apps service
      • Nft service
      • Nft events service
    • Meta asset
    • Metadata structure
    • Protocole structure
    • Unity Plugin
      • About metapro Unity plugin
      • What's new
      • Guides
        • Installation
        • Requirements
        • Package samples
        • Quick start
          • 1. Editor
            • Access tool
            • Import game key
            • Download resources
            • App data object
            • Change game key
            • Use app data in script
          • 2. Play mode (PC)
            • Enable Web3 in your game
            • Choose provider
            • Connect wallet
            • Login with Web3
            • Display user data
            • Show app tokens
            • Use user and app data from script
          • 3. Play mode (Mobile)
            • Enable Web3 in Your game
            • Choose provider
            • Connect wallet
            • Login with Web3
        • AFP (Additional Features Packages)
          • 1. Safe token transfer
          • 2. Phoenix
        • Troubleshooting
      • Reference
        • MetaproAPPSetup
        • Editor Window
        • Plugin Manager
        • Web3 connection providers
          • metapro
          • Wallet Connect
          • MetaMask
        • WindowController
        • AFP (Additional Features Packages)
          • SafeTransferFrom
          • Phoenix
  • 🛠️WALLET CONNECTOR
    • Introduction
    • Basic informations
      • Next 13 integration
      • React integration
      • Manual installation
  • 👨‍💻Developer Documentation
    • Introduction to Developer Documentation
      • What is a Meta asset?
      • What are the Benefits of Using Tokens as Access Keys for the Game Application
      • Why should I Choose the Meta Assets as the Access Keys for the Game Application?
      • How Does It Work, Exactly?
    • Available Environments
    • Blockchain Communication and information retrieval
      • How can we verify/distinguish a user?
      • How can we track a user's transactions?
      • What information can we obtain?
    • Integration with the Leaderboard service
    • Integration for in-Wallet Apps
    • Integration for Telegram Mini Apps
      • Integration Architecture and Configuration
      • Authorization and Session Management
      • Example Integration and Features
      • Code Examples from the Repository
      • Summary and Appendices
    • Developer documentation for the Construct 3 Plugin
      • Construct 3 - Install plugin
      • Plugin Configuration
      • User onboarding and authorization
      • User Management
      • Score System
      • Leaderboard System
      • Referral System
      • Gameplay
      • Smart Contract Interactions
      • User NFTs
      • Error Handling
      • Additional Getters for Plugin Properties
    • Integration Web3 with Your Game
      • What is Web3
      • Blockchain Basics
      • Differences between chains
      • What is a NFT
      • Advantages of Web3 Gaming
      • Examples of Web3 Games
    • Onboarding the Web3 Player
      • Value for Players
      • Explanation of Cryptocurrency Wallet
      • Rewards for Tournament Participation
      • Reselling Owned Assets
      • Integration of Metapro Wallet Connector
      • Displaying Data for Unlogged Users
      • How to Get Authorization Data
      • User Authorization Benefits
    • Creating Your First Meta Asset
      • The Difference between NFT and Meta Asset
      • Security and Transparency
      • Concept and Value of Meta Assets
      • How and Where to Create Your Meta Asset
        • Step-by-Step Guide on How to Create Your Asset
        • Explanation of URI (Metadata structure)
        • Explanation of the Meta Asset Data taken from our Back End
    • Implementing Meta Assets into Your Game
      • Integrate your Meta Asset to your game using Unity
      • Verify User Tokens Ownership
      • Displaying All User-Owned Tokens
      • Displaying All Assets Assigned to the Game on the Metapro Market
    • Smart Contracts
      • MetaproINS
        • Read Contract
        • Write Contract
      • MetaproBuyNow
        • Read Contract
        • Write Contract
      • MetaproAuction
        • Read Contract
        • Write Contract
      • MetaproMetaAsset
        • Read Contract
        • Write Contract
      • MetaproRoyalty
        • Read Contract
        • Write Contract
      • MetaproReferral
        • Read Contract
        • Write Contract
      • MetaproAirdrop
        • Read Contract
        • Write Contract
    • Universal Links & App Links with WalletConnect
  • 🔎General information
    • Blockchain
    • Blockchain Network Fee
    • Blockchain Native Token
    • Token ERC-1155 vs ERC-721
  • 📄Release Notes
    • Introduction to the Release Notes
    • Marketplace Updates
      • Release 07.03.2024
      • Release 06.03.2024
      • Release 04.03.2024
      • Release 19.02.2024
      • Release 24.01.2024
      • Release 09.01.2024
      • Release 03.01.2024
      • Release 21.12.2023
      • Release 18.12.2023
      • Release 13.12.2023
      • Release 12.12.2023
      • Release 02.12.2023
      • Release 30.11.2023
      • Release 24.11.2023
      • Release 22.11.2023
      • Release 17.11.2023
      • Release 13.11.2023
      • Release 09.11.2023
      • Release 08.11.2023
      • Release 07.11.2023
      • Release 31.10.2023
      • Release 26.10.2023
      • Release 25.10.2023
      • Release 24.10.2023
      • Release 18.10.2023
      • Release 05.10.2023
      • Release 03.10.2023
      • Release 29.09.2023
      • Release 18.09.2023
      • Release 14.09.2023
      • Release 12.09.2023
      • Release 06.09.2023
      • Release 25.08.2023
      • Release 17.08.2023
      • Release 04.08.2023
      • Release 31.07.2023
      • Release 21.07.2023
      • Release 18.07.2023
      • Release 13.07.2023
    • Games Launcher Updates
      • Release 13.03.2024
      • Release 24.01.2024
      • Release 04.01.2024
      • Release 22.11.2023
      • Release 03.10.2023
      • Release 31.07.2023
      • Release 27.07.2023
      • Release 20.07.2023
      • Release 13.07.2023
    • Wallet Updates
      • Release 04.03.2024
      • Release 03.10.2023
      • Release 29.09.2023
      • Release 15.09.2023
      • Release 30.08.2023
      • Release 18.07.2023
Powered by GitBook
On this page
  • Link to the Smart Contract:
  • addAddress
  • addAddresses
  • claim
  • createAirdrop
  • onERC1155BatchReveived
  • onERC1155Received
  • removeAddress
  • renounceOwnership
  • setTokenAddress
  • transferOwnership
  • withdrawUnclaimedTokens
  1. Developer Documentation
  2. Smart Contracts
  3. MetaproAirdrop

Write Contract

PreviousRead ContractNextUniversal Links & App Links with WalletConnect

Last updated 1 year ago

Link to the Smart Contract:

addAddress

The addAddress method enables the contract owner to add a specific wallet address to the list of participants for a designated token airdrop. This functionality is exclusively accessible to the contract owner.

Data

Description

Restrictions

_tokenId (uint256)

This parameter represents the ID of the token for which the specified address is being added to the airdrop.

  • must be a number

_address (address)

This parameter is the wallet address that is intended to be added to the airdrop participant list.

  • must be an address

addAddresses

The addAddresses method provides the contract owner with the capability to add multiple wallet addresses simultaneously to the list of participants for a specified token airdrop. This feature streamlines the process of adding multiple addresses to a single airdrop.

Data

Description

Restrictions

_tokenId (uint256)

This parameter represents the ID of the token for which the provided addresses are being added to the airdrop.

  • must be a number

_addresses (address[])

This parameter is an array of wallet addresses that are intended to be added to the participant list of the airdrop.

  • must be an address

claim

The claim method facilitates the process of retrieving tokens from the contract. In order to successfully claim tokens, a user must meet two criteria: being whitelisted by the contract owner and providing the ID of the desired token.

Data

Description

Restrictions

_tokenId (uint256)

This parameter represents the ID of the token that the user wishes to claim from the contract.

  • must be a number

_data (bytes)

Additional data, if needed.

  • By default, it is set to 0x00

createAirdrop

The createAirdrop method serves the purpose of allowing the contract owner to initiate the creation of an airdrop. Only the contract owner has the authority to create airdrops. The method requires five key parameters to define the characteristics of the airdrop:

Data

Description

Restrictions

_tokenId (uint256)

This parameter represents the ID of the token that is intended to be distributed in the airdrop.

  • must be a number

  • must be an owner of the token

_startBlock (uint256)

This parameter indicates the block number at which the airdrop is scheduled to begin.

  • must be a number

  • block must be lower than endBlock

_endBlock (uint256)

This parameter signifies the block number at which the airdrop is planned to conclude.

  • must be number

  • block must be higher than startBlock

_amount (uint256)

This parameter specifies the quantity of tokens that will be sent to the contract for distribution in the airdrop.

  • must be a number

  • cannot be higher than owned

_data (bytes)

Additional data, if needed.

  • By default, it is set to 0x00

onERC1155BatchReveived

The onERC1155BatchReceived is a standard function within the ERC-1155 interface in the Solidity environment, similar to onERC1155Received. However, it is used to handle the batch (multiple) receipt of tokens by a contract. When an address receives a batch of tokens (either NFTs or MFTs) on its contract, if that contract includes the onERC1155BatchReceived method, it is automatically invoked. This allows the contract to respond to the receipt of multiple tokens in a single transaction and execute appropriate actions.

Data

Description

Restrictions

address (operator)

The address performing the token batch transfer operation.

  • must be an address

address (from)

The address from which the tokens were sent.

  • must be an address

uint256[] (tokenID)

An array of token identifiers.

  • must be a number

uint256[] (value)

An array of amounts of received tokens corresponding to the respective IDs.

  • must be a number

bytes

Additional data passed along with the transfer operation.

  • By default, it is set to 0x00

The onERC1155Received function returns a special four-byte code (bytes4), which serves as a confirmation that the contract successfully received the tokens. In summary, onERC1155BatchReceived allows a contract to react to the receipt of a batch of ERC-1155 tokens and execute specific actions in response to this batch event.

onERC1155Received

The onERC1155Received function is a standard function within the ERC-1155 interface in the Solidity environment, concerning non-fungible tokens (NFTs) or multi-fungible tokens (MFTs). This function is designed to handle the receipt of tokens by a contract. When an address receives tokens (either NFTs or MFTs) on its contract, if that contract includes the onERC1155Received function, it is automatically invoked. This allows the contract to respond to the receipt of new tokens and execute appropriate actions.

Data

Description

Restrictions

address (operator)

The address performing the token transfer operation.

  • must be an address

address (from)

The address from which the tokens were sent.

  • must be an address

uint256 (tokenID)

The token identifier.

  • must be a number

uint256 (value)

The ammount of received tokens.

  • must be number

bytes

Additional data passed along with the transfer operation.

  • By default, it is set to 0x00

The onERC1155Received function returns a special four-byte code (bytes4), which serves as a confirmation that the contract successfully received the tokens. In summary, onERC1155Received enables a contract to react to the receipt of ERC-1155 tokens and trigger specific actions in response to this event.

removeAddress

The removeAddress method grants the contract owner the capability to remove a specific user's address from an ongoing airdrop. This functionality is restricted to the contract owner.

Data

Description

Restrictions

_tokenId (uint256)

This parameter represents the ID of the token for which the specified user's address is being removed from the airdrop.

  • must be a number

_address (address)

This parameter is the wallet address of the user who is intended to be removed from the airdrop participant list.

  • must be an address

  • must be added to whitelist

renounceOwnership

This method allows the contract's owner to renounce their ownership. This method is accessible only to the contract's owner.

This function enables the current owner to renounce ownership of the contract. Once this method is called, the owner will lose their privileges to manage the contract, and any methods that require owner permissions will no longer be accessible.

setTokenAddress

The setTokenAddress method provides the contract owner with the ability to change the address of the token contract. This function is particularly useful when you intend to conduct an airdrop using tokens from a different contract. The method can only be accessed by the contract owner.

Data

Description

Restrictions

_newAddress (address)

This parameter represents the new address of the token contract that you wish to associate with the airdrop.

  • must be an address

transferOwnership

The method is available only to the current owner of the contract and allows changing the ownership of the contract

Data

Description

Restrictions

newOwner (address)

The address of the new contract owner.

  • must be a wallet address

withdrawUnclaimedTokens

The withdrawUnclaimedTokens method serves the purpose of enabling the contract owner to collect all the unclaimed tokens from the contract after the conclusion of an airdrop. This feature allows the owner to retrieve any remaining tokens that were not claimed by participants during the airdrop period.

Data

Description

Restrictions

_tokenId (uint256)

This parameter represents the ID of the token for which the contract owner intends to retrieve unclaimed tokens.

  • must be a number

_data (bytes)

Additional data, if needed.

  • By default, it is set to 0x00

👨‍💻
https://bscscan.com/address/0xdb4454083c67ce739d67b22bd2a0960972b08608#writeContractbscscan.com