From 5eef73eb5d43ef955ee78a68457603aa3e10b253 Mon Sep 17 00:00:00 2001
From: "dr. mia von steinkirch, phd"
<1130416+mvonsteinkirch@users.noreply.github.com>
Date: Fri, 17 Feb 2023 20:22:19 -0800
Subject: [PATCH] Update solidity_tldr.md
---
solidity_tldr.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/solidity_tldr.md b/solidity_tldr.md
index d0b25e4..b3cae3e 100644
--- a/solidity_tldr.md
+++ b/solidity_tldr.md
@@ -9,6 +9,12 @@
* until [account abstraction](https://github.com/go-outside-labs/mev-toolkit/tree/main/MEV_by_chains/MEV_on_Ethereum/account_abstraction) becomes a thing, there are two types of accounts, which are identified by an address of **160-bit length** (rightmost 160 bits of the **Keccak hash** of the RLP encoding of the structure with the sender and the nonce), and contain a **balance** (in wei), a **nonce** (number of tx made by the account), a **bytecode** (hash), and **stored data** (keccak hash of the root note od the storage trie). while **external accounts have a private key** and their code and storage are empty, **contract accounts store their bytecode** (and merkle root hash of the entire state tree).
+
+
+
+
+
+
* the **creation of a contract** is a transaction where the **receiver address is empty** and its **data field contains compiled bytecode** (or calling `CREATE` opcode. the data sent is executed as bytecode, initializing the state variables in storage and determining the body of the contract being created. **contract memory** is a byte array, where data can be stored in 32 bytes (256 bit) or 1 byte (8 bit) chunks, reading in 32 bytes chunks (through `MSTORE`, `MLOAD`, `MSTORE8`).