This PR adds an event that is emitted on shared signer configuration. Note that the event is emitted in the context of the configured Safe account. In order to prevent event topic0 collisions, we chose an explicitly verbose name.
With respect to indexing, we explicitly chose not to index any of the fields so that it matches the Created event:
To re-iterate on the reasons we chose to not index some of the fields (same reasoning applies to Created event above):
x and y: These are single-use public key coordinates attached to a passkey. It doesn't make sense to filter events by "all events with x value", or similarly "all events with y value". Furthermore, you can compute the signer (which is indexed in the Created event) from the key coordinates, so you can to some degree search for signers for a given key coordinate.
verifiers: This felt more like a configuration than something that Dapps would need to filter by. Why it might be interesting to see on chain which verifiers are being used, tools like Dune can help with this, and the additional cost of an indexed field is not worth it in our opinion.
Fixes https://github.com/hats-finance/Safe-0x2909fdefd24a1ced675cb1444918fa766d76bdac/issues/3
This PR adds an event that is emitted on shared signer configuration. Note that the event is emitted in the context of the configured Safe account. In order to prevent event
topic0
collisions, we chose an explicitly verbose name.With respect to indexing, we explicitly chose not to index any of the fields so that it matches the
Created
event:https://github.com/safe-global/safe-modules/blob/bb5e1f7360633d5ecfb175c5d8667b2a3a1b746d/modules/passkey/contracts/interfaces/ISafeSignerFactory.sol#L13-L20
To re-iterate on the reasons we chose to not index some of the fields (same reasoning applies to
Created
event above):x
andy
: These are single-use public key coordinates attached to a passkey. It doesn't make sense to filter events by "all events withx
value", or similarly "all events withy
value". Furthermore, you can compute thesigner
(which is indexed in theCreated
event) from the key coordinates, so you can to some degree search for signers for a given key coordinate.verifiers
: This felt more like a configuration than something that Dapps would need to filter by. Why it might be interesting to see on chain which verifiers are being used, tools like Dune can help with this, and the additional cost of an indexed field is not worth it in our opinion.