diff --git a/docs/architecture/transactions/procedures.md b/docs/architecture/transactions/procedures.md
index 85cc9b9c8..d52f8409d 100644
--- a/docs/architecture/transactions/procedures.md
+++ b/docs/architecture/transactions/procedures.md
@@ -9,7 +9,7 @@ There are user-facing procedures and kernel procedures. Users don't directly inv
These procedures can be used to create smart contract/account code, note scripts, or account scripts. They basically serve as an API for the underlying kernel procedures. If a procedure can be called in the current context, an `exec` is sufficient. Otherwise the context procedures must be invoked by `call`. Users never need to invoke `syscall` procedures themselves.
!!! tip
- If capitalized, a variable representing a `word`, e.g., `ACCT_HASH` consists of four `felts`. If lowercase, the variable is represented by a single `felt`.
+If capitalized, a variable representing a `word`, e.g., `ACCT_HASH` consists of four `felts`. If lowercase, the variable is represented by a single `felt`.
### Account
@@ -37,24 +37,26 @@ Any procedure that changes the account state must be invoked in the account cont
To import the note procedures, set `use.miden::note` at the beginning of the file. All procedures are restricted to the note context.
-| Procedure name | Inputs | Outputs | Context | Description |
-| --------------------- | -------------------------- | ------------------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `get_assets` | `[dest_ptr]` | `[num_assets, dest_ptr]` | note |
- Writes the assets of the currently executing note into memory starting at the specified address `dest_ptr `.
- `num_assets` is the number of assets in the currently executing note.
|
-| `get_inputs` | `[dest_ptr]` | `[dest_ptr]` | note | - Writes the inputs of the currently executed note into memory starting at the specified address, `dest_ptr`.
|
-| `get_sender` | `[]` | `[sender]` | note | - Returns the `sender` of the note currently being processed. Panics if a note is not being processed.
|
-| `compute_inputs_hash` | `[inputs_ptr, num_inputs]` | `[HASH]` | note | - Computes hash of note inputs starting at the specified memory address.
|
+| Procedure name | Inputs | Outputs | Context | Description |
+| ------------------------ | -------------------------- | ------------------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `get_assets` | `[dest_ptr]` | `[num_assets, dest_ptr]` | note | - Writes the assets of the currently executing note into memory starting at the specified address `dest_ptr `.
- `num_assets` is the number of assets in the currently executing note.
|
+| `get_inputs` | `[dest_ptr]` | `[dest_ptr]` | note | - Writes the inputs of the currently executed note into memory starting at the specified address, `dest_ptr`.
|
+| `get_sender` | `[]` | `[sender]` | note | - Returns the `sender` of the note currently being processed. Panics if a note is not being processed.
|
+| `compute_inputs_hash` | `[inputs_ptr, num_inputs]` | `[HASH]` | note | - Computes hash of note inputs starting at the specified memory address.
|
+| `get_note_serial_number` | `[]` | `[SERIAL_NUMBER]` | note | - Returns the serial number of the note currently being processed.
|
+| `get_script_hash` | `[]` | `[SCRIPT_HASH]` | note | - Returns the script hash of the note currently being processed.
|
### Tx
To import the transaction procedures set `use.miden::tx` at the beginning of the file. Only the `create_note` procedure is restricted to the account context.
-| Procedure name | Inputs | Outputs | Context | Description |
-| ----------------------- | ------------------------- | ------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `get_block_number` | `[]` | `[num]` | account, note | - Returns the block number `num` of the last known block at the time of transaction execution. |
-| `get_block_hash` | `[]` | `[H]` | account, note |
- Returns the block hash `H` of the last known block at the time of transaction execution.
|
+| Procedure name | Inputs | Outputs | Context | Description |
+| ----------------------------- | ------------------------- | ------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `get_block_number` | `[]` | `[num]` | account, note | - Returns the block number `num` of the last known block at the time of transaction execution. |
+| `get_block_hash` | `[]` | `[H]` | account, note |
- Returns the block hash `H` of the last known block at the time of transaction execution.
|
| `get_input_notes_commitment` | `[]` | `[COM]` | account, note | - Returns the input notes hash `COM`.
- This is computed as a sequential hash of (nullifier, empty_word_or_note_hash) tuples over all input notes. The `empty_word_or_notes_hash` functions as a flag, if the value is set to zero, then the notes are authenticated by the transaction kernel. If the value is non-zero, then note authentication will be delayed to the batch/block kernel. The delayed authentication allows a transaction to consume a public note that is not yet included to a block.
|
| `get_output_notes_commitment` | `[0, 0, 0, 0]` | `[COM]` | account, note | - Returns the output notes hash `COM`.
- This is computed as a sequential hash of (note_id, note_metadata) tuples over all output notes.
|
-| `create_note` | `[ASSET, tag, RECIPIENT]` | `[ptr]` | account | - Creates a new note and returns a pointer to the memory address at which the note is stored.
- `ASSET` is the asset to be included in the note.
- `tag` is the tag to be included in the note. `RECIPIENT` is the recipient of the note.
- `ptr` is the pointer to the memory address at which the note is stored.
|
+| `create_note` | `[ASSET, tag, RECIPIENT]` | `[ptr]` | account | - Creates a new note and returns a pointer to the memory address at which the note is stored.
- `ASSET` is the asset to be included in the note.
- `tag` is the tag to be included in the note. `RECIPIENT` is the recipient of the note.
- `ptr` is the pointer to the memory address at which the note is stored.
|
### Asset