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

NameTypeDescription

_0

bytes32

undefined

DEFAULT_ADMIN_ROLE

function DEFAULT_ADMIN_ROLE() external view returns (bytes32)

Returns

NameTypeDescription

_0

bytes32

undefined

ERC721

function ERC721() external view returns (contract IERC721Upgradeable)

CONTRACTS ///

Returns

NameTypeDescription

_0

contract IERC721Upgradeable

undefined

MODERATOR_ROLE

function MODERATOR_ROLE() external view returns (bytes32)

ROLES ///

Returns

NameTypeDescription

_0

bytes32

undefined

auctionIdOffset

function auctionIdOffset() external view returns (uint256)

Returns

NameTypeDescription

_0

uint256

undefined

auctions

function auctions(uint256) external view returns (address seller, uint256 tokenId, uint128 startingPrice, uint128 endingPrice, uint64 duration, uint64 startedAt, address winner, bool open)

Parameters

NameTypeDescription

_0

uint256

undefined

Returns

NameTypeDescription

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

function bid(uint256 _tokenId, uint256 _bidAmount) external nonpayable

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

Parameters

NameTypeDescription

_tokenId

uint256

- ID of token to bid on.

_bidAmount

uint256

The bid amount.

bidFor

function bidFor(address _bidder, uint256 _tokenId, uint256 _bidAmount) external nonpayable

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

Parameters

NameTypeDescription

_bidder

address

undefined

_tokenId

uint256

- ID of token to bid on.

_bidAmount

uint256

The bid amount.

cancelAuction

function cancelAuction(uint256 _tokenId) external nonpayable

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

NameTypeDescription

_tokenId

uint256

- ID of token on auction

cancelAuctionWhenPaused

function cancelAuctionWhenPaused(uint256 _tokenId) external nonpayable

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

NameTypeDescription

_tokenId

uint256

- ID of the NFT on auction to cancel.

createAuction

function createAuction(uint256 _tokenId, uint128 _startingPrice, uint128 _endingPrice, uint64 _duration, address _winner) external nonpayable

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

NameTypeDescription

_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

function crystalToken() external view returns (contract IERC20Upgradeable)

CONTRACTS ///

Returns

NameTypeDescription

_0

contract IERC20Upgradeable

undefined

feeAddresses

function feeAddresses(uint256) external view returns (address)

STATE ///

Parameters

NameTypeDescription

_0

uint256

undefined

Returns

NameTypeDescription

_0

address

undefined

feePercents

function feePercents(uint256) external view returns (uint256)

Parameters

NameTypeDescription

_0

uint256

undefined

Returns

NameTypeDescription

_0

uint256

undefined

getAuction

function getAuction(uint256 _tokenId) external view returns (struct Auction)

Returns auction info for an NFT on auction.

Parameters

NameTypeDescription

_tokenId

uint256

- ID of NFT on auction.

Returns

NameTypeDescription

_0

Auction

undefined

getAuctions

function getAuctions(uint256[] _tokenIds) external view returns (struct Auction[])

single endpoint gets an array of auctions

Parameters

NameTypeDescription

_tokenIds

uint256[]

undefined

Returns

NameTypeDescription

_0

Auction[]

undefined

getCurrentPrice

function getCurrentPrice(uint256 _tokenId) external view returns (uint256)

Returns the current price of an auction.

Parameters

NameTypeDescription

_tokenId

uint256

- ID of the token price we are checking.

Returns

NameTypeDescription

_0

uint256

undefined

getRoleAdmin

function getRoleAdmin(bytes32 role) external view returns (bytes32)

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

Parameters

NameTypeDescription

role

bytes32

undefined

Returns

NameTypeDescription

_0

bytes32

undefined

getUserAuctions

function getUserAuctions(address _address) external view returns (uint256[])

returns the accounts auctions

Parameters

NameTypeDescription

_address

address

undefined

Returns

NameTypeDescription

_0

uint256[]

undefined

grantRole

function grantRole(bytes32 role, address account) external nonpayable

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

NameTypeDescription

role

bytes32

undefined

account

address

undefined

hasRole

