<p>The second is just re-exporting.
Using the imports of the form <code>Ledger.Address</code> will mean bumping versions wont require lots of edits of <code>V1</code> to <code>V2</code> .
This may or may not be desirable. Depends on your context.</p>

CC BY-SA 4.0
2022-05-16T13:36:50.417Z
2022-05-16T13:36:50.417Z
waalge
<p>I would like to know why certain types are defined multiple times in different packages and whether that's suppose to dictate which types to use for on-chain code and which for off-chain code?</p>
<p>Example: <strong>Address</strong> type exists in the following packages:</p>
<p><code>Plutus.V1.Ledger.Address</code></p>
<p><code>Ledger.Address</code></p>

<plutus>
Why are some Plutus types defined multiple times in different packages?
# Why are some Plutus types defined multiple times in different packages?

(Asked by: username_0 on 2022-05-16)

I would like to know why certain types are defined multiple times in different packages and whether that's suppose to dictate which types to use for on-chain code and which for off-chain code?

Example: **Address** type exists in the following packages:

`Plutus.V1.Ledger.Address`

`Ledger.Address`

**Tags:** plutus

---

## 1 answers

### Answer by username_1 on 2022-05-16. Score: 4 | Accepted answer

The second is just re-exporting.
Using the imports of the form `Ledger.Address` will mean bumping versions wont require lots of edits of `V1` to `V2` .
This may or may not be desirable. Depends on your context.


---

