Skip to content
This repository has been archived by the owner on Sep 1, 2023. It is now read-only.

feat: added UpdatableOperatorFiltererUpgradeable contract & tests #80

Conversation

balajmarius
Copy link
Contributor

@balajmarius balajmarius commented Jan 5, 2023

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:

  • onlyAllowedOperator modifier for transferFrom and safeTransferFrom methods.
  • onlyAllowedOperatorApproval modifier for approve and setApprovalForAll methods.

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

image

@shoenseiwaso
Copy link

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

@n0thingness
Copy link

@operatorfilterer What's the timeline on this feature?

@operatorfilterer
Copy link
Collaborator

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
Copy link

navopw commented Feb 14, 2023

I would really appreciate this change!

@abarbatei
Copy link
Contributor

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

@abarbatei
Copy link
Contributor

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

@abarbatei
Copy link
Contributor

@operatorfilterer could you take a look?

@n0thingness
Copy link

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

@danbridge
Copy link

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

@operatorfilterer operatorfilterer merged commit 222b33e into ProjectOpenSea:main Mar 1, 2023
@shoenseiwaso
Copy link

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

@balajmarius balajmarius deleted the updatable-operator-filterer-upgradable branch March 2, 2023 07:01
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants