diff --git a/calldata/README.md b/calldata/README.md new file mode 100644 index 0000000..8c2c901 --- /dev/null +++ b/calldata/README.md @@ -0,0 +1,22 @@ +## calldata + +
+ +### tl; dr + +
+ +* calldata is the encoded parameter(s) sent on functions by smart contracts to the evm (for example, through `abi.econde()`,`abi.econcdeWithSelector() for a particular interfaced function, or `abi.encodePacked()` for efficient dynamic variables). +* `selector()` generates the 4-bytes representing the method in the interface: this is how the evm knows which function is being interacted. + +* each piece of calldata is 32 bytes long (64 chars), where 20 hex == 32-bytes +* types: + - static variables: the encoded representation of `uint`, `address`, `bool`, `bytes`, `tuples` + - dynamics variables: non-fixed-size types: `bytes`, `string`, dynamic and fixed arrays `[]` + +
+ + +--- + +### resources