Skip to content

Latest commit

 

History

History
62 lines (40 loc) · 1.92 KB

README.md

File metadata and controls

62 lines (40 loc) · 1.92 KB

Auctionner

  • Auctioneer is customized NFT auction contract supporting dutch auction and fixed-price marketplace.
  • Initially owned by deployer, owner may start the english auction based auction along with dutch auction and fixed-price listing.
  • All the entities interacting with this contract needs to deposit designated amount of ETH (0.05 ETH as default) before calling functions in the contract.
  • Auctioneer currently supports ETH for NFT auction, however can be extended to support other ERC20 tokens in future.
  • All transaction happening in Auctioneer enforces royaltyInfo from ERC2981 on trading relevant NFT asset.

Get Started

Initializing project

we are using yarn as our package manager.

yarn install

Compile contract

compiles solidity contract to artifacts for test codes and deployment scripts.

yarn build

run test with gas report

runs various test cases with gas report.

yarn test:auctioneer

deploy

deploy

yarn hardhat run scripts/deploy.ts

Details

  • User needs to manually call deposit designated amount of ETH to continue call public functions in the contract

  • There are 3 main functions in this auction contract.

    • English auction : default auction, can use start,bid, end, claimWinner, claimSeller
    • Fixed-price listing : listing marketplace, can use listItem, buyItem, getPriceListing , cancelListing
    • Dutch auction : dutch auction, can use startDutch, getPriceDutch , buyDutch
    • Deposit and withdraw from platform: Users must perform deposit in order to interact with contract, can use deposit, withdraw

Gas Report

image

Reference