NES.TECH Documentation
  • 👋Welcome to NES.TECH
  • Overview
    • 💡What we do
  • SDKs Guide
    • 📪Kickstart with our SDKs
    • ⛓️Blockchain SDKs
      • 📌Solana SDK
        • ⛏️generateAccount
        • ⛏️getAccountFromSecretKey
        • ⛏️getBalance
        • ⛏️sendSOL
        • ⛏️mintNFT
        • ⛏️estimateTransferToken
        • ⛏️estimateMint
        • ⛏️estimateSOLTransfer
        • ⛏️estimateMintToken
        • ⛏️createToken
        • ⛏️transferToken
      • 📌EVM Chains SDK
        • ⛏️BulkNFT
          • 🔗deployContract
          • 🔗bulkMint
        • ⛏️NFT
          • 🔗deployContract
          • 🔗mint
          • 🔗convertToVLRY
          • 🔗VLRYToUSD
          • 🔗VLRYToCRYPTO
          • 🔗transferOwnership
          • 🔗transfer
          • 🔗estimateFee
            • 📌ERC20
              • ⛏️deploy
              • ⛏️mint
              • ⛏️transfer
            • 📌ERC721
              • ⛏️deploy
              • ⛏️mint
              • ⛏️transfer
            • 📌ERC1155
              • ⛏️deploy
              • ⛏️mint
              • ⛏️transfer
            • 📌Soulbound
              • ⛏️deploy
              • ⛏️mint
        • ⛏️Contracts
          • 🔗ERC20
            • 📌deployContract
            • 📌transfer
            • 📌mint
          • 🔗ERC721
            • 📌deployContract
            • 📌transfer
            • 📌mint
            • 📌approve
          • 🔗ERC1155
            • 📌deployContract
            • 📌transfer
            • 📌mint
            • 📌balanceOf
          • 🔗Soulbound
            • 📌deployContract
        • ⛏️Wallet
          • 🔗getBalance
          • 🔗sendEther
          • 🔗depositEther
          • 🔗checkIfAddress
        • ⛏️NFTMarketPlace
          • 🔗listNFT
          • 🔗buyNFT
          • 🔗getNFT
          • 🔗placeBid
          • 🔗transferNFT
        • ⛏️BlockchainInfo
          • 🔗availableBlockchains
          • 🔗availableContracts
      • 📌Tokenomics SDK
        • ⛏️createStake
        • ⛏️removeStake
        • ⛏️approveVolary
        • ⛏️transferVolary
        • ⛏️getBalance
        • ⛏️claimRewards
        • ⛏️addRewards
        • ⛏️swapVlry
        • ⛏️getSwapAmountVolary
      • 📌Storage SDK
        • ⛏️uploadToIPFS
        • ⛏️fetchMetadata
      • 📌Casper SDK
        • ⛏️generateWallet
        • ⛏️fetchWalletFromPrivateKey
        • ⛏️fetchAccountHash
        • ⛏️getBalance
        • ⛏️transferTokens
        • ⛏️deployNFTContract
        • ⛏️mintNFT
        • ⛏️mintFreeNFT
        • ⛏️checkNFT
        • ⛏️approveSale
        • ⛏️transferNFT
        • ⛏️getNftOwner
        • ⛏️bid
        • ⛏️startBidding
        • ⛏️closeBidding
        • ⛏️cancelAuction
        • ⛏️getUserData
        • ⛏️getNftInfo
        • ⛏️getContractDetails
        • ⛏️getWalletDetails
        • ⛏️checkPublicKey
        • ⛏️getAllAuctionNft
        • ⛏️transferWithRoyalty
        • ⛏️getPaymentAmounts
        • ⛏️transferPlaceBidAmount
      • 📌XY-Finance SDK
        • ⛏️getRecommendedTokens
        • ⛏️getQuote
        • ⛏️approveSwap
        • ⛏️executeSwap
      • 📌Wallet SDK
        • ⛏️createWallet
        • ⛏️getKeys
          • 🔗btc
          • 🔗evm
          • 🔗sol
          • 🔗near
        • ⛏️transfer
          • 🔗evm
          • 🔗sol
          • 🔗btc
          • 🔗near
        • ⛏️estimateFee
          • 🔗evm
          • 🔗sol
        • ⛏️txStatus
          • 🔗evm
          • 🔗sol
          • 🔗near
        • ⛏️getBalanceByMnemonic
          • 🔗evm
          • 🔗sol
          • 🔗btc
          • 🔗near
        • ⛏️chainBalances
          • 🔗evm
          • 🔗sol
        • ⛏️testChainBalances
        • ⛏️getTotalBalanceInUSDByAddresArray
          • 🔗evm
          • 🔗sol
        • ⛏️isAddress
          • 🔗evm
          • 🔗sol
        • ⛏️isPrivateKey
          • 🔗evm
          • 🔗sol
        • ⛏️isMnemonic
          • 🔗evm
      • 📌Explorer SDK
        • ⛏️getLatestTxsOfAddress
        • ⛏️getLatestTxs
        • ⛏️getTransferFromAddress
    • 🤖AI Guide
      • 📌Overview
      • 📌Face Recognition
        • ⛏️faceRecoRegisterUser
        • ⛏️faceRecoCompareFaceWithId
        • ⛏️faceRecoCompareFaceWithFace
      • 📌Check Toxicity
        • ⛏️checkToxicityImage
        • ⛏️checToxicityTest
      • 📌Caption and Tag Generator
        • ⛏️generateCaptionAndTagsFromImage
      • 📌Stable Diffusion
        • ⛏️stableDiffusionGenerateImage
      • 📌Image Similarity
        • ⛏️imageSimilarityTrain
        • ⛏️imageSimilarityTest
  • Template Library
    • 🛠️Get Started
    • 🕵️Technical Overview
    • 👷Smart Contracts
      • 📌ERC721
      • 📌ERC721A
      • 📌ERC1155
      • 📌Soulbound
      • 📌ERC6551
        • 📌Account
        • 📌Registry
      • 📌Fractional
      • 📌BiDirectionalPaymentChannel
      • 📌Swap
      • 📌ERC2981
      • 📌Flashloans
      • 📌Vault
      • 📌ERC884
      • 📌Play To Earn Contract
      • 📌Escrow
      • 📌UpgradableNFTContract
    • ⚖️Templates Library
      • 🥇Music Tracks/Album
      • 🥇Loyalty Point System
      • 🥇Real Estate Ownership
      • 🥇Artwork Authentication
      • 🥇Crowdfunding Platform
      • 🥇Social Tokens
      • 🥇Food and Recipe
      • 🥇Scientific Research
      • 🥇Educational Certification
      • 🥇Trading Cards
      • 🥇Digital Fashion
      • 🥇Bulk Digital Fashion
      • 🥇Governance Token
      • 🥇Content Licenses
      • 🥇Membership Cards
      • 🥇Bulk Membership Cards
      • 🥇Artifacts
      • 🥇Debt Instruments
      • 🥇Bulk Debt Instruments
      • 🥇Profit Sharing
      • 🥇Digital Souvenirs
      • 🥇Fractional Ownership of Intellectual Property
      • 🥇Digital Autographs and Signature
      • 🥇Bulk Digital Autographs and Signature
      • 🥇Film and Media Rights
      • 🥇Bulk Film and Media Rights
      • 🥇Sports Achievements
      • 🥇Bulk Sports Achievements
      • 🥇Digital Comics and Graphic Novels
      • 🥇Bulk Digital Comics and Graphic Novels
      • 🥇Proposals and Voting
      • 🥇Music Royalties
      • 🥇Gaming Royalties
      • 🥇Art Token Aggregation
      • 🥇Medical Token Aggregation
      • 🥇Charity Token Aggregation
      • 🥇Travel Token Aggregation
      • 🥇Time-Limited Access Tokens
      • 🥇Virtual Art Exhibition
  • KRYPTOKASE
    • 🛠️KryptoKase: Overview
    • 🕵️Technical Overview
    • 👷Functionalities
      • 📌Create Token
      • 📌Mint Token
      • 📌Transfer Tokens
      • 📌Airdrop Token
      • 📌Schedule Vesting
      • 📌Token Analytics
  • AERIE
    • 🏆Introduction
      • 📌Overview
      • 📌Use Cases
    • 📖User Guide
      • 📌Dashboard
      • 📌Managing Assets
        • 🔗Creating Assets
      • 📌Wallet Management
        • 🔗Overview
      • 📌Client Management
        • 🔗Adding Client
        • 🔗Managing Members
      • 📌Invoice Management
        • 🔗Managing Tickets
    • 📌Features
      • 🔗AI Image Generation
      • 🔗Portfolio Management
      • 🔗CDN Analytics
  • ROMULUS
    • Contracts
      • Dynamic NFT
      • Rental NFT
      • ERC 998
      • Fractional NFT
  • Layer 1
    • 🗡️DAG-EVM Hybrid Layer 1
    • ⛓️Setting up an RPC/RO Node
    • 👾Node Functions
      • 📍ftm.call()
      • 📍ftm.chainId()
      • 📍ftm.contract()
      • 📍ftm.currentEpoch()
      • 📍ftm.estimateGas()
      • 📍ftm.feeHistory()
      • 📍ftm.fillTransaction()
      • 📍ftm.filter()
      • 📍ftm.getAccounts()
      • 📍ftm.getBalance()
      • 📍ftm.getBlock()
      • 📍ftm.getBlockByHash()
      • 📍ftm.getBlockByNumber()
      • 📍ftm.getBlockNumber()
      • 📍ftm.getBlockTransactionCount()
      • 📍ftm.getBlockUncleCount()
      • 📍ftm.getCode()
      • 📍ftm.getCoinbase()
      • 📍ftm.getCompilers()
      • 📍ftm.getEvent()
      • 📍ftm.getGasPrice()
      • 📍ftm.getHashrate()
      • 📍ftm.getHeaderByHash()
      • 📍ftm.getHeaderByNumber()
      • 📍ftm.getHeads()
      • 📍ftm.getMaxPriorityFeePerGas()
      • 📍ftm.getPendingTransactions()
      • 📍ftm.getProof()
      • 📍ftm.getProtocolVersion()
      • 📍ftm.getStorageAt()
      • 📍ftm.getTransaction()
      • 📍ftm.getTransactionCount()
      • 📍ftm.getTransactionReceipt()
      • 📍ftm.icapNamereg()
      • 📍ftm.isSyncing()
      • 📍ftm.namereg()
      • 📍ftm.sendRawTransaction()
      • 📍ftm.signTransaction()
    • 🎫Admin Node Functions
      • 📍admin.addPeer()
      • 📍admin.addTrustedPeer()
      • 📍admin.exportChain()
      • 📍admin.getNodeInfo()
      • 📍admin.getPeers()
      • 📍admin.importChain()
      • 📍admin.removePeer()
      • 📍admin.removeTrustedPeer()
      • 📍admin.startHTTP()
      • 📍admin.startWS()
      • 📍admin.stopHTTP()
      • 📍admin.stopWS()
    • 📄Oracle Contracts
      • 📌Traffic Feed Contract
      • 📌Air Quality Feed Contract
      • 📌Football Player Feed Contract
      • 📌Stock Price Feed Contract
      • 📌Weather Feed Contract
      • 📌Crypto Price Feed Contract
      • 📌Random Number Contract
