Secrets Engine Lease TTL

Working on a Secret Engine I have been able to incorporate basic Secret Leasing and the ability to Revoke tokens. I’m having trouble with implementing Renew logic though. I have the default lease duration as 768h(and have tried shorter variations). And when I go to renew I am hard coding shorter values:

resp := &logical.Response{Secret: req.Secret}
resp.Secret.TTL = 6
resp.Secret.MaxTTL = 60
return resp, nil

But every variation I have tried returns * past the max TTL, cannot renew. Can I get a pointer in a similar plugin I can look at for how to handle this logic? I’ve tried basing it off GCP and implementing ttl and max_ttl settings with the same issue so far.