ProjectOpenSea / operator-filter-registry

MIT License
312 stars 93 forks source link

feat: added UpdatableOperatorFiltererUpgradeable contract & tests #80

Closed balajmarius closed 1 year ago

balajmarius commented 1 year ago

An abstract contract whose init function automatically registers and optionally subscribes to or copies another registrant's entries in the OperatorFilterRegistry. This contract allows the Owner to update the OperatorFilterRegistry address via updateOperatorFilterRegistryAddress, including to the zero address, which will bypass registry checks.

Note that OpenSea will still disable creator fee enforcement if filtered operators begin fulfilling orders on-chain, eg, if the registry is revoked or bypassed.

This smart contract is meant to be inherited by token contracts so they can use the following:

Also, use updateOperatorFilterRegistryAddress function to change the registry address if needed.

image

shoenseiwaso commented 1 year ago

OpenSea team, can we get this merged and released soon?

n0thingness commented 1 year ago

@operatorfilterer What's the timeline on this feature?

operatorfilterer commented 1 year ago

Thanks for the PR! The underlying contracts and patterns have changed a bit since it was opened. Can you update to follow the newer patterns in the main branch? Namely upgradeable storage layouts, constants, internal _checkFilterOperator function calls. Then we can get that merged in. Thanks!

navopw commented 1 year ago

I would really appreciate this change!

abarbatei commented 1 year ago

@operatorfilterer thanks for the update! will add the indicated changes asap

abarbatei commented 1 year ago

Added needed changes. Tests specific for the contract can be run using forge test --match-contract UpdatableERC721Upgradeable -vvv image

abarbatei commented 1 year ago

@operatorfilterer could you take a look?

n0thingness commented 1 year ago

@operatorfilterer We're blocked by this so we'd greatly appreciate it if we could get this in

danbridge commented 1 year ago

Hello @operatorfilterer do you have an ETA on the above approval? We're assessing whether to fork at this point or see if we can wait, thanks

shoenseiwaso commented 1 year ago

@operatorfilterer thank you! Would you mind releasing a new version that includes this change as an npm package?