Skip to content

Commit c5f7d87

Browse files
AzimovSescottalexander
authored andcommitted
docs: fix typo and formatting
1 parent 2dde881 commit c5f7d87

File tree

1 file changed

+12
-19
lines changed

1 file changed

+12
-19
lines changed

β€ŽREADME.mdβ€Ž

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ WhitelistOracle β†’ getPrice() β†’ [100, 102, 98] β†’ median(100) β†’ 100
248248

249249
### πŸ€” Critical Thinking: Security Vulnerabilities
250250

251-
- *Question**: How could this whitelist oracle design be exploited or taken advantage of? What are the main attack vectors?
251+
- **Question**: How could this whitelist oracle design be exploited or taken advantage of? What are the main attack vectors?
252252

253253
<details markdown='1'>
254254

@@ -312,7 +312,7 @@ yarn simulate:whitelist
312312

313313
πŸ” Open the `packages/hardhat/contracts/01_Staking/StakingOracle.sol` file to examine the staking oracle implementation.
314314

315-
**### πŸ“– Understanding the Code:**
315+
### πŸ“– Understanding the Code:
316316

317317
🧩 The `StakingOracle` contract implements a decentralized economic incentive model:
318318

@@ -358,7 +358,7 @@ yarn simulate:whitelist
358358

359359
* ⛔️ Reverts if no valid prices are available
360360

361-
**### πŸ€” Key Insights:**
361+
### πŸ€” Key Insights:
362362

363363
- **Economic Incentives**: Nodes stake ETH and can be slashed for bad behavior, where in contrast, good behavior rewards the nodes with ORA token
364364
- **Decentralized**: Anyone can participate by staking, no central authority needed
@@ -378,7 +378,7 @@ yarn simulate:staking
378378

379379
πŸ€– This will start automated bots that simulate honest and malicious node behavior, frequent and stale reports, and demonstrate how slashing and median aggregation impact the reported price. You can update the price variance and skip probability from the front-end as well.
380380

381-
**### πŸ₯… Goals:**
381+
### πŸ₯… Goals:
382382

383383
- Understand how economic incentives drive honest behavior
384384
- See how slashing mechanisms enforce data freshness
@@ -447,7 +447,7 @@ sequenceDiagram
447447

448448
πŸ” Open the `packages/hardhat/contracts/02_Optimistic/OptimisticOracle.sol` file to implement the optimistic oracle functionality.
449449

450-
**### ✏️ Tasks:**
450+
### ✏️ Tasks:
451451

452452
1. **Implement `assertEvent(string memory description, uint256 startTime, uint256 endTime)`**
453453

@@ -478,7 +478,7 @@ Here are more granular instructions on setting up the EventAssertion struct:
478478
- reward should be `msg.value`
479479
- bond should be `FIXED_BOND`
480480
- startTime = `startTime`
481-
- endTime = `endTIme`
481+
- endTime = `endTime`
482482
- description = `description`
483483
- any remaining properties can be initialized with the default values (`false`, `address(0)`, etc.)
484484

@@ -791,7 +791,7 @@ This function enables the asserter to get a refund of their posted reward when n
791791

792792
This is the method that the decider will call to settle whether the proposer or disputer are correct.
793793

794-
It should be;
794+
It should be:
795795

796796
* πŸ§‘β€βš–οΈ Only callable by the `decider` contract
797797

@@ -949,7 +949,7 @@ yarn simulate:optimistic
949949

950950
πŸ€– This will start automated bots that create assertions, propose outcomes, dispute proposals, and settle via the decider, so you can observe rewards, bonds, fees, and timing windows in a realistic flow.
951951

952-
**### πŸ₯… Goals:**
952+
### πŸ₯… Goals:
953953

954954
- Users can assert events with descriptions and time windows
955955
- Users can propose outcomes for asserted events
@@ -963,23 +963,16 @@ yarn simulate:optimistic
963963

964964
🧠 Now let's analyze the strengths and weaknesses of each oracle design.
965965

966-
**### πŸ“Š Comparison Table:**
967-
966+
### πŸ“Š Comparison Table:
968967
| Aspect | Whitelist Oracle | Staking Oracle | Optimistic Oracle |
969-
970968
|--------|------------------|----------------|-------------------|
971-
972969
| **Speed** | Fast | Medium | Slow |
973-
974970
| **Security** | Low (trusted authority) | Medium (economic incentives) | High (dispute resolution) |
975-
976971
| **Decentralization** | Low | High | Medium |
977-
978972
| **Cost** | Low | Medium | High |
979-
980973
| **Complexity** | Simple | Medium | Complex |
981974

982-
**### πŸ€” Key Trade-offs:**
975+
### πŸ€” Key Trade-offs:
983976

984977
1. **Whitelist Oracle:**
985978

@@ -1013,7 +1006,7 @@ yarn simulate:optimistic
10131006

10141007
- ❌ More complex
10151008

1016-
**### 🎯 Understanding the "Why":**
1009+
### 🎯 Understanding the "Why":
10171010

10181011
Each oracle design solves different problems:
10191012

@@ -1059,7 +1052,7 @@ Each oracle design solves different problems:
10591052
10601053
> 🦊 Since we have deployed to a public testnet, you will now need to connect using a wallet you own or use a burner wallet. By default πŸ”₯ `burner wallets` are only available on `hardhat` . You can enable them on every chain by setting `onlyLocalBurnerWallet: false` in your frontend config (`scaffold.config.ts` in `packages/nextjs/`)
10611054
1062-
**#### Configuration of Third-Party Services for Production-Grade Apps.**
1055+
#### Configuration of Third-Party Services for Production-Grade Apps.
10631056

10641057
By default, πŸ— Scaffold-ETH 2 provides predefined API keys for popular services such as Alchemy and Etherscan. This allows you to begin developing and testing your applications more easily, avoiding the need to register for these services.
10651058

0 commit comments

Comments
Β (0)