adds check, fixes links (#124)

This commit is contained in:
Dean Eigenmann 2020-05-21 11:44:13 +02:00 committed by GitHub
parent 2b0604077d
commit c22a9e8d5e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 178 additions and 187 deletions

View File

@ -1,6 +1,7 @@
{ {
"presets": ["lint-recommended", "lint-consistent"], "presets": ["lint-recommended", "lint-consistent"],
"plugins": { "plugins": {
"validate-links": {"repository": false},
"remark-lint": { "remark-lint": {
"unordered-list-marker-style": "consistent", "unordered-list-marker-style": "consistent",
"list-item-bullet-indent": true, "list-item-bullet-indent": true,
@ -12,13 +13,15 @@
"heading-increment": false, "heading-increment": false,
"no-multiple-toplevel-headings": true, "no-multiple-toplevel-headings": true,
"no-consecutive-blank-lines": false, "no-consecutive-blank-lines": false,
"maximum-line-length": 9000,
"maximum-heading-length": 300, "maximum-heading-length": 300,
"no-heading-punctuation": false, "no-heading-punctuation": false,
"no-duplicate-headings": false, "no-duplicate-headings": false,
"emphasis-marker": "*", "emphasis-marker": "*",
"no-tabs": true, "no-tabs": true,
"blockquote-indentation": false, "blockquote-indentation": false,
"strong-marker": "*" "strong-marker": "*",
"heading-style": "atx"
} }
}, },
"settings": { "settings": {

View File

@ -12,7 +12,6 @@ title: 3/WHISPER-USAGE
> >
> Authors: Adam Babik <adam@status.im>, Andrea Maria Piana <andreap@status.im>, Corey Petty <corey@status.im>, Oskar Thorén <oskar@status.im> (alphabetical order) > Authors: Adam Babik <adam@status.im>, Andrea Maria Piana <andreap@status.im>, Corey Petty <corey@status.im>, Oskar Thorén <oskar@status.im> (alphabetical order)
- [Status Whisper Usage Specification](#status-whisper-usage-specification)
- [Abstract](#abstract) - [Abstract](#abstract)
- [Reason](#reason) - [Reason](#reason)
- [Terminology](#terminology) - [Terminology](#terminology)
@ -29,7 +28,7 @@ title: 3/WHISPER-USAGE
- [Message confirmations](#message-confirmations) - [Message confirmations](#message-confirmations)
- [Whisper V6 extensions](#whisper-v6-extensions) - [Whisper V6 extensions](#whisper-v6-extensions)
- [Request historic messages](#request-historic-messages) - [Request historic messages](#request-historic-messages)
- [shhext_requestMessages](#shhextrequestmessages) - [shhext_requestMessages](#shhext_requestmessages)
- [Changelog](#changelog) - [Changelog](#changelog)
## Abstract ## Abstract

View File

@ -23,7 +23,6 @@ as various clients created using different technologies.
## Table of Contents ## Table of Contents
- [Status Message Payloads Specification](#status-message-payloads-specification)
- [Abstract](#abstract) - [Abstract](#abstract)
- [Table of Contents](#table-of-contents) - [Table of Contents](#table-of-contents)
- [Introduction](#introduction) - [Introduction](#introduction)
@ -339,7 +338,7 @@ message PairInstallation {
### MembershipUpdateMessage and MembershipUpdateEvent ### MembershipUpdateMessage and MembershipUpdateEvent
`MembershipUpdateEvent` is a message used to propagate information about group membership changes in a group chat. `MembershipUpdateEvent` is a message used to propagate information about group membership changes in a group chat.
The details are in the [Group chats specs](status-group-chats-spec.md) The details are in the [Group chats specs](./7-group-chat.md)
## Upgradability ## Upgradability

View File

@ -20,13 +20,13 @@ title: 7/GROUP-CHAT
- [Chat ID](#chat-id) - [Chat ID](#chat-id)
- [Signature](#signature) - [Signature](#signature)
- [Group membership event](#group-membership-event) - [Group membership event](#group-membership-event)
- [chat-created](#chat-created) - [chat-created](#chat_created)
- [name-changed](#name-changed) - [name-changed](#name_changed)
- [members-added](#members-added) - [members-added](#members_added)
- [members-joined](#members-joined) - [members-joined](#member_joined)
- [admins-added](#admins-added) - [admins-added](#admins_added)
- [members-removed](#members-removed) - [members-removed](#member_removed)
- [admin-removed](#admin-removed) - [admin-removed](#admin_removed)
## Abstract ## Abstract
@ -83,7 +83,7 @@ message MembershipUpdateEvent {
| ----- | ---- | ---- | ---- | | ----- | ---- | ---- | ---- |
| 1 | chat-id | `string` | The chat id of the chat where the change is to take place | | 1 | chat-id | `string` | The chat id of the chat where the change is to take place |
| 2 | events | See details | A list of events that describe the membership changes, in their encoded protobuf form | | 2 | events | See details | A list of events that describe the membership changes, in their encoded protobuf form |
| 3 | message | `ChatMessage` | An optional message, described in [Message](#message) | | 3 | message | `ChatMessage` | An optional message, described in [Message](./6-payloads.md#message) |
`MembershipUpdateEvent`: `MembershipUpdateEvent`:

View File

@ -17,7 +17,7 @@ title: 9/3RD-PARTY-USAGE
## Table of Contents ## Table of Contents
1. [Abstract](Abstract) 1. [Abstract](#abstract)
2. [Definitions](#definitions) 2. [Definitions](#definitions)
3. [Why 3rd party API can be a problem?](#why-3rd-party-api-can-be-a-problem) 3. [Why 3rd party API can be a problem?](#why-3rd-party-api-can-be-a-problem)
4. [3rd party APIs used by Status](#3rd-party-apis-used-by-current-status-app) 4. [3rd party APIs used by Status](#3rd-party-apis-used-by-current-status-app)
@ -31,6 +31,7 @@ title: 9/3RD-PARTY-USAGE
7. [Copyright](#copyright) 7. [Copyright](#copyright)
## Abstract ## Abstract
In this specification, we discuss 3rd party APIs that Status relies on. These APIs provide various capabilities such as: In this specification, we discuss 3rd party APIs that Status relies on. These APIs provide various capabilities such as:
- communicate with the Ethereum network - communicate with the Ethereum network
- allow users to see address and transaction details on external website - allow users to see address and transaction details on external website

View File

@ -87,7 +87,7 @@ To install a sticker pack, we need to fetch all sticker packs which are availabl
Call `packCount()` on the sticker market contract, will return number of sticker pack registered as `uint256`. Call `packCount()` on the sticker market contract, will return number of sticker pack registered as `uint256`.
#### 2. Get sticker pack by id #### 2. Get sticker pack by id
ID's are represented as `uint256` and are incremental from `0` to total number of sticker packs in contract, which we received on previous step. To get a sticker pack we should call `getPackData(sticker-pack-id)`, the return type is `["bytes4[]" "address" "bool" "uint256" "uint256" "bytes"]` which represents the following fields: `[category owner mintable timestamp price contenthash]`. Price is the SNT value in wei set by sticker pack owner. The contenthash is the IPFS address described in the [submit description](#submit-a-sticker-pack) above. Other fields specification could be found in [Sticker Market spec](https://github.com/status-im/sticker-market/blob/651e88e5f38c690e57ecaad47f46b9641b8b1e27/docs/specification.md) ID's are represented as `uint256` and are incremental from `0` to total number of sticker packs in contract, which we received on previous step. To get a sticker pack we should call `getPackData(sticker-pack-id)`, the return type is `["bytes4[]" "address" "bool" "uint256" "uint256" "bytes"]` which represents the following fields: `[category owner mintable timestamp price contenthash]`. Price is the SNT value in wei set by sticker pack owner. The contenthash is the IPFS address described in the [submit description](#submit-a-sticker) above. Other fields specification could be found in [Sticker Market spec](https://github.com/status-im/sticker-market/blob/651e88e5f38c690e57ecaad47f46b9641b8b1e27/docs/specification.md)
##### 3. Get owned sticker packs ##### 3. Get owned sticker packs
The current Status app fetches owned sticker packs during the open of any sticker view (a screen which shows a sticker pack or the list of sticker packs). The current Status app fetches owned sticker packs during the open of any sticker view (a screen which shows a sticker pack or the list of sticker packs).

View File

@ -25,7 +25,6 @@ have to be implemented in order to be a full Status client. The second gives a d
## Table of Contents ## Table of Contents
- [Status Client Specification](#status-client-specification)
- [Abstract](#abstract) - [Abstract](#abstract)
- [Table of Contents](#table-of-contents) - [Table of Contents](#table-of-contents)
- [Introduction](#introduction) - [Introduction](#introduction)
@ -62,6 +61,8 @@ have to be implemented in order to be a full Status client. The second gives a d
- [Censorship resistance](#censorship-resistance) - [Censorship resistance](#censorship-resistance)
- [Acknowledgments](#acknowledgments) - [Acknowledgments](#acknowledgments)
## Introduction
### Protocol layers ### Protocol layers
Implementing a Status clients largely means implementing the following layers. Additionally, there are separate specifications for things like key management and account lifecycle. Implementing a Status clients largely means implementing the following layers. Additionally, there are separate specifications for things like key management and account lifecycle.
@ -124,18 +125,18 @@ Status maintains a list of production fleet bootstrap nodes in the following loc
**Hong Kong:** **Hong Kong:**
- `enode://6e6554fb3034b211398fcd0f0082cbb6bd13619e1a7e76ba66e1809aaa0c5f1ac53c9ae79cf2fd4a7bacb10d12010899b370c75fed19b991d9c0cdd02891abad@47.75.99.169:443` - `enode://6e6554fb3034b211398fcd0f0082cbb6bd13619e1a7e76ba66e1809aaa0c5f1ac53c9ae79cf2fd4a7bacb10d12010899b370c75fed19b991d9c0cdd02891abad@47.75.99.169:443`
- `enode://23d0740b11919358625d79d4cac7d50a34d79e9c69e16831c5c70573757a1f5d7d884510bc595d7ee4da3c1508adf87bbc9e9260d804ef03f8c1e37f2fb2fc69@47.52.106.107:443` - `enode://23d0740b11919358625d79d4cac7d50a34d79e9c69e16831c5c70573757a1f5d7d884510bc595d7ee4da3c1508adf87bbc9e9260d804ef03f8c1e37f2fb2fc69@47.52.106.107:443`
**Amsterdam:** **Amsterdam:**
- `enode://436cc6f674928fdc9a9f7990f2944002b685d1c37f025c1be425185b5b1f0900feaf1ccc2a6130268f9901be4a7d252f37302c8335a2c1a62736e9232691cc3a@178.128.138.128:443` - `enode://436cc6f674928fdc9a9f7990f2944002b685d1c37f025c1be425185b5b1f0900feaf1ccc2a6130268f9901be4a7d252f37302c8335a2c1a62736e9232691cc3a@178.128.138.128:443`
- `enode://5395aab7833f1ecb671b59bf0521cf20224fe8162fc3d2675de4ee4d5636a75ec32d13268fc184df8d1ddfa803943906882da62a4df42d4fccf6d17808156a87@178.128.140.188:443` - `enode://5395aab7833f1ecb671b59bf0521cf20224fe8162fc3d2675de4ee4d5636a75ec32d13268fc184df8d1ddfa803943906882da62a4df42d4fccf6d17808156a87@178.128.140.188:443`
**Central US:** **Central US:**
- `enode://32ff6d88760b0947a3dee54ceff4d8d7f0b4c023c6dad34568615fcae89e26cc2753f28f12485a4116c977be937a72665116596265aa0736b53d46b27446296a@34.70.75.208:443` - `enode://32ff6d88760b0947a3dee54ceff4d8d7f0b4c023c6dad34568615fcae89e26cc2753f28f12485a4116c977be937a72665116596265aa0736b53d46b27446296a@34.70.75.208:443`
- `enode://5405c509df683c962e7c9470b251bb679dd6978f82d5b469f1f6c64d11d50fbd5dd9f7801c6ad51f3b20a5f6c7ffe248cc9ab223f8bcbaeaf14bb1c0ef295fd0@35.223.215.156:443` - `enode://5405c509df683c962e7c9470b251bb679dd6978f82d5b469f1f6c64d11d50fbd5dd9f7801c6ad51f3b20a5f6c7ffe248cc9ab223f8bcbaeaf14bb1c0ef295fd0@35.223.215.156:443`
These bootstrap nodes MAY change and we can't guarantee that it will stay this way forever These bootstrap nodes MAY change and we can't guarantee that it will stay this way forever
and at some point we might be forced to change them. and at some point we might be forced to change them.
@ -274,10 +275,10 @@ computer.
Whisper is not currently under active development, and it has several drawbacks. Whisper is not currently under active development, and it has several drawbacks.
Among others: Among others:
- It is very wasteful bandwidth-wise and it doesn't appear to be scalable - It is very wasteful bandwidth-wise and it doesn't appear to be scalable
- Proof of work is a poor spam protection mechanism for heterogeneous devices - Proof of work is a poor spam protection mechanism for heterogeneous devices
- The privacy guarantees provided are not rigorous - The privacy guarantees provided are not rigorous
- There's no incentives to run a node - There's no incentives to run a node
Finding a more suitable transport privacy is an ongoing research effort, Finding a more suitable transport privacy is an ongoing research effort,
together with [Vac](https://vac.dev/vac-overview) and other teams in the space. together with [Vac](https://vac.dev/vac-overview) and other teams in the space.

View File

@ -28,7 +28,6 @@ In this specification we explain what Status account is, and how trust is establ
- [X3DH Prekey bundles](#x3dh-prekey-bundles) - [X3DH Prekey bundles](#x3dh-prekey-bundles)
- [Optional Account additions](#optional-account-additions) - [Optional Account additions](#optional-account-additions)
- [ENS Username](#ens-username) - [ENS Username](#ens-username)
- [User Profile Picture](#user-profile-picture)
- [Trust establishment](#trust-establishment) - [Trust establishment](#trust-establishment)
- [Terms Glossary](#terms-glossary) - [Terms Glossary](#terms-glossary)
- [Contact Discovery](#contact-discovery) - [Contact Discovery](#contact-discovery)
@ -37,7 +36,6 @@ In this specification we explain what Status account is, and how trust is establ
- [Initial Key Exchange](#initial-key-exchange) - [Initial Key Exchange](#initial-key-exchange)
- [Contact Request](#contact-request) - [Contact Request](#contact-request)
- [Bundles](#bundles) - [Bundles](#bundles)
- [QR code](#qr-code)
- [Contact Verification](#contact-verification) - [Contact Verification](#contact-verification)
- [Identicon](#identicon) - [Identicon](#identicon)
- [3 word pseudonym / whisper key fingerprint](#3-word-pseudonym--whisper-key-fingerprint) - [3 word pseudonym / whisper key fingerprint](#3-word-pseudonym--whisper-key-fingerprint)

View File

@ -12,7 +12,6 @@ title: 3/WHISPER-USAGE
> >
> Authors: Adam Babik <adam@status.im>, Corey Petty <corey@status.im>, Oskar Thorén <oskar@status.im> (alphabetical order) > Authors: Adam Babik <adam@status.im>, Corey Petty <corey@status.im>, Oskar Thorén <oskar@status.im> (alphabetical order)
- [Status Whisper Usage Specification](#status-whisper-usage-specification)
- [Abstract](#abstract) - [Abstract](#abstract)
- [Reason](#reason) - [Reason](#reason)
- [Terminology](#terminology) - [Terminology](#terminology)
@ -24,14 +23,12 @@ title: 3/WHISPER-USAGE
- [Contact code topic](#contact-code-topic) - [Contact code topic](#contact-code-topic)
- [Partitioned topic](#partitioned-topic) - [Partitioned topic](#partitioned-topic)
- [Public chats](#public-chats) - [Public chats](#public-chats)
- [Generic discovery topic](#generic-discovery-topic)
- [One-to-one topic](#one-to-one-topic)
- [Group chat topic](#group-chat-topic) - [Group chat topic](#group-chat-topic)
- [Message encryption](#message-encryption) - [Message encryption](#message-encryption)
- [Message confirmations](#message-confirmations) - [Message confirmations](#message-confirmations)
- [Whisper V6 extensions](#whisper-v6-extensions) - [Whisper V6 extensions](#whisper-v6-extensions)
- [Request historic messages](#request-historic-messages) - [Request historic messages](#request-historic-messages)
- [shhext_requestMessages](#shhextrequestmessages) - [shhext_requestMessages](#shhext_requestmessages)
## Abstract ## Abstract

View File

@ -12,7 +12,6 @@ title: 4/WHISPER-MAILSERVER
> >
> Authors: Adam Babik <adam@status.im>, Oskar Thorén <oskar@status.im> (alphabetical order) > Authors: Adam Babik <adam@status.im>, Oskar Thorén <oskar@status.im> (alphabetical order)
- [Status Whisper Mailserver Specification](#status-whisper-mailserver-specification)
- [Abstract](#abstract) - [Abstract](#abstract)
- [Mailserver](#mailserver) - [Mailserver](#mailserver)
- [Archiving messages](#archiving-messages) - [Archiving messages](#archiving-messages)

View File

@ -49,11 +49,6 @@ It builds on the [X3DH](https://signal.org/docs/specifications/x3dh/) and [Doubl
- [Sending messages to a paired group](#sending-messages-to-a-paired-group) - [Sending messages to a paired group](#sending-messages-to-a-paired-group)
- [Account recovery](#account-recovery) - [Account recovery](#account-recovery)
- [Partitioned devices](#partitioned-devices) - [Partitioned devices](#partitioned-devices)
- [Trust establishment](#trust-establishment)
- [Contact request](#contact-request)
- [Expired session](#expired-session)
- [Stale devices](#stale-devices)
## Introduction ## Introduction
@ -80,13 +75,13 @@ Types used in this specification are defined using [Protobuf](https://developers
### Transport Layer ### Transport Layer
[Whisper](./status-whisper-usage-spec.md) serves as the transport layer for the Status chat protocol. [Whisper](./3-whisper-usage.md) serves as the transport layer for the Status chat protocol.
### User flow for 1-to-1 communications ### User flow for 1-to-1 communications
#### Account generation #### Account generation
See [Account specification](./status-account-spec.md) See [Account specification](./2-account.md)
#### Account recovery #### Account recovery

View File

@ -23,7 +23,6 @@ as various clients created using different technologies.
## Table of Contents ## Table of Contents
- [Status Message Payloads Specification](#status-message-payloads-specification)
- [Abstract](#abstract) - [Abstract](#abstract)
- [Table of Contents](#table-of-contents) - [Table of Contents](#table-of-contents)
- [Introduction](#introduction) - [Introduction](#introduction)
@ -319,7 +318,7 @@ message PairInstallation {
### MembershipUpdateMessage and MembershipUpdateEvent ### MembershipUpdateMessage and MembershipUpdateEvent
`MembershipUpdateEvent` is a message used to propagate information about group membership changes in a group chat. `MembershipUpdateEvent` is a message used to propagate information about group membership changes in a group chat.
The details are in the [Group chats specs](status-group-chats-spec.md) The details are in the [Group chats specs](./../draft/7-group-chat.md)
## Upgradability ## Upgradability

View File

@ -17,7 +17,6 @@ title: 8/EIPS
In this specification, we describe how Status relates with EIPs. In this specification, we describe how Status relates with EIPs.
## Table of Contents ## Table of Contents
- [Status EIPs standards ](#status-client-specification)
- [Abstract](#abstract) - [Abstract](#abstract)
- [Table of Contents](#table-of-contents) - [Table of Contents](#table-of-contents)
- [Introduction](#introduction) - [Introduction](#introduction)

View File

@ -3,7 +3,8 @@
"dependencies": { "dependencies": {
"remark-cli": "^6.0.1", "remark-cli": "^6.0.1",
"remark-lint": "^6.0.2", "remark-lint": "^6.0.2",
"remark-preset-lint-recommended": "^3.0.2" "remark-preset-lint-recommended": "^3.0.2",
"remark-validate-links": "^10.0.0"
}, },
"scripts": { "scripts": {
"lint": "remark ." "lint": "remark ."