# `EEVM.Transaction.Authorization`
[🔗](https://github.com/mw2000/eevm/blob/v0.1.0/lib/eevm/transaction.ex#L149)

EIP-7702 authorization tuple: the account that signs it (its authority,
see `EEVM.Transaction.Signer.recover_authority/1`) lets `address`'s code
run as its own.

| Field | Description |
|-------|-------------|
| `chain_id` | Chain the authorization is valid on; 0 for any chain |
| `address` | Address whose code the authority delegates to |
| `nonce` | The authority's account nonce |
| `y_parity`, `r`, `s` | The authority's secp256k1 signature |

`y_parity` is a full byte on the wire; values other than 0 or 1 make the
authorization unrecoverable, so it is skipped rather than rejected.

# `t`

```elixir
@type t() :: %EEVM.Transaction.Authorization{
  address: EEVM.Transaction.address(),
  chain_id: non_neg_integer(),
  nonce: non_neg_integer(),
  r: non_neg_integer(),
  s: non_neg_integer(),
  y_parity: 0..255
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