Powered by GitBook
On this page
  • Overview
  • Methods
  • acceptToken
  • Parameters
  • Returns
  • acceptEth
  • Parameters
  • Returns
  • tokenTransaction
  • Parameters
  • Returns
  • ethTransacton
  • Returns
  • ethRelease
  • Parameters
  • ethWithdraw
  • Returns
  • tokenRelease
  • Parameters
  • Returns
  • tokenWithdraw
  • Parameters
  • Returns
  • acceptNFT
  • Parameters
  • Returns
  • nftTransactions
  • Parameters
  • Returns
  • nftRelease
  • Parameters
  • Returns
  • nftWithdraw
  • Parameters
  • Returns
  1. Template Library
  2. Smart Contracts

Escrow

Overview

The Escrow contract is designed to securely manage the escrow process for various types of assets including ERC-20 tokens, Ether, and ERC-721 (NFT) tokens.

It acts as an intermediary to hold assets until predefined conditions are met, providing a trustless mechanism for transactions between parties.

Methods

acceptToken

Accepts ERC-20 tokens into escrow.

Parameters

Parameter

Type

Description

tokenAddress

address

Address of the ERC-20 token.

_amount

uint256

Amount of tokens to be escrowed.

_endTime

uint256

Timestamp when the escrow will be unlocked.

