diff --git a/EIPS/eip-712.md b/EIPS/eip-712.md index 0f1fc699b9051a..4ac7f9516a11ca 100644 --- a/EIPS/eip-712.md +++ b/EIPS/eip-712.md @@ -115,7 +115,7 @@ where the type of `eip712Domain` is a struct named `EIP712Domain` with one or mo * `string version` the current major version of the signing domain. Signatures from different versions are not compatible. * `uint256 chainId` the [EIP-155][EIP-155] chain id. The user-agent *should* refuse signing if it does not match the currently active chain. * `address verifyingContract` the address of the contract that will verify the signature. The user-agent *may* do contract specific phishing prevention. -* `bytes32 salt` an disambiguating salt for the protocol. This can be used as a domain separator of last resort. +* `bytes32 salt` a disambiguating salt for the protocol. This can be used as a domain separator of last resort. [EIP-155]: ./eip-155.md @@ -321,7 +321,7 @@ function hashStruct(Mail memory mail) pure returns (bytes32 hash) { The in-place implementation makes strong but reasonable assumptions on the memory layout of structs in memory. Specifically it assumes structs are not allocated below address 32, that members are stored in order, that all values are padded to 32-byte boundaries, and that dynamic and reference types are stored as a 32-byte pointers. -**Alternative 6**: Tight packing. This is the default behaviour in Soldity when calling `keccak256` with multiple arguments. It minimizes the number of bytes to be hashed but requires complicated packing instructions in EVM to do so. It does not allow in-place computation. +**Alternative 6**: Tight packing. This is the default behaviour in Solidity when calling `keccak256` with multiple arguments. It minimizes the number of bytes to be hashed but requires complicated packing instructions in EVM to do so. It does not allow in-place computation. **Alternative 7**: ABIv2 encoding. Especially with the upcoming `abi.encode` it should be easy to use `abi.encode` as the `encodeData` function. The ABIv2 standard by itself fails the determinism security criteria. There are several valid ABIv2 encodings of the same data. ABIv2 does not allow in-place computation.