- a delegate EOA for delegated self mode
- a Safe address for delegated gasless mode
setupGaslessDelegation().
Registering the first delegate
setDelegate() submits through the current mode, so a delegated client sends it through its registered delegate — which cannot work before one exists. Build the transaction from the trader instead, and have them sign it:
getOnboardingStatus() returns exactly this transaction as its setDelegate step.
Who sends the transaction
getSetDelegateTx() and getRemoveDelegateTx() take an optional { from }:
Use
'trader' for the first registration and for a revocation the trader wants to make themselves; 'delegate' when an already-registered delegate rotates the delegation.