Linter fixes
This commit is contained in:
@@ -28,6 +28,7 @@ These contracts connect to each other and the broader 0x ecosystem like this:
|
||||

|
||||
|
||||
## Architecture (Kill Switch)
|
||||
|
||||
If a vulnerability is discovered in the staking contract, operations may be halted to conduct forensics:
|
||||
|
||||
1. The 0x Exchange contract stops charging protocol fees
|
||||
@@ -36,17 +37,16 @@ If a vulnerability is discovered in the staking contract, operations may be halt
|
||||
|
||||

|
||||
|
||||
|
||||
## Architecture (Catastrophic Failures)
|
||||
|
||||
In this worst-case scenario, state has been irreperably corrupted and the staking contracts must be re-deployed. Users withdraw their funds from the vaults and re-stake under the new system, at will.
|
||||
|
||||
4. Vaults enter "Catostrophic Failure Mode" allowing users to withdraw their ZRX and Rewards.
|
||||
5. A Balance Oracle is deployed for determining the Reward balance of each user. (*)
|
||||
5. A Balance Oracle is deployed for determining the Reward balance of each user. (\*)
|
||||
|
||||

|
||||
|
||||
(*) A Balance Oracle is implemented retroactively, and depends on how state has been corrupted. For example, if state used to compute rewards is not corrupted, then it would be used by the oracle. Conversely, if this state is corrupted, we may need to reconstruct balances from previous state. (No balance oracle is required for ZRX.)
|
||||
(\*) A Balance Oracle is implemented retroactively, and depends on how state has been corrupted. For example, if state used to compute rewards is not corrupted, then it would be used by the oracle. Conversely, if this state is corrupted, we may need to reconstruct balances from previous state. (No balance oracle is required for ZRX.)
|
||||
|
||||
## Contracts Directory Structure
|
||||
|
||||
|
@@ -32,8 +32,8 @@ import * as MixinScheduler from '../generated-artifacts/MixinScheduler.json';
|
||||
import * as MixinStake from '../generated-artifacts/MixinStake.json';
|
||||
import * as MixinStakeBalances from '../generated-artifacts/MixinStakeBalances.json';
|
||||
import * as MixinStakingPool from '../generated-artifacts/MixinStakingPool.json';
|
||||
import * as MixinStakingPoolRewardVault from '../generated-artifacts/MixinStakingPoolRewardVault.json';
|
||||
import * as MixinStakingPoolRewards from '../generated-artifacts/MixinStakingPoolRewards.json';
|
||||
import * as MixinStakingPoolRewardVault from '../generated-artifacts/MixinStakingPoolRewardVault.json';
|
||||
import * as MixinStorage from '../generated-artifacts/MixinStorage.json';
|
||||
import * as MixinTimelockedStake from '../generated-artifacts/MixinTimelockedStake.json';
|
||||
import * as MixinVaultCore from '../generated-artifacts/MixinVaultCore.json';
|
||||
|
Reference in New Issue
Block a user