ERC721AuctionBaseUpgradeable

AuctionBase for non-fungible tokens.

We omit a fallback function to prevent accidental sends to this contract.

Methods

BIDDER_ROLE

function BIDDER_ROLE() external view returns (bytes32)

Returns

Name
Type
Description

_0

bytes32

undefined

DEFAULT_ADMIN_ROLE

function DEFAULT_ADMIN_ROLE() external view returns (bytes32)

Returns

Name
Type
Description

_0

bytes32

undefined

ERC721

function ERC721() external view returns (contract IERC721Upgradeable)

CONTRACTS ///

Returns

Name
Type
Description

_0

contract IERC721Upgradeable

undefined

MODERATOR_ROLE

ROLES ///

Returns

Name
Type
Description

_0

bytes32

undefined

auctionIdOffset

Returns

Name
Type
Description

_0

uint256

undefined

auctions

Parameters

Name
Type
Description

_0

uint256

undefined

Returns

Name
Type
Description

seller

address

undefined

tokenId

uint256

undefined

startingPrice

uint128

undefined

endingPrice

uint128

undefined

duration

uint64

undefined

startedAt

uint64

undefined

winner

address

undefined

open

bool

undefined

bid

Bids on an open auction, completing the auction if enough JEWELs are supplied.

Parameters

Name
Type
Description

_tokenId

uint256

- ID of token to bid on.

_bidAmount

uint256

The bid amount.

bidFor

Bids on an open auction, completing the auction if enough JEWELs are supplied.

Parameters

Name
Type
Description

_bidder

address

undefined

_tokenId

uint256

- ID of token to bid on.

_bidAmount

uint256

The bid amount.

cancelAuction

This is a state-modifying function that can be called while the contract is paused.depending on if the auction is escrow or not this might need to verify ownership

Cancels an auction that hasn't been won yet. Returns the NFT to original owner.

Parameters

Name
Type
Description

_tokenId

uint256

- ID of token on auction

cancelAuctionWhenPaused

Cancels an auction when the contract is paused. Only the owner may do this, and NFTs are returned to the seller. This should only be used in emergencies.

Parameters

Name
Type
Description

_tokenId

uint256

- ID of the NFT on auction to cancel.

createAuction

Creates and begins a new auction. This can either escrow or not depending on implementation but should at the very least call _addAuction and check ownership

Parameters

Name
Type
Description

_tokenId

uint256

- ID of token to auction, sender must be owner.

_startingPrice

uint128

- Price of item (in wei) at beginning of auction.

_endingPrice

uint128

- Price of item (in wei) at end of auction.

_duration

uint64

- Length of auction (in seconds).

_winner

address

- The person who can win, if private. 0 for anyone.

crystalToken

CONTRACTS ///

Returns

Name
Type
Description

_0

contract IERC20Upgradeable

undefined

feeAddresses

STATE ///

Parameters

Name
Type
Description

_0

uint256

undefined

Returns

Name
Type
Description

_0

address

undefined

feePercents

Parameters

Name
Type
Description

_0

uint256

undefined

Returns

Name
Type
Description

_0

uint256

undefined

getAuction

Returns auction info for an NFT on auction.

Parameters

Name
Type
Description

_tokenId

uint256

- ID of NFT on auction.

Returns

Name
Type
Description

_0

Auction

undefined

getAuctions

single endpoint gets an array of auctions

Parameters

Name
Type
Description

_tokenIds

uint256[]

undefined

Returns

Name
Type
Description

_0

Auction[]

undefined

getCurrentPrice

Returns the current price of an auction.

Parameters

Name
Type
Description

_tokenId

uint256

- ID of the token price we are checking.

Returns

Name
Type
Description

_0

uint256

undefined

getRoleAdmin

Returns the admin role that controls role. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.

Parameters

Name
Type
Description

role

bytes32

undefined

Returns

Name
Type
Description

_0

bytes32

undefined

getUserAuctions

returns the accounts auctions

Parameters

Name
Type
Description

_address

address

undefined

Returns

Name
Type
Description

_0

uint256[]

undefined

grantRole

Grants role to account. If account had not been already granted role, emits a {RoleGranted} event. Requirements: - the caller must have role's admin role.

Parameters

Name
Type
Description

role

bytes32

undefined

account

address

undefined

hasRole

Returns true if account has been granted role.

Parameters

Name
Type
Description

role

bytes32

undefined

account

address

undefined

Returns

Name
Type
Description

_0

bool

undefined

isOnAuction

Checks if the token is currently on auction.

Parameters

Name
Type
Description

_tokenId

uint256

undefined

Returns

Name
Type
Description

_0

bool

undefined

onERC721Received

Always returns IERC721Receiver.onERC721Received.selector.

Parameters

Name
Type
Description

_0

address

undefined

_1

address

undefined

_2

uint256

undefined

_3

bytes

undefined

Returns

Name
Type
Description

_0

bytes4

undefined

ownerCut

STATE ///

Returns

Name
Type
Description

_0

uint256

undefined

pause

paused

Returns true if the contract is paused, and false otherwise.

Returns

Name
Type
Description

_0

bool

undefined

renounceRole

Revokes role from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked role, emits a {RoleRevoked} event. Requirements: - the caller must be account.

Parameters

Name
Type
Description

role

bytes32

undefined

account

address

undefined

revokeRole

Revokes role from account. If account had been granted role, emits a {RoleRevoked} event. Requirements: - the caller must have role's admin role.

Parameters

Name
Type
Description

role

bytes32

undefined

account

address

undefined

setFees

Sets the addresses and percentages that will receive fees.

Parameters

Name
Type
Description

_feeAddresses

address[]

An array of addresses to send fees to.

_feePercents

uint256[]

An array of percentages for the addresses to get.

supportsInterface

See {IERC165-supportsInterface}.

Parameters

Name
Type
Description

interfaceId

bytes4

undefined

Returns

Name
Type
Description

_0

bool

undefined

totalAuctions

Returns

Name
Type
Description

_0

uint256

undefined

unpause

userAuctions

Parameters

Name
Type
Description

_0

address

undefined

_1

uint256

undefined

Returns

Name
Type
Description

_0

uint256

undefined

Events

AuctionCancelled

Parameters

Name
Type
Description

auctionId

uint256

undefined

tokenId indexed

uint256

undefined

AuctionCreated

EVENTS ///

Parameters

Name
Type
Description

auctionId

uint256

undefined

owner indexed

address

undefined

tokenId indexed

uint256

undefined

startingPrice

uint256

undefined

endingPrice

uint256

undefined

duration

uint256

undefined

winner

address

undefined

AuctionSuccessful

Parameters

Name
Type
Description

auctionId

uint256

undefined

tokenId indexed

uint256

undefined

totalPrice

uint256

undefined

winner

address

undefined

Paused

Parameters

Name
Type
Description

account

address

undefined

RoleAdminChanged

Parameters

Name
Type
Description

role indexed

bytes32

undefined

previousAdminRole indexed

bytes32

undefined

newAdminRole indexed

bytes32

undefined

RoleGranted

Parameters

Name
Type
Description

role indexed

bytes32

undefined

account indexed

address

undefined

sender indexed

address

undefined

RoleRevoked

Parameters

Name
Type
Description

role indexed

bytes32

undefined

account indexed

address

undefined

sender indexed

address

undefined

Unpaused

Parameters

Name
Type
Description

account

address

undefined

Last updated

Was this helpful?