Patchwork721 events

Patchwork721 supports the following event-related ERCs:

ERC-5192 - locking

event Locked(uint256 indexed tokenId);
event Unlocked(uint256 indexed tokenId);

ERC-4906 - metadata updates

event MetadataUpdate(uint256 indexed _tokenId);
event BatchMetadataUpdate(uint256 indexed _fromTokenId, uint256 indexed _toTokenId);

Because the code generator does not know which data is batched together for update, MetadataUpdate events need to be manually added to your contracts in order to work properly.

Patchwork721 emits the following events:

event Frozen(uint256 indexed tokenId);
event Thawed(uint256 indexed tokenId);
event PermissionChange(address indexed to, uint256 permissions);
event SchemaChange(address indexed addr);

SchemaChange events must be manually implemented on contracts with upgradeable schemas.

PatchworkProtocol events

event Assign(address indexed owner, address fragmentAddress, uint256 fragmentTokenId, address indexed targetAddress, uint256 indexed targetTokenId, uint256 scopeFee, uint256 protocolFee);
event Unassign(address indexed owner, address fragmentAddress, uint256 fragmentTokenId, address indexed targetAddress, uint256 indexed targetTokenId);
event Patch(address indexed owner, address originalAddress, uint256 originalTokenId, address indexed patchAddress, uint256 indexed patchTokenId, uint256 scopeFee, uint256 protocolFee);
event ERC1155Patch(address indexed owner, address originalAddress, uint256 originalTokenId, address originalAccount, address indexed patchAddress, uint256 indexed patchTokenId, uint256 scopeFee, uint256 protocolFee);
event AccountPatch(address indexed owner, address originalAddress, address indexed patchAddress, uint256 indexed patchTokenId, uint256 scopeFee, uint256 protocolFee);
event ScopeClaim(string scopeName, address indexed owner);
event ScopeTransferElect(string scopeName, address indexed from, address indexed to);
event ScopeTransferCancel(string scopeName, address indexed from, address indexed to);
event ScopeTransfer(string scopeName, address indexed from, address indexed to);
event ScopeAddOperator(string scopeName, address indexed actor, address indexed operator);
event ScopeRemoveOperator(string scopeName, address indexed actor, address indexed operator);
event ScopeRuleChange(string scopeName, address indexed actor, bool allowUserPatch, bool allowUserAssign, bool requireWhitelist);
event ScopeWhitelistAdd(string scopeName, address indexed actor, address indexed addr);
event ScopeWhitelistRemove(string scopeName, address indexed actor, address indexed addr);
event MintConfigure(string scopeName, address indexed actor, address indexed mintable, MintConfig config);
event ScopeBankerAdd(string scopeName, address indexed actor, address indexed banker);
event ScopeBankerRemove(string scopeName, address indexed actor, address indexed banker);
event ScopeWithdraw(string scopeName, address indexed actor, uint256 amount);
event ProtocolBankerAdd(address indexed actor, address indexed banker);
event ProtocolBankerRemove(address indexed actor, address indexed banker);
event ProtocolWithdraw(address indexed actor, uint256 amount);
event Mint(address indexed actor, string scopeName, address indexed to, address indexed mintable, bytes data, uint256 scopeFee, uint256 protocolFee);
event MintBatch(address indexed actor, string scopeName, address indexed to, address indexed mintable, bytes data, uint256 quantity, uint256 scopeFee, uint256 protocolFee);
event ProtocolFeeConfigPropose(FeeConfig config);
event ProtocolFeeConfigCommit(FeeConfig config);
event ScopeFeeOverridePropose(string scopeName, FeeConfigOverride config);
event ScopeFeeOverrideCommit(string scopeName, FeeConfigOverride config);
event PatchFeeChange(string scopeName, address indexed addr, uint256 fee);
event AssignFeeChange(string scopeName, address indexed addr, uint256 fee);
event AssignerDelegatePropose(address indexed addr);
event AssignerDelegateCommit(address indexed addr);