Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: typos #29

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions developer/arbitration-by-example/twopartyarbitrable.sol.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ pragma solidity ^0.4.15;
import "./Arbitrable.sol";

/** @title Two-Party Arbitrable
* @dev A contract between two parties which can be arbitrated. Both parties has to pay for the arbitration fee. The winning party will get its fee refunded.
* @dev A contract between two parties which can be arbitrated. Both parties have to pay for the arbitration fee. The winning party will get its fee refunded.
* To develop a contract inheriting from this one, you need to:
* - Redefine RULING_OPTIONS to explain the consequences of the possible rulings.
* - Redefine executeRuling while still calling super.executeRuling to implement the results of the arbitration.
Expand All @@ -32,14 +32,14 @@ contract TwoPartyArbitrable is Arbitrable {

enum Party {PartyA, PartyB}

/** @dev Indicate that a party has to pay a fee or would otherwise be considered as loosing.
/** @dev Indicate that a party has to pay a fee or would otherwise be considered as losing.
* @param _party The party who has to pay.
*/
event HasToPayFee(Party _party);

/** @dev Constructor. Choose the arbitrator.
* @param _arbitrator The arbitrator of the contract.
* @param _timeout Time after which a party automatically loose a dispute.
* @param _timeout Time after which a party automatically lose a dispute.
* @param _partyB The recipient of the transaction.
* @param _amountOfChoices The number of ruling options available.
* @param _arbitratorExtraData Extra data for the arbitrator.
Expand Down Expand Up @@ -79,7 +79,7 @@ contract TwoPartyArbitrable is Arbitrable {
require(status < Status.DisputeCreated, "Dispute has already been created."); // Make sure a dispute has not been created yet.

lastInteraction = now;
// The partyB still has to pay. This can also happens if he has paid, but arbitrationCost has increased.
// The partyB still has to pay. This can also happen if he has paid, but arbitrationCost has increased.
if (partyBFee < arbitrationCost) {
status = Status.WaitingPartyB;
emit HasToPayFee(Party.PartyB);
Expand All @@ -102,7 +102,7 @@ contract TwoPartyArbitrable is Arbitrable {
require(status < Status.DisputeCreated, "Dispute has already been created."); // Make sure a dispute has not been created yet.

lastInteraction = now;
// The partyA still has to pay. This can also happens if he has paid, but arbitrationCost has increased.
// The partyA still has to pay. This can also happen if he has paid, but arbitrationCost has increased.
if (partyAFee < arbitrationCost) {
status = Status.WaitingPartyA;
emit HasToPayFee(Party.PartyA);
Expand Down Expand Up @@ -155,8 +155,8 @@ contract TwoPartyArbitrable is Arbitrable {
arbitrator.appeal.value(msg.value)(disputeID,_extraData);
}

/** @dev Execute a ruling of a dispute. It reimburse the fee to the winning party.
* This need to be extended by contract inheriting from it.
/** @dev Execute a ruling of a dispute. It reimburses the fee to the winning party.
* This needs to be extended by contract inheriting from it.
* @param _disputeID ID of the dispute in the Arbitrator contract.
* @param _ruling Ruling given by the arbitrator. 1 : Reimburse the partyA. 2 : Pay the partyB.
*/
Expand Down
2 changes: 1 addition & 1 deletion developer/guide-for-preparing-transactions.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ Javascript Court: /ipfs/Qme15AUfpvLX3iwEtqswe26PQHMmKnF4eWGywBPqbkdqcD/xDai-Java

### Presenting Transactions:

