Keep track of referrer address for renewals
Currently, the referrer only gets a fee on the first purchaser. The main reason is that the lock does not keep track of the referrer address on recurring purchases.
However, we already keep track of the price paid, the currency and the duration for renewals... so it should be possible to add the referrer address so that the lock "remembers" the initial referrer address and pays the fees on renewals (only on renewMembershipFor.
We should keep the signature identical for all functions and, if a referrer is set this one should have the priority for the renewMemvershipFor function.
Note: when calling extend, the user should have the ability to set/use a different referrer.
Shouldn't the frontend be in charge of keeping track of the referrer ? Why do it at the contract level ?