basic specifies a struct of BasicAllowance
period specifies the time duration in which period_spend_limit coins can be spent before that allowance is reset
period_can_spend is the number of coins left to be spent before the period_reset time
period_reset is the time at which this period resets and a new one begins, it is calculated from the start time of the first transaction after the last period ended
period_spend_limit specifies the maximum number of coins that can be spent in the period
PeriodicAllowance extends Allowance to allow for both a maximum cap, as well as a limit per time period.