* Make a copy of this [template](https://docs.google.com/document/d/1av-IU5aKwRFzKhktdVNAlkt12sozows6uBapj1T-lq8/edit?usp=sharing) and fill in the necessary informaton.
* Make a copy of this [template](https://docs.google.com/document/d/1av-IU5aKwRFzKhktdVNAlkt12sozows6uBapj1T-lq8/edit?usp=sharing) and fill in the necessary information.
* If submitting through **Discord** tag @xpriment626 and share the link to your doc.
* If submitting through **Telegram** tag @clesaege and share the link to your doc.
* If submitting through **Slack** share the link to your doc on the public #dev channel.
8 changes: 4 additions & 4 deletions developer/light-curate.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ Light Curate is a new version of the contract that significantly decreases costs

## Development

This section will be devided into 3 sections:
This section will be divided into 3 sections:

1- Fetching Parameters: Your UI needs to display some important information to the users such as, what is the bounty for successfuly challenges and how long do items stay in the challenge period. 1- Item Submission: Here you will learn how to build a button to submit an item to the UI. 2- Fetching Items: How to view items and item details. 3- Item Interaction: This includes challenging, submitting evidence and crowdfunding appeals.
1- Fetching Parameters: Your UI needs to display some important information to the users such as, what is the bounty for successful challenges and how long do items stay in the challenge period. 1- Item Submission: Here you will learn how to build a button to submit an item to the UI. 2- Fetching Items: How to view items and item details. 3- Item Interaction: This includes challenging, submitting evidence and crowdfunding appeals.

### Fetching Parameters

Expand Down Expand Up @@ -166,7 +166,7 @@ async function jsonStreamToPromise(stream) {
}
```

The JSON file for the object is composed of the its metadata and fields.
The JSON file for the object is composed of its metadata and fields.

* Metadata \(columns\): An array describing each of the items columns \(what's its type, name, description, etc.\)
* Values \(values\): An object mapping the column name to the value.
Expand Down Expand Up @@ -247,7 +247,7 @@ const tx = await gtcr.addItem(ipfsEvidencePath, {

> We break down this section into two as list views and details view have different requirements.

Fetchin items is best done via the subgraph we provide. If you deployed an list using the factory, it already has a subgraph deployed and available \(here\)\[[https://thegraph.com/explorer/subgraph/kleros/light-curate-kovan](https://thegraph.com/explorer/subgraph/kleros/light-curate-kovan)\].
Fetching items is best done via the subgraph we provide. If you deployed a list using the factory, it already has a subgraph deployed and available \(here\)\[[https://thegraph.com/explorer/subgraph/kleros/light-curate-kovan](https://thegraph.com/explorer/subgraph/kleros/light-curate-kovan)\].

#### List

Expand Down
4 changes: 2 additions & 2 deletions integrations/industry-use-cases/blockchain-wallets.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ description: Secure and decentralized data sources for blockchain wallets

With the number of smart contract exploits and hacks getting higher than ever, it is more important than ever to be able to provide wallet users with reliable and meaningful contract information before they perform any transaction.&#x20;

The number of deployed smart contracts on Ethereum alone number in the millions, and wallet providers often have have to rely on data sources sourced from centralized parties, or turn to crowd-sourced but insecure public lists.&#x20;
The number of deployed smart contracts on Ethereum alone number in the millions, and wallet providers often have to rely on data sources sourced from centralized parties, or turn to crowd-sourced but insecure public lists.&#x20;

Kleros solves this problem with it's fully trustless and permissionless data registries built specially for blockchain wallets.
Kleros solves this problem with its fully trustless and permissionless data registries built especially for blockchain wallets.

## **How Kleros can be used**

Expand Down
4 changes: 2 additions & 2 deletions pnk-token.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,11 @@ So far, this would still be true if we had potential jurors stake ETH instead of

### PNK makes an attack hard <a href="#5cc3" id="5cc3"></a>

If would-be jurors were drawn based on how much ETH they had staked (rather than PNK), it would be much more viable for an attacker to try to buy enough ETH to outspend the rest of the market. If an attacker wants to obtain 51% of PNK, market liquidity will dry up. As the attacker buys PNK , it will start to become scarce and each additional PNK will cost more and more. The attacker may not even be able to find 51% of PNK for sale on the open market at any given time.
If would-be jurors were drawn based on how much ETH they had staked (rather than PNK), it would be much more viable for an attacker to try to buy enough ETH to outspend the rest of the market. If an attacker wants to obtain 51% of PNK, market liquidity will dry up. As the attacker buys PNK, it will start to become scarce and each additional PNK will cost more and more. The attacker may not even be able to find 51% of PNK for sale on the open market at any given time.

In contrast, consider the situation of an attacker who wants to buy enough ETH to make a stake that is greater than whatever would be already staked in Kleros courts at a given time. There is a lot of ETH floating around, and Kleros will presumably only represent a part of the broader Ethereum ecosystem.

[Current 24 hour market volumes for ETH are hovering around 2–3 billion USD with all time highs near 10 billion.](https://coinmarketcap.com/currencies/ethereum/) If someone wanted to buy enough ETH to overwhelm whatever is staked in Kleros, it probably wouldn’t take them all that long. Moreover, the market for ETH is much [deeper](https://en.wikipedia.org/wiki/Market\_depth) than the market for PNK will be. So, while a large purchase of ETH might move the price of ETH a bit, market liquidity effects woudn’t come to Kleros’ defense in the same way as they do by having a native token.
[Current 24 hour market volumes for ETH are hovering around 2–3 billion USD with all time highs near 10 billion.](https://coinmarketcap.com/currencies/ethereum/) If someone wanted to buy enough ETH to overwhelm whatever is staked in Kleros, it probably wouldn’t take them all that long. Moreover, the market for ETH is much [deeper](https://en.wikipedia.org/wiki/Market\_depth) than the market for PNK will be. So, while a large purchase of ETH might move the price of ETH a bit, market liquidity effects wouldn’t come to Kleros’ defense in the same way as they do by having a native token.

### PNK makes an attack expensive <a href="#78fc" id="78fc"></a>

Expand Down
2 changes: 1 addition & 1 deletion products/court/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The Kleros court process works in the following way:

* Once a Dapp sends a dispute, the system randomly picks jurors in a court specified for the case in question.
* The case enters the evidence submission period where all interested parties (disputing parties, jurors, challengers, and any external agent) are able to submit their evidence.
* After the evidence period is finished, jurors are able to vote on the case. For now, Kleros jurors can vote 'Yes', 'No' and 'Refuse to Arbitrate'. The third option is available in cases of an invalid submissions, illegal or morally unacceptable content or evidence.
* After the evidence period is finished, jurors are able to vote on the case. For now, Kleros jurors can vote 'Yes', 'No' and 'Refuse to Arbitrate'. The third option is available in cases of an invalid submission, illegal or morally unacceptable content or evidence.

![](../../.gitbook/assets/kleros-arbitration.png)

Expand Down
2 changes: 1 addition & 1 deletion products/court/famous-kleros-cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ Baer Chain was then classified as a Ponzi scheme by the Chinese government a few

![](<../../.gitbook/assets/image (62).png>)

Proof of Humanity is a Sybil-resistant list of humans using social vouching and Kleros arbitration to endure no fake/duplicate/incorrect profiles make it into the regisrty. [Kevin Owocki](https://twitter.com/owocki?lang=fr), the founder of [Gitcoin](https://gitcoin.co), submitted his [profile ](https://app.proofofhumanity.id/profile/0x00de4b13153673bcae2616b67bf822500d325fc3?network=mainnet)into PoH but got challenged because the policy asked for a "front-facing picture" and he provided one where he was looking at an angle from the photograph. Long debates ensued to clarify what a front-facing picture meant and what would an acceptable angle be. The profile was finally rejected but Kevin Owocki was of course able to submit another one and make it into the registry.
Proof of Humanity is a Sybil-resistant list of humans using social vouching and Kleros arbitration to endure no fake/duplicate/incorrect profiles make it into the registry. [Kevin Owocki](https://twitter.com/owocki?lang=fr), the founder of [Gitcoin](https://gitcoin.co), submitted his [profile ](https://app.proofofhumanity.id/profile/0x00de4b13153673bcae2616b67bf822500d325fc3?network=mainnet)into PoH but got challenged because the policy asked for a "front-facing picture" and he provided one where he was looking at an angle from the photograph. Long debates ensued to clarify what a front-facing picture meant and what would an acceptable angle be. The profile was finally rejected but Kevin Owocki was of course able to submit another one and make it into the registry.

{% hint style="info" %}
**Examples of evidence material:‌**
Expand Down
4 changes: 2 additions & 2 deletions products/proof-of-humanity/poh-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ If your profile isn’t challenged during this period or the challenges are not

If you are challenged, you will either go back to “Pending Registration” phase or be “Removed” depending on the ruling of Kleros Court.

Once you are “Registered”, your profile can either expire after a year (if you don’t reapply) or someone can make a request for removal which will move it to the “Pending removal” phase during when anyone can challenge the removal.
Once you are “Registered”, your profile can either expire after a year (if you don’t reapply) or someone can make a request for removal which will move it to the “Pending removal” phase during which anyone can challenge the removal.

If your profile is “Expired”, “Removed” or about to expire soon, you can reapply for submission which will bring you back to the “Vouching Phase”

![Simplified phase transitions of a profile in PoH (without appeals).](https://lh6.googleusercontent.com/b\_2pVuJKBR1w-SxU95uvjJ27NVynA3jWtO4lF2DGYlLYNT39-xez\_YNySzUMTYkzgvHke4S6M-1IJbWXWNuGm1WAIxlNOuqudpzrBsOngx59AfSot93wAAvddJ8CQtPC0ViSycpg)

You can learn more about how the challenge and the dispute resolution system works in Kleros Court [documentation](https://kleros.gitbook.io/docs/products/court).
You can learn more about how the challenge and the dispute resolution system work in Kleros Court [documentation](https://kleros.gitbook.io/docs/products/court).

## Why should I vouch for someone? What's in it for me?

Expand Down