the adex-relayer is currently a proprietary component
it's not a custodian, and you can interact with the entire AdEx ecosystem without it
this can be practically done through MyCrypto/MEW or through a (wip) AdEx CLI
it's job is to relay signed messages from the user so that we can have gasless transactions or in other words, to allow the user to only care about one token (currently DAI)
a more subtle job of the relayer is to "sweep" channels: which means it will take your earnings from the channels to the Identity contract itself through calling channelWithdraw/channelWithdrawExpired
another job of the relayer is to manage Identity accounts for the Platform by recording which wallets control which Identities and recognizing you when you enter the Platform (e.g. you login on the Platform with your Trezor, and it will recognize which Identity is yours)
channels: the time period between spec.withdrawPeriodStart and validUntil must be at least a week + a few days, e.g. 10 days; the reason is that automatic relayer sweeping will be done weekly (currently it's daily), but we also need a few days to be extra safe in case of ETH network disruptions/delays or relayer failures; so basically we need the time to ensure the sweeping is done and everyone gets their earnings
spec.withdrawPeriodStart
andvalidUntil
must be at least a week + a few days, e.g. 10 days; the reason is that automatic relayer sweeping will be done weekly (currently it's daily), but we also need a few days to be extra safe in case of ETH network disruptions/delays or relayer failures; so basically we need the time to ensure the sweeping is done and everyone gets their earnings