Removed defaultAccessList and fixed a couple of bugs

* draftAccessList is optional (and in some cases an error) with rev30
* Fixed credential expiration bug
* Fixed edge case where layer processing fails as already done
Why `== 1`? I think we only ever return one, but can we just use `> 0` to be a little more safe and show intent a bit more clearly?