Weird edge case behaviour of offers
Description
I currently have a couple of offers on my NFT which are already expired
When I want to update a bid with a new price and longer expiration date it will throw AlreadyOffered
Actual status
as described in the previous section
Expected status
I have expected that if the expiration time is already gone you can replace your offer. Same with the case when somebody wants to top up their offer.
Alternative
is to do it as a batch on the frontend as a batchAll tx [marketplace.withdrawOffer, marketplace.makeOffer]
@vikiival Users should withdraw their expired offer because they have the offered amount locked until they do so. And we don't want to spam the chain with useless offers. Ad topup - We could make an improvement for the user to be able to change actually offered amount. If you think that is necessary, please add updateOffer to spec with detailed behaviour
Users should withdraw their expired offer because they have the offered amount locked until they do so
Yeah I agree.
And we don't want to spam the chain with useless offers.
Agree too.
We could make an improvement for the user to be able to change actually offered amount.
Spec for update offer:
if (proposed_price > actual_price) {
do_offer(_)
}
if (current_offer.is_expired()) {
do_offer(_)
}
is this still an issue ?