Returns

Return

Type

Description

balance

uint256

Remaining balance of the sender post-transaction.

acceptEth

Accepts Ether into escrow.

Parameters

Parameter

Type

Description

_endTime

uint256

Timestamp when the escrow will be unlocked.

Returns

Return

Type

Description

value

uint256

Amount of Ether sent to the contract.

tokenTransaction

Retrieves the current state of an ERC-20 token transaction in escrow.

Parameters

Parameter

Type

Description

tokenAddress

address

Address of the ERC-20 token.

Returns

Return

Type

Description

Tuple

(uint256, bool, bool, uint256)

Amount, lock status, spent status, and mature time.

ethTransacton

Retrieves the current state of an Ether transaction in escrow.

Returns

Return

Type

Description

Tuple

(uint256, bool, bool, uint256)

Amount, lock status, spent status, and mature time.

ethRelease

Admin function to unlock Ether in escrow.

Parameters

Return

Type

Description

success

bool

Returns true if successful.

ethWithdraw

Allows the seller to withdraw unlocked Ether.

Returns

Return

Type

Description

success

bool

Returns true if successful.

tokenRelease

Admin function to unlock ERC-20 tokens in escrow.

Parameters

Parameter

Type

Description

tokenAddress

address

Address of the ERC-20 token.

