Skip to content

Commit

Permalink
Format markdown
Browse files Browse the repository at this point in the history
  • Loading branch information
PhilippGackstatter committed Nov 3, 2023
1 parent 7e8ca39 commit a552cdc
Showing 1 changed file with 12 additions and 10 deletions.
22 changes: 12 additions & 10 deletions tips/TIP-0042/tip-0042.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,9 @@ Protocol parameters used throughout this TIP are defined in [TIP-49](../TIP-0049

# Account Locking & Unlocking

A transaction may consume an output that belongs to an <i>Account Address</i> by transitioning the
account output with the matching `Account ID`. This serves the exact same purpose as providing a signature to unlock an
output locked under a private key backed address, such as <i>Ed25519 Addresses</i>.
A transaction may consume an output that belongs to an <i>Account Address</i> by transitioning the account output with
the matching `Account ID`. This serves the exact same purpose as providing a signature to unlock an output locked under
a private key backed address, such as <i>Ed25519 Addresses</i>.

On protocol level, account unlocking is done using a new unlock type, called **Account Unlock**.

Expand Down Expand Up @@ -399,11 +399,12 @@ defined in [TIP-49](../TIP-0049/tip-0049.md).

# Account Output

The _Account Output_ is a specific implementation of a UTXO state machine. `Account ID`, the unique identifier of
an instance of the deployed state machine, is generated deterministically by the protocol and is not allowed to change
in any future transitions.
The _Account Output_ is a specific implementation of a UTXO state machine. `Account ID`, the unique identifier of an
instance of the deployed state machine, is generated deterministically by the protocol and is not allowed to change in
any future transitions.

An _Account Output_ represents an account in the ledger with a permanent _Account Address_. The account owns other outputs that are locked under _Account Address_ and it keeps track of controlled foundries (`Foundry Counter`).
An _Account Output_ represents an account in the ledger with a permanent _Account Address_. The account owns other
outputs that are locked under _Account Address_ and it keeps track of controlled foundries (`Foundry Counter`).

<details>
<summary>Account Output</summary>
Expand Down Expand Up @@ -822,7 +823,8 @@ An _Account Output_ represents an account in the ledger with a permanent _Accoun

- Explicit `Account ID`: `Account ID` is taken as the value of the `Account ID` field in the account output.
- Implicit `Account ID`: When an account output is consumed as an input in a transaction and the `Account ID` field is
zeroed out, take the BLAKE2b-256 hash of the `Output ID` of the input as `Account ID`. Note that _implicit_ here only refers to the account ID and has no relationship to the implicit account concept.
zeroed out, take the BLAKE2b-256 hash of the `Output ID` of the input as `Account ID`. Note that _implicit_ here only
refers to the account ID and has no relationship to the implicit account concept.
- For every non-zero explicit `Account ID` on the output side there must be a corresponding account on the input side.
The corresponding account has the explicit or implicit `Account ID` equal to that of the account on the output side.

Expand Down Expand Up @@ -880,8 +882,8 @@ account from, without having to rely on a third party, the barrier to entry for

The following table shows the mapping from the address type of the **first byte** to the address type:

| Address | Type Byte as `uint8` | Bech32 Encoded |
| ------------- | -------------------- | -------------- |
| Address | Type Byte as `uint8` | Bech32 Encoded |
| --------------------------------- | -------------------- | -------------- |
| Implicit Account Creation Address | 32 | iota1**y**... |

The following table shows the serialization of an _Implicit Account Creation Address_:
Expand Down

0 comments on commit a552cdc

Please sign in to comment.