function hasRole(bytes32 role, address account) external view returns (bool)

Returns true if account has been granted role.

Parameters

NameTypeDescription

role

bytes32

undefined

account

address

undefined

Returns

NameTypeDescription

_0

bool

undefined

isOnAuction

function isOnAuction(uint256 _tokenId) external view returns (bool)

Checks if the token is currently on auction.

Parameters

NameTypeDescription

_tokenId

uint256

undefined

Returns

NameTypeDescription

_0

bool

undefined

onERC721Received

function onERC721Received(address, address, uint256, bytes) external pure returns (bytes4)

Always returns IERC721Receiver.onERC721Received.selector.

Parameters

NameTypeDescription

_0

address

undefined

_1

address

undefined

_2

uint256

undefined

_3

bytes

undefined

Returns

NameTypeDescription

_0

bytes4

undefined

ownerCut

function ownerCut() external view returns (uint256)

STATE ///

Returns

NameTypeDescription

_0

uint256

undefined

pause

function pause() external nonpayable

paused

function paused() external view returns (bool)

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

Returns

NameTypeDescription

_0

bool

undefined

renounceRole

function renounceRole(bytes32 role, address account) external nonpayable

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

NameTypeDescription

role

bytes32

undefined

account

address

undefined

revokeRole

function revokeRole(bytes32 role, address account) external nonpayable

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

Parameters

NameTypeDescription

role

bytes32

undefined

account

address

undefined

setFees

function setFees(address[] _feeAddresses, uint256[] _feePercents) external nonpayable

Sets the addresses and percentages that will receive fees.

Parameters

NameTypeDescription

_feeAddresses

address[]

An array of addresses to send fees to.

_feePercents

uint256[]

An array of percentages for the addresses to get.

supportsInterface

function supportsInterface(bytes4 interfaceId) external view returns (bool)

See {IERC165-supportsInterface}.

Parameters

NameTypeDescription

interfaceId

bytes4

undefined

Returns

NameTypeDescription

_0

bool

undefined

totalAuctions

function totalAuctions() external view returns (uint256)

Returns

NameTypeDescription

_0

uint256

undefined

unpause

function unpause() external nonpayable

userAuctions

function userAuctions(address, uint256) external view returns (uint256)

Parameters

NameTypeDescription

_0

address

undefined

_1

uint256

undefined

Returns

NameTypeDescription

_0

uint256

undefined

Events

AuctionCancelled

event AuctionCancelled(uint256 auctionId, uint256 indexed tokenId)

Parameters

NameTypeDescription

auctionId

uint256

undefined

tokenId indexed

uint256

undefined

AuctionCreated

event AuctionCreated(uint256 auctionId, address indexed owner, uint256 indexed tokenId, uint256 startingPrice, uint256 endingPrice, uint256 duration, address winner)

EVENTS ///

Parameters

NameTypeDescription

auctionId

uint256

undefined

owner indexed

address

undefined

tokenId indexed

uint256

undefined

startingPrice

uint256

undefined

endingPrice

uint256

undefined

duration

uint256

undefined

winner

address

undefined

AuctionSuccessful

event AuctionSuccessful(uint256 auctionId, uint256 indexed tokenId, uint256 totalPrice, address winner)

Parameters

NameTypeDescription

auctionId

uint256

undefined

tokenId indexed

uint256

undefined

totalPrice

uint256

undefined

winner

address

undefined

Paused

event Paused(address account)

Parameters

NameTypeDescription

account

address

undefined

RoleAdminChanged

event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)

Parameters

NameTypeDescription

role indexed

bytes32

undefined

previousAdminRole indexed

bytes32

undefined

newAdminRole indexed

bytes32

undefined

RoleGranted

event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)

Parameters

NameTypeDescription

role indexed

bytes32

undefined

account indexed

address

undefined

sender indexed

address

undefined

RoleRevoked

event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)

Parameters

NameTypeDescription

role indexed

bytes32

undefined

account indexed

address

undefined

sender indexed

address

undefined

Unpaused

event Unpaused(address account)

Parameters

NameTypeDescription

account

address

undefined

Last updated