I have a contract that implements the ERC721 interface, and I want to allow token owners to set their tokens as "buyable", so that any other address can buy their token without any action on the part of the owner, given constraints are met (proper price, etc).
It seems that approve
and transferFrom
are only callable by the owner of the transferred token, not a to-be buyer. So there would not be a straightforward way to let a buyer take ownership of a token without a transaction from the seller first.
Whats the standard way to implement this? Examples such as this marketplace implementation seem to suggest that marking a token as "buyable" results in approving a third party contract that takes control of asset, and does the transfer on behalf of the owner. Curious if there's an easier way or if this is the process implied by the spec.