func DischargeAll(
	ctx context.Context,
	m *Macaroon,
	getDischarge func(ctx context.Context, cav macaroon.Caveat, encryptedCaveat []byte) (*Macaroon, error),
) (macaroon.Slice, error) {
	return DischargeAllWithKey(ctx, m, getDischarge, nil)
}
// DischargeAll gathers discharge macaroons for all the third party
// caveats in m (and any subsequent caveats required by those) using
// getDischarge to acquire each discharge macaroon. It returns a slice
// with m as the first element, followed by all the discharge macaroons.
// All the discharge macaroons will be bound to the primary macaroon.
//
// The getDischarge function is passed the caveat to be discharged;
// encryptedCaveat will be passed the external caveat payload found
// in m, if any.
DischargeAll gathers discharge macaroons for all the third party
caveats in m (and any subsequent caveats required by those) using
getDischarge to acquire each discharge macaroon. It returns a slice
with m as the first element, followed by all the discharge macaroons.
All the discharge macaroons will be bound to the primary macaroon.

The getDischarge function is passed the caveat to be discharged;
encryptedCaveat will be passed the external caveat payload found
in m, if any.
// DischargeAll gathers discharge macaroons for all the third party // caveats in m ( and any subsequent caveats required by those ) using // getDischarge to acquire each discharge macaroon . It returns a slice // with m as the first element followed by all the discharge macaroons . // All the discharge macaroons will be bound to the primary macaroon . // // The getDischarge function is passed the caveat to be discharged ; // encryptedCaveat will be passed the external caveat payload found // in m if any .
func DischargeAll(
	ctx context.Context,
	m *Macaroon,
	getDischarge func(ctx context.Context, cav macaroon.Caveat, encryptedCaveat []byte) (*Macaroon, error),
) (macaroon.Slice, error) {
	return DischargeAllWithKey(ctx, m, getDischarge, nil)
}
func DischargeAll ( ctx context . Context , m * Macaroon , getDischarge func ( ctx context . Context , cav macaroon . Caveat , encryptedCaveat [ ] byte ) ( * Macaroon , error ) , ) ( macaroon . Slice , error ) { return DischargeAllWithKey ( ctx , m , getDischarge , nil ) }
DischargeAll gathers discharge macaroons for all the third party
caveats in m (and any subsequent caveats required by those) using
getDischarge to acquire each discharge macaroon.
DischargeAll gathers discharge macaroons for all the third party caveats in m ( and any subsequent caveats required by those ) using getDischarge to acquire each discharge macaroon .