Skip to content

Commit 55db501

Browse files
committed
Fix further links issues
1 parent c43c2c0 commit 55db501

File tree

6 files changed

+9
-9
lines changed

6 files changed

+9
-9
lines changed

learn_evm/evm_opcodes.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ The gas information is a work in progress. If an asterisk is in the Gas column,
3939
| [`0x1b`](#shl) | SHL | Shift Left | [EIP145](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md) | 3 |
4040
| [`0x1c`](#shr) | SHR | Logical Shift Right | [EIP145](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md) | 3 |
4141
| [`0x1d`](#sar) | SAR | Arithmetic Shift Right | [EIP145](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md) | 3 |
42-
| [`0x20`](#keccak256) | KECCAK256 | Compute Keccak-256 hash | - | 30* |
42+
| [`0x20`](#sha3) | KECCAK256 | Compute Keccak-256 hash | - | 30* |
4343
| `0x21` - `0x2f`| Unused | Unused |
4444
| [`0x30`](#address) | ADDRESS | Get address of currently executing account | - | 2 |
4545
| [`0x31`](#balance) | BALANCE | Get balance of the given account | - | 700 |
@@ -262,7 +262,7 @@ c = (a + b) % m
262262
c = (a * b) % m
263263

264264
-----
265-
### EXT
265+
### EXP
266266
**0x0a**
267267

268268
(a, b, m) => (c)

program-analysis/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ The broad areas that are frequently relevant for smart contracts include:
7373
Component | Tools | Examples
7474
--- | --- | --- |
7575
State machine | Echidna, Manticore |
76-
Access control | Slither, Echidna, Manticore | [Slither exercise 2](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/slither/exercise2.md), [Echidna exercise 2](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/Exercise-2.md)
77-
Arithmetic operations | Manticore, Echidna | [Echidna exercise 1](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/Exercise-1.md), [Manticore exercises 1 - 3](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/manticore/exercises)
78-
Inheritance correctness | Slither | [Slither exercise 1](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/slither/exercise1.md)
76+
Access control | Slither, Echidna, Manticore | [Slither exercise 2](./slither/exercise2.md), [Echidna exercise 2](./echidna/exercises/Exercise-2.md)
77+
Arithmetic operations | Manticore, Echidna | [Echidna exercise 1](./echidna/exercises/Exercise-1.md), [Manticore exercises 1 - 3](./manticore/exercises)
78+
Inheritance correctness | Slither | [Slither exercise 1](./slither/exercise1.md)
7979
External interactions | Manticore, Echidna |
8080
Standard conformance | Slither, Echidna, Manticore | [`slither-erc`](https://github.com/crytic/slither/wiki/ERC-Conformance)
8181

program-analysis/echidna/exercises/Exercise-5.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ We recommend to first try without reading the following hints. The hints are in
3838

3939
- Remember that sometimes you have to supply the test contract with Ether. Read more in [the Echidna wiki](https://github.com/crytic/echidna/wiki/Config) and look at [the default config setup](https://github.com/crytic/echidna/blob/master/tests/solidity/basic/default.yaml).
4040
- The invariant that we are looking for is "the balance of the receiver contract can not decrease"
41-
- Read what is the [multi abi option](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/common-testing-approaches.md#external-testing)
41+
- Read what is the [multi abi option](../basic/common-testing-approaches.md#external-testing)
4242
- A template is provided in [contracts/naive-receiver/NaiveReceiverEchidna.sol](https://github.com/crytic/damn-vulnerable-defi-echidna/blob/hints/contracts/naive-receiver/NaiveReceiverEchidna.sol)
4343
- A config file is provided in [naivereceiver.yaml](https://github.com/crytic/damn-vulnerable-defi-echidna/blob/hints/naivereceiver.yaml)
4444

program-analysis/echidna/exercises/Exercise-6.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Only the following contracts are relevant:
3737
We recommend to first try without reading the following hints. The hints are in the [`hints` branch](https://github.com/crytic/damn-vulnerable-defi-echidna/tree/hints).
3838

3939
- The invariant that we are looking for is "Flash loan can always be made"
40-
- Read what is the [multi abi option](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/common-testing-approaches.md#external-testing)
40+
- Read what is the [multi abi option](../basic/common-testing-approaches.md#external-testing)
4141
- The `receiveTokens` callback function must be implemented
4242
- A template is provided in [contracts/unstoppable/UnstoppableEchidna.sol](https://github.com/crytic/damn-vulnerable-defi-echidna/blob/hints/contracts/unstoppable/UnstoppableEchidna.sol)
4343
- A config file is provided in [unstoppable.yaml](https://github.com/crytic/damn-vulnerable-defi-echidna/blob/hints/unstoppable.yaml)

program-analysis/echidna/exercises/Exercise-8.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Only the following contracts are relevant:
3838
We recommend to first try without reading the following hints. The hints are in the [`hints` branch](https://github.com/crytic/damn-vulnerable-defi-echidna/tree/hints).
3939

4040
- The invariant that we are looking for is "an attacker cannot get almost whole amount of rewards"
41-
- Read what is the [multi abi option](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/common-testing-approaches.md#external-testing)
41+
- Read what is the [multi abi option](../basic/common-testing-approaches.md#external-testing)
4242
- A config file is provided in [the-rewarder.yaml](https://github.com/crytic/damn-vulnerable-defi-echidna/blob/solutions/the-rewarder.yaml)
4343

4444
## Solution

program-analysis/manticore/symbolic-execution-introduction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ As `f()` contains two paths, a DSE will construct two differents path predicates
2828
- Path 1: `a == 65`
2929
- Path 2: `Not (a == 65)`
3030

31-
Each path predicate is a mathematical formula that can be given to a so-called [SMT solver](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/manticore/symbolic-execution-introduction.md), which will try to solve the equation. For `Path 1`, the solver will say that the path can be explored with `a = 65`. For `Path 2`, the solver can give `a` any value other than 65, for example `a = 0`.
31+
Each path predicate is a mathematical formula that can be given to a so-called `SMT solver`, which will try to solve the equation. For `Path 1`, the solver will say that the path can be explored with `a = 65`. For `Path 2`, the solver can give `a` any value other than 65, for example `a = 0`.
3232

3333
### Verifying properties
3434
Manticore allows a full control over all the execution of each path. As a result, it allows to add arbirtray contraints to almost anything. This control allows for the creation of properties on the contract.

0 commit comments

Comments
 (0)