Automated Bidder Service
Automated Bidder Service
An automated bidding service running on ECS. It monitors Arcana token auctions and automatically places bids based on predefined conditions.
The necessary information is provided below.
Contract Information
Retrieve Auction Information (ExtractorAuction.sol)
@param tokenId ERC721 token ID.
@return auction Auction information.
@return maxBid Highest bid amount
function auctionInfo(uint256 tokenId) public view override returns (Auction memory auction, Bid memory maxBid){auction = auctions[tokenId];maxBid = bids[maxDepositByKey(tokenId)];}
Auction
struct Auction {
uint256 tokenId;
uint256 budget;
uint256 tentativeBid;
address budgetProvider;
/// @notice Auction status. ACTIVE = 1; WAIT_FOR_FINALIZE = 2; WAIT_FOR_REFUND = 3; DEAD = 4;
uint8 state;
}
Returns an array of AuctionWithMaxBid structures containing auction information (ExtractorAuction.sol)
@param offset Starting token ID (inclusive)
@param count Number of items to retrieve (inclusive)
@return Array of AuctionWithMaxBid structures containing auction information
function getActiveAuction(uint256 offset, uint256 count) public view returns (AuctionWithMaxBid[] memory)
Place a Bid in an Auction (ExtractorAuction.sol)
@param tokenId Target token ID
@param bidAmount Bid amount
@param requestShard Whether to receive the reward as a Shard
@return bidId Bid ID
function placeBid(uint256 tokenId,uint256 bidAmount,bool requestShard) public override authorized("WHITE_BIDDER") notBlocked("BLACK_BIDDER") returns (uint256)
Cancel a Bid (ExtractorAuction.sol)
@param bidId Bid ID
function cancelBid(uint256 bidId) external
Retrieve Budget for the Target Token (ExtractorBudget.sol)
@param tokenId Target token ID
@return Budget
function getBudget(uint256 tokenId) public view returns (Budget memory)
Budget
struct Budget {
/// @notice Indicates whether the budget has been paid.
address paid;
/// @notice Indicates whether the associated ERC721 token has been burned.
bool tokenBurned;
/// @notice Address of the budget provider
address budgetProvider;
/// @notice ERC721 token ID associated with the budget
uint256 tokenId;
/// @notice Amount of Anima allocated to the budget
uint256 animaAmount;
/// @notice Amount of Levica allocated to the budget
uint256 levicaAmount;
/// @notice Timestamp of payment
uint256 paidTimestamp;
/// @notice Address to which the shard is transferred
address tokenReceiverAddress;
/// @notice Publisher address
address publisherAddress;
}