Returns

Return

Type

Description

success

bool

Returns true if successful.

tokenWithdraw

Allows the seller to withdraw unlocked ERC-20 tokens.

Parameters

Parameter

Type

Description

tokenAddress

address

Address of the ERC-20 token.

Returns

Return

Type

Description

success

bool

Returns true if successful.

acceptNFT

Accepts an ERC-721 token into escrow.

Parameters

Parameter

Type

Description

tokenContract

address

Address of the ERC-721 token contract.

tokenId

uint256

ID of the token.

_endTime

uint256

Timestamp when the escrow will be unlocked.

Returns

Return

Type

Description

tokenId

uint256

ID of the accepted token.

nftTransactions

Retrieves current state of transactions in escrow for a specific ERC-721 token contract.

Parameters

Parameter

Type

Description

tokenContract

address

Address of the ERC-721 token contract.

Returns

Return

Type

Description

transactions

NFTTransaction[]

An array of NFTTransaction structures.

nftRelease

Admin function to unlock an ERC-721 token in escrow.

Parameters

Parameter

Type

Description

tokenContract

address

Address of the ERC-721 token contract.

tokenIndex

uint256

Index of the token in the escrow.

Returns

Return

Type

Description

success

bool

Returns true if successful.

nftWithdraw

Allows the seller to withdraw an unlocked ERC-721 token.

Parameters

Parameter

Type

Description

tokenContract

address

Address of the ERC-721 token contract.

tokenIndex

uint256

Index of the token in the escrow.

Returns

Return

Type

Description

success

bool

Returns true if successful.

Last updated 1 year ago

👷
📌