This commit is contained in:
Team1 2023-04-17 17:13:40 +00:00
parent 3f83d470b8
commit 39169ceec3
27 changed files with 312 additions and 161 deletions

9
DCIPs/dcip-1.md Normal file
View File

@ -0,0 +1,9 @@
---
dcip: 1
title: DCIP-1(unfinished) DCIP Purpose and Guidelines
author: Omar Octavio Huerta Valdez (@bleeckersteker)
status: Living
type: Standards Track
category: Core
created:
---

133
DCIPs/dcip-2.md Normal file
View File

@ -0,0 +1,133 @@
---
dcip: 2
title: DCIP-2 Meetings
author: David E. Perez Negron R. (@P1R)
status: Final
type: Standards Track
category: Core
created: 2023-02-01
---
## Simple Summary
Agile Meeting, types, organization and incentives.
## Abstract
The Proposal is an extension from the DCF DAO Phase0 time measurements proposal to be implemented at the DCF DAO Phase1. There where DCF Agile mandatory meetings, but also some community request meetings and emergency or extra meetings online or even AFK at the foundation office. This proposal intends to Standarize the way meetings can be measured, whichones are mandatory and make them as more agile as possible.
## Motivation
To have more agile, responsable and organized meetings.
## Specification: meeting types, participant types and incentives
### 1. Mandatory Meetings (Agile):
For the members which are asociated to the foundation, gets incentives by the foundation/projects and/or donates work, requires a constant comunication and organization, this members are responsable to attend **at least 75% and being active participant** of the mandatory meetings which are the following:
The 60 min calls are on 19:00 Mexico City time are Mondays. Topics to perform:
* Review the last sprint tasks and approve the economic incentive by the DAO.
* Fill a balance Sheet/Table for each participant and his tasks with the project and total finished task added balance.
* Asign task for the current sprint (week) between the team members and areas (currenty Administration and Development).
* Brainstorm an approach by consensus an estimate economic incentive for the tasks developers.
>Sprint tasks must be considered either as finished or functional. They should not be considered if they are partially done or something that is not proven to be functional.
The 15 min calls on 19:00 Mexico City time are Tuesdays, Thursdays and Saturdays. Topics: Communication, Syncronization and Support between the team on the workflow and tasks
The 25% of the whole payment is for attending to this meetings which is the biggest responsibility for our workflow and communication. So anyone involved into the workflow should be at least at 75% of the measured calls time (t).
$$ t >= 315min $$
Any skipped minute will be slashed from the total payment as following this equation:
$$ TP = TTD * \dfrac{MA}{t}$$
where:
TP = Total Payment
TTD = Total Tasks Deliveries
MA = Minutes Attendance
t = Total of minutes calls for the month
>**Currently monthly total calls time is 420 minutes**
##### Extra considerations:
1.1. There is also Right to change one 15 min call right monthly (24Hrs before)
1.2. If the Minutes Attendance /420 = 1; there should be a consideration or badge for attendance with a future reward.
1.3. If some one attends less or equal to 75% of the meetings unjustified there should be a quorum to propose a solution in regards the issue.
1.4. Proposed by Bleecker. If the mandatory call extends there should be an incentive based on the incentives model section. The extension can only be at maximum 50% extra from the original schueduled time, other way there should be a rescheduled call.
##### The only situation where we can skip Minutes Attendance are:
* Medical issues which require a justification proof (not always from the same source medic since it can be part of a corruption model).
### 2. Community Calls
2.1. Community calls should be approved by the DAO.
2.2. Community Calls that can ensure income to the foundation either economical or by community work donation should be considered for an incentive to the Participants
2.3. Proposed by Bleecker. All comunity calls should have a total time scheduled, with no extra time added, the moderator and time set for the participants that will get incentives can be marked as active for the time they perform the community call.
### 3. Office or AFK Meetings
> All participants should be considered [`Active User`](#Active-User) since it is hard to fake out this type of meeting.
### Incentive and Participants types
**Justification**: Team Call incentives, meetings and others, should be consider more as simbolic since we are working on an already incentiviced tasks:
1. We do not want to promote useless long calls following the agile methodologies,
2. Incentives must not be too big but enough to promote teamwork, this is a proposed price to each individual (per hour on a specific task).
3. On mandatory calls unattendance or missing minutes attendance users should not be include into the incentive extra time.
#### Participative User
incentive: 1.4USD Hour.
> Note: To review how to verify participative person
#### Active User
Mostly a Speaker/ Moderator
incentive: 6USD Hour.
#### How to verify Participance?
##### Random Ping Pong verification
Proposed model by p1r0 where the Moderator ask random time random participation cuestion to random asistend to consider elegible to participative incentive.
## Implementation
DCF Phase0 Proposal was already implemented and tested while we found multiple issues that
## References
\[1\] P1R0; Bleecker,"DCF DAO Phase0", https://hackmd.io/A9LNZFTlQsC32gqDw1C7EQ, 01-2023.
## Copyright
```
Copyright (C) DECENTRALIZED CLIMATE FOUNDATION A.C.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".
```

9
DCIPs/dcip-3.md Normal file
View File

@ -0,0 +1,9 @@
---
dcip: 3
title: DCIP-3(unfinished) Tasks
author: David E. Perez Negron R. (@P1R)
status: Living
type: Standards Track
category: Core
created:
---

View File

@ -1,6 +1,6 @@
# Decentralized Climate Improvement Proposals (DCIPs)
The goal of the DCIP project is to standardize and provide high-quality documentation for Decentralized Climate itself and conventions built upon it. This repository tracks past and ongoing improvements to Decentralized Climate in the form of Decentralized Climate Improvement Proposals (DCIPs). [DCIP-1](dcips.decentralizedclimate.org/EIPS/dcip-1) governs how DCIPs are published.
The goal of the DCIP project is to standardize and provide high-quality documentation for Decentralized Climate itself and conventions built upon it. This repository tracks past and ongoing improvements to Decentralized Climate in the form of Decentralized Climate Improvement Proposals (DCIPs). [DCIP-1](dcips.decentralizedclimate.org/DCIPS/dcip-1) governs how DCIPs are published.
The [status page](https://dcips.decentralizedclimate.org/) tracks and lists DCIPs, which can be divided into the following categories:
@ -9,39 +9,39 @@ The [status page](https://dcips.decentralizedclimate.org/) tracks and lists DCIP
- [Interface DCIPs](https://dcips.decentralizedclimate.org/interface) standardize interfaces to Decentralized Climate, which determine how users and applications interact with the blockchain.
- [ERCs](https://dcips.decentralizedclimate.org/erc) specify application layer standards, which determine how applications running on Decentralized Climate can interact with each other.
- [Meta DCIPs](https://dcips.decentralizedclimate.org/meta) are miscellaneous improvements that nonetheless require some sort of consensus.
- [Informational DCIPs](https://eips.decentralizedclimate.org/informational) are non-standard improvements that do not require any form of consensus.
- [Informational DCIPs](https://dcips.decentralizedclimate.org/informational) are non-standard improvements that do not require any form of consensus.
**Before you write an DCIP, ideas MUST be thoroughly discussed on [Decentralized Climate Magicians](https://ethereum-magicians.org/) or [Decentralized Climate Research](https://ethresear.ch/t/read-this-before-posting/8). Once consensus is reached, thoroughly read and review [EIP-1](https://eips.ethereum.org/EIPS/eip-1), which describes the EIP process.**
**Before you write an DCIP, ideas MUST be thoroughly discussed on [Decentralized Climate Magicians](https://ethereum-magicians.org/) or [Decentralized Climate Research](https://ethresear.ch/t/read-this-before-posting/8). Once consensus is reached, thoroughly read and review [DCIP-1](https://dcips.ethereum.org/DCIPS/dcip-1), which describes the DCIP process.**
Please note that this repository is for documenting standards and not for help implementing them. These types of inquiries should be directed to the [Decentralized Climate Stack Exchange](https://ethereum.stackexchange.com). For specific questions and concerns regarding EIPs, it's best to comment on the relevant discussion thread of the EIP denoted by the `discussions-to` tag in the EIP's preamble.
Please note that this repository is for documenting standards and not for help implementing them. These types of inquiries should be directed to the [Decentralized Climate Stack Exchange](https://ethereum.stackexchange.com). For specific questions and concerns regarding DCIPs, it's best to comment on the relevant discussion thread of the DCIP denoted by the `discussions-to` tag in the DCIP's preamble.
If you would like to become an EIP Editor, please read [EIP-5069](./EIPS/eip-5069.md).
If you would like to become an DCIP Editor, please read [DCIP-5069](./DCIPS/dcip-5069.md).
## Preferred Citation Format
The canonical URL for an EIP that has achieved draft status at any point is at <https://eips.ethereum.org/>. For example, the canonical URL for EIP-1 is <https://eips.ethereum.org/EIPS/eip-1>.
The canonical URL for an DCIP that has achieved draft status at any point is at <https://dcips.ethereum.org/>. For example, the canonical URL for DCIP-1 is <https://dcips.ethereum.org/DCIPS/dcip-1>.
Consider any document not published at <https://eips.ethereum.org/> as a working paper. Additionally, consider published EIPs with a status of "draft", "review", or "last call" to be incomplete drafts, and note that their specification is likely to be subject to change.
Consider any document not published at <https://dcips.ethereum.org/> as a working paper. Additionally, consider published DCIPs with a status of "draft", "review", or "last call" to be incomplete drafts, and note that their specification is likely to be subject to change.
## Validation and Automerging
All pull requests in this repository must pass automated checks before they can be automatically merged:
- [eip-review-bot](https://github.com/ethereum/eip-review-bot/) determines when PRs can be automatically merged [^1]
- DCIP-1 rules are enforced using [`eipw`](https://github.com/ethereum/eipw)[^2]
- [dcip-review-bot](https://github.com/ethereum/dcip-review-bot/) determines when PRs can be automatically merged [^1]
- DCIP-1 rules are enforced using [`dcipw`](https://github.com/ethereum/dcipw)[^2]
- HTML formatting and broken links are enforced using [HTMLProofer](https://github.com/gjtorikian/html-proofer)[^2]
- Spelling is enforced with [CodeSpell](https://github.com/codespell-project/codespell)[^2]
- False positives sometimes occur. When this happens, please submit a PR editing [.codespell-whitelist](https://github.com/ethereum/EIPs/blob/master/config/.codespell-whitelist) and **ONLY** .codespell-whitelist
- False positives sometimes occur. When this happens, please submit a PR editing [.codespell-whitelist](https://github.com/ethereum/DCIPs/blob/master/config/.codespell-whitelist) and **ONLY** .codespell-whitelist
- Markdown best practices are checked using [markdownlint](https://github.com/DavidAnson/markdownlint)[^2]
[^1]: https://github.com/ethereum/EIPs/blob/master/.github/workflows/auto-review-bot.yml
[^2]: https://github.com/ethereum/EIPs/blob/master/.github/workflows/ci.yml
[^1]: https://github.com/ethereum/DCIPs/blob/master/.github/workflows/auto-review-bot.yml
[^2]: https://github.com/ethereum/DCIPs/blob/master/.github/workflows/ci.yml
It is possible to run the DCIP validator locally:
```sh
cargo install eipv
eipv <INPUT FILE / DIRECTORY>
cargo install dcipv
dcipv <INPUT FILE / DIRECTORY>
```
## Build the status page locally

View File

@ -27,7 +27,7 @@ header_pages:
- core.html
- networking.html
- interface.html
- erc.html
# - erc.html
- meta.html
- informational.html
@ -37,7 +37,7 @@ markdown: kramdown
theme: minima
kramdown:
parse_block_html: false
# This is the default, but be explicit as some EIPs depend on it
# This is the default, but be explicit as some DCIPs depend on it
auto_ids: true
# This is to ensure more determistic behaviour
auto_id_stripping: true
@ -48,7 +48,7 @@ permalink: /:slug
defaults:
-
scope:
path: "DCIPS"
path: "DCIPs"
values:
layout: "dcip"
@ -61,7 +61,7 @@ exclude:
- vendor/cache/
- vendor/gems/
- vendor/ruby/
- eip-template.md
- dcip-template.md
- ISSUE_TEMPLATE.md
- PULL_REQUEST_TEMPLATE.md
- README.md

4
_includes/dcipnums.html Normal file
View File

@ -0,0 +1,4 @@
{% assign dcips=include.dcips|split:"," %}
{% for dcipnum in dcips %}
<a href="{{dcipnum|strip|prepend:"dcip-" }}">DCIP-{{dcipnum|strip}}</a>{% if forloop.last == false %}, {% endif %}
{% endfor %}

View File

@ -1,29 +1,29 @@
<style type="text/css">
.eiptable .title {
.dciptable .title {
width: 67%;
}
.eiptable .author {
.dciptable .author {
width: 33%;
}
</style>
{% for status in site.data.statuses %}
{% assign eips = include.eips|where:"status",status|sort:"eip" %}
{% assign count = eips|size %}
{% assign dcips = include.dcips|where:"status",status|sort:"dcip" %}
{% assign count = dcips|size %}
{% if count > 0 %}
<h2 id="{{status|slugify}}">{{status}}</h2>
<table class="eiptable">
<table class="dciptable">
<thead>
{% if status == "Last Call" %}
<tr>
<th class="eipnum">Number</th><th class="date">Review ends</th><th class="title">Title</th><th class="author">Author</th></tr>
<th class="dcipnum">Number</th><th class="date">Review ends</th><th class="title">Title</th><th class="author">Author</th></tr>
{% else %}
<tr><th class="eipnum">Number</th><th class="title">Title</th><th class="author">Author</th></tr>
<tr><th class="dcipnum">Number</th><th class="title">Title</th><th class="author">Author</th></tr>
{% endif %}
</thead>
{% for page in eips %}
{% for page in dcips %}
<tr>
<td class="eipnum"><a href="{{page.url|relative_url}}">{{page.eip|xml_escape}}</a></td>
<td class="dcipnum"><a href="{{page.url|relative_url}}">{{page.dcip|xml_escape}}</a></td>
{% if status == "Last Call" and page.last-call-deadline != undefined %}
<td class="date">{{ page.last-call-deadline | xml_escape }}</td>
{% endif %}

View File

@ -1,4 +0,0 @@
{% assign eips=include.eips|split:"," %}
{% for eipnum in eips %}
<a href="{{eipnum|strip|prepend:"eip-" }}">EIP-{{eipnum|strip}}</a>{% if forloop.last == false %}, {% endif %}
{% endfor %}

View File

@ -2,13 +2,13 @@
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
{% if page.layout == "eip" %}
{% if page.layout == "dcip" %}
{% if page.category == "ERC" %}
<title>ERC-{{ page.eip }}: {{ page.title | escape }}</title>
<meta propery="og:title" content="ERC-{{ page.eip }}: {{ page.title | escape }}" />
<title>ERC-{{ page.dcip }}: {{ page.title | escape }}</title>
<meta propery="og:title" content="ERC-{{ page.dcip }}: {{ page.title | escape }}" />
{% else %}
<title>EIP-{{ page.eip }}: {{ page.title | escape }}</title>
<meta property="og:title" content="EIP-{{ page.eip }}: {{ page.title | escape }}" />
<title>DCIP-{{ page.dcip }}: {{ page.title | escape }}</title>
<meta property="og:title" content="DCIP-{{ page.dcip }}: {{ page.title | escape }}" />
{% endif %}
<meta name="description" content="{{page.description | escape }}" />
<meta property="og:description" content="{{page.description | escape }}" />

View File

@ -2,7 +2,7 @@
{%- if site.dribbble_username -%}<li><a href="https://dribbble.com/{{ site.dribbble_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#dribbble' | relative_url }}"></use></svg> <span class="username">{{ site.dribbble_username| escape }}</span></a></li>{%- endif -%}
{%- if site.facebook_username -%}<li><a href="https://www.facebook.com/{{ site.facebook_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#facebook' | relative_url }}"></use></svg> <span class="username">{{ site.facebook_username| escape }}</span></a></li>{%- endif -%}
{%- if site.flickr_username -%}<li><a href="https://www.flickr.com/photos/{{ site.flickr_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#flickr' | relative_url }}"></use></svg> <span class="username">{{ site.flickr_username| escape }}</span></a></li>{%- endif -%}
<li><a href="https://github.com/ethereum/EIPs"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#github' | relative_url }}"></use></svg> <span class="username">ethereum/EIPs</span></a></li>
<li><a href="https://github.com/ethereum/DCIPs"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#github' | relative_url }}"></use></svg> <span class="username">ethereum/DCIPs</span></a></li>
{%- if site.instagram_username -%}<li><a href="https://instagram.com/{{ site.instagram_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#instagram' | relative_url }}"></use></svg> <span class="username">{{ site.instagram_username| escape }}</span></a></li>{%- endif -%}
{%- if site.linkedin_username -%}<li><a href="https://www.linkedin.com/in/{{ site.linkedin_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#linkedin' | relative_url }}"></use></svg> <span class="username">{{ site.linkedin_username| escape }}</span></a></li>{%- endif -%}
{%- if site.pinterest_username -%}<li><a href="https://www.pinterest.com/{{ site.pinterest_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#pinterest' | relative_url }}"></use></svg> <span class="username">{{ site.pinterest_username| escape }}</span></a></li>{%- endif -%}

View File

@ -20,16 +20,16 @@ layout: default
<div class="home">
<span class="h5">
{% if page.status == "Stagnant" %}
<span class="badge text-light bg-danger" data-bs-toggle="tooltip" data-bs-title="This EIP had no activity for at least 6 months. This EIP should not be used.">🚧 Stagnant</span>
<span class="badge text-light bg-danger" data-bs-toggle="tooltip" data-bs-title="This DCIP had no activity for at least 6 months. This DCIP should not be used.">🚧 Stagnant</span>
{% endif %}
{% if page.status == "Withdrawn" %}
<span class="badge text-light bg-danger" data-bs-toggle="tooltip" data-bs-title="This EIP has been withdrawn, and should not be used.">🛑 Withdrawn</span>
<span class="badge text-light bg-danger" data-bs-toggle="tooltip" data-bs-title="This DCIP has been withdrawn, and should not be used.">🛑 Withdrawn</span>
{% endif %}
{% if page.status == "Draft" or page.status == "Review" %}
<span class="badge text-light bg-warning" data-bs-toggle="tooltip" data-bs-title="This EIP is not yet recommended for general use or implementation, as it is subject to normative (breaking) changes.">⚠️ {{ page.status }}</span>
<span class="badge text-light bg-warning" data-bs-toggle="tooltip" data-bs-title="This DCIP is not yet recommended for general use or implementation, as it is subject to normative (breaking) changes.">⚠️ {{ page.status }}</span>
{% endif %}
{% if page.status == "Last Call" %}
<span class="badge text-light bg-success" data-bs-toggle="tooltip" data-bs-title="This EIP is in the last call for review stage. The authors wish to finalize the EIP and ask you to provide feedback.">📢 Last Call</span>
<span class="badge text-light bg-success" data-bs-toggle="tooltip" data-bs-title="This DCIP is in the last call for review stage. The authors wish to finalize the DCIP and ask you to provide feedback.">📢 Last Call</span>
{% endif %}
{% if page.category == "ERC" %}
<a class="badge text-light bg-primary" data-bs-toggle="tooltip" data-bs-title="Application-level standards and conventions, including contract standards such as token standards, name registries, URI schemes, library/package formats, and wallet formats." href="../erc">Standards Track: ERC</a>
@ -40,16 +40,16 @@ layout: default
{% elsif page.category == "Core" %}
<a class="badge text-light bg-primary" data-bs-toggle="tooltip" data-bs-title="Improvements requiring a consensus fork, as well as changes that are not necessarily consensus critical but may be relevant to “core dev” discussions." href="../core">Standards Track: Core</a>
{% elsif page.type == "Informational" %}
<a class="badge text-light bg-primary" data-bs-toggle="tooltip" data-bs-title="Describes an Ethereum design issue, or provides general guidelines or information to the Ethereum community, but does not propose a new feature. Informational EIPs do not necessarily represent Ethereum community consensus or a recommendation, so users and implementers are free to ignore Informational EIPs or follow their advice." href="../informational">Informational</a>
<a class="badge text-light bg-primary" data-bs-toggle="tooltip" data-bs-title="Describes an Ethereum design issue, or provides general guidelines or information to the Ethereum community, but does not propose a new feature. Informational DCIPs do not necessarily represent Ethereum community consensus or a recommendation, so users and implementers are free to ignore Informational DCIPs or follow their advice." href="../informational">Informational</a>
{% elsif page.type == "Meta" %}
<a class="badge text-light bg-primary" data-bs-toggle="tooltip" data-bs-title="Describes a process surrounding Ethereum or proposes a change to (or an event in) a process. " href="../meta">Meta</a>
{% endif %}
</span>
<h1 class="page-heading">
{% if page.category == "ERC" %}
ERC-{{ page.eip | xml_escape }}: {{ page.title | xml_escape }}
ERC-{{ page.dcip | xml_escape }}: {{ page.title | xml_escape }}
{% elsif page.category != "ERC" %}
EIP-{{ page.eip | xml_escape }}: {{ page.title | xml_escape }}
DCIP-{{ page.dcip | xml_escape }}: {{ page.title | xml_escape }}
{% endif %}
<a href="{{ page.discussions-to | uri_escape }}" class="no-underline">
<svg role="img" aria-label="Discuss" class="inline-svg" xmlns="https://www.w3.org/2000/svg" viewBox="0 0 16 16">
@ -90,7 +90,7 @@ layout: default
{% if page.requires != undefined %}
<tr>
<th scope="row">Requires</th>
<td>{% include eipnums.html eips=page.requires %}</td>
<td>{% include dcipnums.html dcips=page.requires %}</td>
</tr>
{% endif %}
</tbody>
@ -101,7 +101,7 @@ layout: default
<div class="alert alert-primary d-flex align-items-center" role="alert">
<svg class="bi flex-shrink-0 me-2" role="img" aria-label="Info:" style="width:2.5em;height:2.5em;"><use xlink:href="#bi-megaphone-fill"/></svg>
<div class="text-center w-100">
<a href="{{ page.discussions-to | uri_escape }}" target="__blank">This EIP is in the process of being peer-reviewed. If you are interested in this EIP, please participate using this discussion link.</a>
<a href="{{ page.discussions-to | uri_escape }}" target="__blank">This DCIP is in the process of being peer-reviewed. If you are interested in this DCIP, please participate using this discussion link.</a>
</div>
</div>
{% endif %}
@ -119,7 +119,7 @@ layout: default
IEEE specification for reference formatting:
https://ieee-dataport.org/sites/default/files/analysis/27/IEEE%20Citation%20Guidelines.pdf
{% endcomment %}
<p>{% include authorlist.html authors=page.author %}, "{% if page.category == "ERC" %}ERC{% else %}EIP{% endif %}-{{ page.eip | xml_escape }}: {{ page.title | xml_escape }}{% if page.status == "Draft" or page.status == "Stagnant" or page.status == "Withdrawn" or page.status == "Review" or page.status == "Last Call" %} [DRAFT]{% endif %}," <em>Ethereum Improvement Proposals</em>, no. {{ page.eip | xml_escape }}, {{ page.created | date: "%B %Y" }}. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-{{ page.eip | xml_escape }}.</p>
<p>{% include authorlist.html authors=page.author %}, "{% if page.category == "ERC" %}ERC{% else %}DCIP{% endif %}-{{ page.dcip | xml_escape }}: {{ page.title | xml_escape }}{% if page.status == "Draft" or page.status == "Stagnant" or page.status == "Withdrawn" or page.status == "Review" or page.status == "Last Call" %} [DRAFT]{% endif %}," <em>Ethereum Improvement Proposals</em>, no. {{ page.dcip | xml_escape }}, {{ page.created | date: "%B %Y" }}. [Online serial]. Available: https://dcips.ethereum.org/DCIPS/dcip-{{ page.dcip | xml_escape }}.</p>
</div>
{% comment %}
Article schema specification:
@ -130,11 +130,11 @@ https://schema.org/TechArticle
"@context": "http://schema.org",
"@type": "TechArticle",
{% if page.category == "ERC" %}
"headline": "ERC-{{ page.eip | xml_escape }}: {{ page.title | xml_escape }}{% if page.status == "Draft" or page.status == "Stagnant" or page.status == "Withdrawn" or page.status == "Review" or page.status == "Last Call" %} [DRAFT]{% endif %}",
"name": "ERC-{{ page.eip | xml_escape }}: {{ page.title | xml_escape }}{% if page.status == "Draft" or page.status == "Stagnant" or page.status == "Withdrawn" or page.status == "Review" or page.status == "Last Call" %} [DRAFT]{% endif %}",
"headline": "ERC-{{ page.dcip | xml_escape }}: {{ page.title | xml_escape }}{% if page.status == "Draft" or page.status == "Stagnant" or page.status == "Withdrawn" or page.status == "Review" or page.status == "Last Call" %} [DRAFT]{% endif %}",
"name": "ERC-{{ page.dcip | xml_escape }}: {{ page.title | xml_escape }}{% if page.status == "Draft" or page.status == "Stagnant" or page.status == "Withdrawn" or page.status == "Review" or page.status == "Last Call" %} [DRAFT]{% endif %}",
{% else %}
"headline": "EIP-{{ page.eip | xml_escape }}: {{ page.title | xml_escape }}{% if page.status == "Draft" or page.status == "Stagnant" or page.status == "Withdrawn" or page.status == "Review" or page.status == "Last Call" %} [DRAFT]{% endif %}",
"name": "EIP-{{ page.eip | xml_escape }}: {{ page.title | xml_escape }}{% if page.status == "Draft" or page.status == "Stagnant" or page.status == "Withdrawn" or page.status == "Review" or page.status == "Last Call" %} [DRAFT]{% endif %}",
"headline": "DCIP-{{ page.dcip | xml_escape }}: {{ page.title | xml_escape }}{% if page.status == "Draft" or page.status == "Stagnant" or page.status == "Withdrawn" or page.status == "Review" or page.status == "Last Call" %} [DRAFT]{% endif %}",
"name": "DCIP-{{ page.dcip | xml_escape }}: {{ page.title | xml_escape }}{% if page.status == "Draft" or page.status == "Stagnant" or page.status == "Withdrawn" or page.status == "Review" or page.status == "Last Call" %} [DRAFT]{% endif %}",
{% endif %}
"author": "{{ page.author }}",
"dateCreated": "{{ page.created | date: "%Y-%m-%d" }}",

View File

@ -3,4 +3,4 @@ layout: page
title: All
---
{% include eiptable.html eips=site.pages %}
{% include dciptable.html dcips=site.pages %}

View File

@ -3,5 +3,5 @@ layout: page
title: Core
---
{% assign eips=site.pages|where:"type","Standards Track"|where:"category","Core" %}
{% include eiptable.html eips=eips %}
{% assign dcips=site.pages|where:"type","Standards Track"|where:"category","Core" %}
{% include dciptable.html dcips=dcips %}

View File

@ -1,5 +1,5 @@
---
title: <The EIP title is a few words, not a complete sentence>
title: <The DCIP title is a few words, not a complete sentence>
description: <Description is one full (short) sentence>
author: <a comma separated list of the author's or authors' name + GitHub username (in parenthesis), or name and email (in angle brackets). Example, FirstName LastName (@GitHubUsername), FirstName LastName <foo@bar.com>, FirstName (@GitHubUsername) and GitHubUsername (@GitHubUsername)>
discussions-to: <URL>
@ -7,17 +7,17 @@ status: Draft
type: <Standards Track, Meta, or Informational>
category: <Core, Networking, Interface, or ERC> # Only required for Standards Track. Otherwise, remove this field.
created: <date created on, in ISO 8601 (yyyy-mm-dd) format>
requires: <EIP number(s)> # Only required when you reference an EIP in the `Specification` section. Otherwise, remove this field.
requires: <DCIP number(s)> # Only required when you reference an DCIP in the `Specification` section. Otherwise, remove this field.
---
<!--
READ EIP-1 (https://eips.ethereum.org/EIPS/eip-1) BEFORE USING THIS TEMPLATE!
READ DCIP-1 (https://dev.dcips.decentralizedclimate.org/DCIPS/dcip-1) BEFORE USING THIS TEMPLATE!
This is the suggested template for new EIPs. After you have filled in the requisite fields, please delete these comments.
This is the suggested template for new DCIPs. After you have filled in the requisite fields, please delete these comments.
Note that an EIP number will be assigned by an editor. When opening a pull request to submit your EIP, please use an abbreviated title in the filename, `eip-draft_title_abbrev.md`.
Note that an DCIP number will be assigned by an editor. When opening a pull request to submit your DCIP, please use an abbreviated title in the filename, `dcip-draft_title_abbrev.md`.
The title should be 44 characters or less. It should not repeat the EIP number in title, irrespective of the category.
The title should be 44 characters or less. It should not repeat the DCIP number in title, irrespective of the category.
TODO: Remove this comment before submitting
-->
@ -35,9 +35,9 @@ requires: <EIP number(s)> # Only required when you reference an EIP in the `Spec
<!--
This section is optional.
The motivation section should include a description of any nontrivial problems the EIP solves. It should not describe how the EIP solves those problems, unless it is not immediately obvious. It should not describe why the EIP should be made into a standard, unless it is not immediately obvious.
The motivation section should include a description of any nontrivial problems the DCIP solves. It should not describe how the DCIP solves those problems, unless it is not immediately obvious. It should not describe why the DCIP should be made into a standard, unless it is not immediately obvious.
With a few exceptions, external links are not allowed. If you feel that a particular resource would demonstrate a compelling case for your EIP, then save it as a printer-friendly PDF, put it in the assets folder, and link to that copy.
With a few exceptions, external links are not allowed. If you feel that a particular resource would demonstrate a compelling case for your DCIP, then save it as a printer-friendly PDF, put it in the assets folder, and link to that copy.
TODO: Remove this comment before submitting
-->
@ -72,7 +72,7 @@ TBD
This section is optional.
All EIPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their severity. The EIP must explain how the author proposes to deal with these incompatibilities. EIP submissions without a sufficient backwards compatibility treatise may be rejected outright.
All DCIPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their severity. The DCIP must explain how the author proposes to deal with these incompatibilities. DCIP submissions without a sufficient backwards compatibility treatise may be rejected outright.
The current placeholder is acceptable for a draft.
@ -84,10 +84,10 @@ No backward compatibility issues found.
## Test Cases
<!--
This section is optional for non-Core EIPs.
This section is optional for non-Core DCIPs.
The Test Cases section should include expected input/output pairs, but may include a succinct set of executable tests. It should not include project build files. No new requirements may be be introduced here (meaning an implementation following only the Specification section should pass all tests here.)
If the test suite is too large to reasonably be included inline, then consider adding it as one or more files in `../assets/eip-####/`. External links will not be allowed
If the test suite is too large to reasonably be included inline, then consider adding it as one or more files in `../assets/dcip-####/`. External links will not be allowed
TODO: Remove this comment before submitting
-->
@ -98,7 +98,7 @@ No backward compatibility issues found.
This section is optional.
The Reference Implementation section should include a minimal implementation that assists in understanding or implementing this specification. It should not include project build files. The reference implementation is not a replacement for the Specification section, and the proposal should still be understandable without it.
If the reference implementation is too large to reasonably be included inline, then consider adding it as one or more files in `../assets/eip-####/`. External links will not be allowed.
If the reference implementation is too large to reasonably be included inline, then consider adding it as one or more files in `../assets/dcip-####/`. External links will not be allowed.
TODO: Remove this comment before submitting
-->
@ -106,7 +106,7 @@ No backward compatibility issues found.
## Security Considerations
<!--
All EIPs must contain a section that discusses the security implications/considerations relevant to the proposed change. Include information that might be important for security discussions, surfaces risks and can be used throughout the life cycle of the proposal. For example, include security-relevant design decisions, concerns, important discussions, implementation-specific guidance and pitfalls, an outline of threats and risks and how they are being addressed. EIP submissions missing the "Security Considerations" section will be rejected. An EIP cannot proceed to status "Final" without a Security Considerations discussion deemed sufficient by the reviewers.
All DCIPs must contain a section that discusses the security implications/considerations relevant to the proposed change. Include information that might be important for security discussions, surfaces risks and can be used throughout the life cycle of the proposal. For example, include security-relevant design decisions, concerns, important discussions, implementation-specific guidance and pitfalls, an outline of threats and risks and how they are being addressed. DCIP submissions missing the "Security Considerations" section will be rejected. An DCIP cannot proceed to status "Final" without a Security Considerations discussion deemed sufficient by the reviewers.
The current placeholder is acceptable for a draft.

View File

@ -3,5 +3,5 @@ layout: page
title: ERC
---
{% assign eips=site.pages|where:"type","Standards Track"|where:"category","ERC" %}
{% include eiptable.html eips=eips %}
{% assign dcips=site.pages|where:"type","Standards Track"|where:"category","ERC" %}
{% include dciptable.html dcips=dcips %}

View File

@ -4,8 +4,8 @@ title: Home
---
<h1 class="page-heading">DCPs
<a href="https://discord.io/EthCatHerders"><img src="https://dcbadge.vercel.app/api/server/Nz6rtfJ8Cu?style=flat" alt="Discord channel for ECH eip-editer"></a>
<a href="https://discord.gg/EVTQ9crVgQ"><img src="https://dcbadge.vercel.app/api/server/EVTQ9crVgQ?style=flat" alt="Discord channel for Eth R&D eip-editing"></a>
<a href="https://discord.io/EthCatHerders"><img src="https://dcbadge.vercel.app/api/server/Nz6rtfJ8Cu?style=flat" alt="Discord channel for ECH dcip-editer"></a>
<a href="https://discord.gg/EVTQ9crVgQ"><img src="https://dcbadge.vercel.app/api/server/EVTQ9crVgQ?style=flat" alt="Discord channel for Eth R&D dcip-editing"></a>
<a href="https://discord.gg/mRzPXmmYEA"><img src="https://dcbadge.vercel.app/api/server/mRzPXmmYEA?style=flat" alt="Discord server for discussions about proposals that impact Decentralized Foundation wallets"></a>
<a href="rss/all.xml"><img src="https://img.shields.io/badge/rss-Everything-red.svg" alt="RSS"></a>
<a href="rss/last-call.xml"><img src="https://img.shields.io/badge/rss-Last Calls-red.svg" alt="RSS"></a>
@ -46,16 +46,16 @@ title: Home
<p>Describes any change that affects most or all Decentralized Foundation implementations, such as a change to the network protocol, a change in block or transaction validity rules, proposed application standards/conventions, or any change or addition that affects the interoperability of applications using Decentralized Foundation. Furthermore Standard DCPs can be broken down into the following categories.</p>
<h4><a href="{{"core"|relative_url}}">Core</a> ({{site.pages|where:"type","Standards Track"|where:"category","Core"|size}})</h4>
<p>Improvements requiring a consensus fork (e.g. <a href="./DCPS/eip-5">DCP-5</a>, <a href="./DCPS/eip-211">DCP-211</a>), as well as changes that are not necessarily consensus critical but may be relevant to “core dev” discussions (for example, the PoA algorithm for testnets described in <a href="./DCPS/eip-225">DCP-225</a>).</p>
<p>Improvements requiring a consensus fork (e.g. <a href="./DCPS/dcip-5">DCP-5</a>, <a href="./DCPS/dcip-211">DCP-211</a>), as well as changes that are not necessarily consensus critical but may be relevant to “core dev” discussions (for example, the PoA algorithm for testnets described in <a href="./DCPS/dcip-225">DCP-225</a>).</p>
<h4><a href="{{"networking"|relative_url}}">Networking</a> ({{site.pages|where:"type","Standards Track"|where:"category","Networking"|size}})</h4>
<p>Includes improvements around devp2p (<a href="./DCPS/eip-8">DCP-8</a>) and Light Decentralized Foundation Subprotocol, as well as proposed improvements to network protocol specifications of whisper and swarm.</p>
<p>Includes improvements around devp2p (<a href="./DCPS/dcip-8">DCP-8</a>) and Light Decentralized Foundation Subprotocol, as well as proposed improvements to network protocol specifications of whisper and swarm.</p>
<h4><a href="{{"interface"|relative_url}}">Interface</a> ({{site.pages|where:"type","Standards Track"|where:"category","Interface"|size}})</h4>
<p>Includes improvements around client API/RPC specifications and standards, and also certain language-level standards like method names (<a href="./DCPS/eip-6">DCP-6</a>) and contract ABIs. The label “interface” aligns with the interfaces repo and discussion should primarily occur in that repository before an DCP is submitted to the DCPs repository.</p>
<p>Includes improvements around client API/RPC specifications and standards, and also certain language-level standards like method names (<a href="./DCPS/dcip-6">DCP-6</a>) and contract ABIs. The label “interface” aligns with the interfaces repo and discussion should primarily occur in that repository before an DCP is submitted to the DCPs repository.</p>
<h4><a href="{{"erc"|relative_url}}">ERC</a> ({{site.pages|where:"type","Standards Track"|where:"category","ERC"|size}})</h4>
<p>Application-level standards and conventions, including contract standards such as token standards (<a href="./DCPS/eip-20">DCP-20</a>), name registries (<a href="./DCPS/eip-137">DCP-137</a>), URI schemes (<a href="./DCPS/eip-681">DCP-681</a>), library/package formats (<a href="./DCPS/eip-190">DCP-190</a>), and account abstraction (<a href="./DCPS/eip-4337">DCP-4337</a>).</p>
<p>Application-level standards and conventions, including contract standards such as token standards (<a href="./DCPS/dcip-20">DCP-20</a>), name registries (<a href="./DCPS/dcip-137">DCP-137</a>), URI schemes (<a href="./DCPS/dcip-681">DCP-681</a>), library/package formats (<a href="./DCPS/dcip-190">DCP-190</a>), and account abstraction (<a href="./DCPS/dcip-4337">DCP-4337</a>).</p>
<h3><a href="{{"meta"|relative_url}}">Meta</a> ({{site.pages|where:"type","Meta"|size}})</h3>
<p>Describes a process surrounding Decentralized Foundation or proposes a change to (or an event in) a process. Process DCPs are like Standards Track DCPs but apply to areas other than the Decentralized Foundation protocol itself. They may propose an implementation, but not to Decentralized Foundation's codebase; they often require community consensus; unlike Informational DCPs, they are more than recommendations, and users are typically not free to ignore them. Examples include procedures, guidelines, changes to the decision-making process, and changes to the tools or environment used in Decentralized Foundation development. Any meta-DCP is also considered a Process DCP.</p>

View File

@ -3,5 +3,5 @@ layout: page
title: Informational
---
{% assign eips=site.pages|where:"type","Informational" %}
{% include eiptable.html eips=eips %}
{% assign dcips=site.pages|where:"type","Informational" %}
{% include dciptable.html dcips=dcips %}

View File

@ -3,5 +3,5 @@ layout: page
title: Interface
---
{% assign eips=site.pages|where:"type","Standards Track"|where:"category","Interface" %}
{% include eiptable.html eips=eips %}
{% assign dcips=site.pages|where:"type","Standards Track"|where:"category","Interface" %}
{% include dciptable.html dcips=dcips %}

View File

@ -3,5 +3,5 @@ layout: page
title: Meta
---
{% assign eips=site.pages|where:"type","Meta" %}
{% include eiptable.html eips=eips %}
{% assign dcips=site.pages|where:"type","Meta" %}
{% include dciptable.html dcips=dcips %}

View File

@ -3,5 +3,5 @@ layout: page
title: Networking
---
{% assign eips=site.pages|where:"type","Standards Track"|where:"category","Networking" %}
{% include eiptable.html eips=eips %}
{% assign dcips=site.pages|where:"type","Standards Track"|where:"category","Networking" %}
{% include dciptable.html dcips=dcips %}

View File

@ -4,23 +4,23 @@ layout: null
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Ethereum EIPs</title>
<description>A feed of all EIPs</description>
<title>Ethereum DCIPs</title>
<description>A feed of all DCIPs</description>
<link>{{ site.url }}</link>
<atom:link href="{{ site.url }}/all.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
{% assign eips = site.pages | sort: 'eip' %}
{% for eip in eips %}
{% assign dcips = site.pages | sort: 'dcip' %}
{% for dcip in dcips %}
<item>
<title>{{ eip.title | xml_escape }}</title>
<category>{{ eip.type | xml_escape }}/{{ eip.category | xml_escape }}</category>
{% if eip.discussions-to %}
<comments>{{ eip.discussions-to | xml_escape }}</comments>
<title>{{ dcip.title | xml_escape }}</title>
<category>{{ dcip.type | xml_escape }}/{{ dcip.category | xml_escape }}</category>
{% if dcip.discussions-to %}
<comments>{{ dcip.discussions-to | xml_escape }}</comments>
{% endif %}
<description>{{ eip.content | xml_escape }}</description>
<pubDate>{{ eip.created | date_to_rfc822 }}</pubDate>
<link>{{ site.url }}{{ eip.url }}</link>
<guid isPermaLink="true">{{ site.url }}{{ eip.url }}</guid>
<description>{{ dcip.content | xml_escape }}</description>
<pubDate>{{ dcip.created | date_to_rfc822 }}</pubDate>
<link>{{ site.url }}{{ dcip.url }}</link>
<guid isPermaLink="true">{{ site.url }}{{ dcip.url }}</guid>
</item>
{% endfor %}
</channel>

View File

@ -4,29 +4,29 @@ layout: null
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Ethereum EIPs - Last Call Review</title>
<description>All EIPs which are in the "last call" status, please help review these and provide your feedback!</description>
<title>Ethereum DCIPs - Last Call Review</title>
<description>All DCIPs which are in the "last call" status, please help review these and provide your feedback!</description>
<link>{{ site.url }}</link>
<atom:link href="{{ site.url }}/rss/last-call.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
{% assign eips = site.pages | sort: 'eip' %}
{% for eip in eips %}
{% if eip.category == "ERC" %}
{% if eip.status == "Last Call" %}
{% assign dcips = site.pages | sort: 'dcip' %}
{% for dcip in dcips %}
{% if dcip.category == "ERC" %}
{% if dcip.status == "Last Call" %}
{% capture description %}
<p><strong>EIP #{{ eip.eip }} - {{eip.title }}</strong> is in Last Call status. It is authored by {{ eip.author }} and was originally created {{ eip.created }}. It is in the {{ eip.category }} category of type {{ eip.type }}. Please review and note any changes that should block acceptance.</p>
{% if eip.discussions-to %}
<p>The author has requested that discussions happen at the following URL: <a href="{{ eip.discussions-to }}">{{ eip.discussions-to }}</a></p>
<p><strong>DCIP #{{ dcip.dcip }} - {{dcip.title }}</strong> is in Last Call status. It is authored by {{ dcip.author }} and was originally created {{ dcip.created }}. It is in the {{ dcip.category }} category of type {{ dcip.type }}. Please review and note any changes that should block acceptance.</p>
{% if dcip.discussions-to %}
<p>The author has requested that discussions happen at the following URL: <a href="{{ dcip.discussions-to }}">{{ dcip.discussions-to }}</a></p>
{% endif %}
<hr />
{{ eip.content }}
{{ dcip.content }}
{% endcapture %}
<item>
<title>{{ eip.title | xml_escape }}</title>
<title>{{ dcip.title | xml_escape }}</title>
<description>{{ description | xml_escape }}</description>
<pubDate>{{ eip.created | date_to_rfc822 }}</pubDate>
<link>{{ site.url }}/{{ eip.url }}</link>
<guid isPermaLink="true">{{ site.url }}/{{ eip.url }}</guid>
<pubDate>{{ dcip.created | date_to_rfc822 }}</pubDate>
<link>{{ site.url }}/{{ dcip.url }}</link>
<guid isPermaLink="true">{{ site.url }}/{{ dcip.url }}</guid>
</item>
{% endif %}
{% endif %}

View File

@ -9,23 +9,23 @@ layout: null
<link>{{ site.url }}</link>
<atom:link href="{{ site.url }}/rss/erc.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
{% assign eips = site.pages | sort: 'eip' %}
{% for eip in eips %}
{% if eip.category == "ERC" %}
{% assign dcips = site.pages | sort: 'dcip' %}
{% for dcip in dcips %}
{% if dcip.category == "ERC" %}
{% capture description %}
<p><strong>EIP #{{ eip.eip }} - {{eip.title }}</strong> is in the {{ eip.category }} category of type {{ eip.type }} and was just updated.</p>
{% if eip.discussions-to %}
<p>The author has requested that discussions happen at the following URL: <a href="{{ eip.discussions-to }}">{{ eip.discussions-to }}</a></p>
<p><strong>DCIP #{{ dcip.dcip }} - {{dcip.title }}</strong> is in the {{ dcip.category }} category of type {{ dcip.type }} and was just updated.</p>
{% if dcip.discussions-to %}
<p>The author has requested that discussions happen at the following URL: <a href="{{ dcip.discussions-to }}">{{ dcip.discussions-to }}</a></p>
{% endif %}
<hr />
{{ eip.content }}
{{ dcip.content }}
{% endcapture %}
<item>
<title>{{ eip.title | xml_escape }}</title>
<title>{{ dcip.title | xml_escape }}</title>
<description>{{ description | xml_escape }}</description>
<pubDate>{{ eip.created | date_to_rfc822 }}</pubDate>
<link>{{ site.url }}/{{ eip.url }}</link>
<guid isPermaLink="true">{{ site.url }}/{{ eip.url }}</guid>
<pubDate>{{ dcip.created | date_to_rfc822 }}</pubDate>
<link>{{ site.url }}/{{ dcip.url }}</link>
<guid isPermaLink="true">{{ site.url }}/{{ dcip.url }}</guid>
</item>
{% endif %}
{% endfor %}

View File

@ -4,28 +4,28 @@ layout: null
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Ethereum EIPs - Last Call Review</title>
<description>All EIPs which are in the two-week "last call" status, please help review these and provide your feedback!</description>
<title>Ethereum DCIPs - Last Call Review</title>
<description>All DCIPs which are in the two-week "last call" status, please help review these and provide your feedback!</description>
<link>{{ site.url }}</link>
<atom:link href="{{ site.url }}/rss/last-call.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
{% assign eips = site.pages | sort: 'eip' %}
{% for eip in eips %}
{% if eip.status == "Last Call" %}
{% assign dcips = site.pages | sort: 'dcip' %}
{% for dcip in dcips %}
{% if dcip.status == "Last Call" %}
{% capture description %}
<p><strong>EIP #{{ eip.eip }} - {{eip.title }}</strong> is in Last Call status. It is authored by {{ eip.author }} and was originally created {{ eip.created }}. It is in the {{ eip.category }} category of type {{ eip.type }}. Please review and note any changes that should block acceptance.</p>
{% if eip.discussions-to %}
<p>The author has requested that discussions happen at the following URL: <a href="{{ eip.discussions-to }}">{{ eip.discussions-to }}</a></p>
<p><strong>DCIP #{{ dcip.dcip }} - {{dcip.title }}</strong> is in Last Call status. It is authored by {{ dcip.author }} and was originally created {{ dcip.created }}. It is in the {{ dcip.category }} category of type {{ dcip.type }}. Please review and note any changes that should block acceptance.</p>
{% if dcip.discussions-to %}
<p>The author has requested that discussions happen at the following URL: <a href="{{ dcip.discussions-to }}">{{ dcip.discussions-to }}</a></p>
{% endif %}
<hr />
{{ eip.content }}
{{ dcip.content }}
{% endcapture %}
<item>
<title>{{ eip.title | xml_escape }}</title>
<title>{{ dcip.title | xml_escape }}</title>
<description>{{ description | xml_escape }}</description>
<pubDate>{{ eip.created | date_to_rfc822 }}</pubDate>
<link>{{ site.url }}/{{ eip.url }}</link>
<guid isPermaLink="true">{{ site.url }}/{{ eip.url }}</guid>
<pubDate>{{ dcip.created | date_to_rfc822 }}</pubDate>
<link>{{ site.url }}/{{ dcip.url }}</link>
<guid isPermaLink="true">{{ site.url }}/{{ dcip.url }}</guid>
</item>
{% endif %}
{% endfor %}

View File

@ -4,29 +4,29 @@ layout: null
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Ethereum EIPs - Last Call Review</title>
<description>All EIPs which are in the two-week "last call" status, please help review these and provide your feedback!</description>
<title>Ethereum DCIPs - Last Call Review</title>
<description>All DCIPs which are in the two-week "last call" status, please help review these and provide your feedback!</description>
<link>{{ site.url }}</link>
<atom:link href="{{ site.url }}/rss/last-call.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
{% assign eips = site.pages | sort: 'eip' %}
{% for eip in eips %}
{% unless eip.category == "ERC" %}
{% if eip.status == "Last Call" %}
{% assign dcips = site.pages | sort: 'dcip' %}
{% for dcip in dcips %}
{% unless dcip.category == "ERC" %}
{% if dcip.status == "Last Call" %}
{% capture description %}
<p><strong>EIP #{{ eip.eip }} - {{eip.title }}</strong> is in Last Call status. It is authored by {{ eip.author }} and was originally created {{ eip.created }}. It is in the {{ eip.category }} category of type {{ eip.type }}. Please review and note any changes that should block acceptance.</p>
{% if eip.discussions-to %}
<p>The author has requested that discussions happen at the following URL: <a href="{{ eip.discussions-to }}">{{ eip.discussions-to }}</a></p>
<p><strong>DCIP #{{ dcip.dcip }} - {{dcip.title }}</strong> is in Last Call status. It is authored by {{ dcip.author }} and was originally created {{ dcip.created }}. It is in the {{ dcip.category }} category of type {{ dcip.type }}. Please review and note any changes that should block acceptance.</p>
{% if dcip.discussions-to %}
<p>The author has requested that discussions happen at the following URL: <a href="{{ dcip.discussions-to }}">{{ dcip.discussions-to }}</a></p>
{% endif %}
<hr />
{{ eip.content }}
{{ dcip.content }}
{% endcapture %}
<item>
<title>{{ eip.title | xml_escape }}</title>
<title>{{ dcip.title | xml_escape }}</title>
<description>{{ description | xml_escape }}</description>
<pubDate>{{ eip.created | date_to_rfc822 }}</pubDate>
<link>{{ site.url }}/{{ eip.url }}</link>
<guid isPermaLink="true">{{ site.url }}/{{ eip.url }}</guid>
<pubDate>{{ dcip.created | date_to_rfc822 }}</pubDate>
<link>{{ site.url }}/{{ dcip.url }}</link>
<guid isPermaLink="true">{{ site.url }}/{{ dcip.url }}</guid>
</item>
{% endif %}
{% endunless %}

View File

@ -4,29 +4,29 @@ layout: null
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Ethereum EIPs</title>
<description>All EIPs that are not ERCs</description>
<title>Ethereum DCIPs</title>
<description>All DCIPs that are not ERCs</description>
<link>{{ site.url }}</link>
<atom:link href="{{ site.url }}/rss/last-call.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
{% assign eips = site.pages | sort: 'eip' %}
{% for eip in eips %}
{% unless eip.category == "ERC" %}
{% if eip.status == "Last Call" %}
{% assign dcips = site.pages | sort: 'dcip' %}
{% for dcip in dcips %}
{% unless dcip.category == "ERC" %}
{% if dcip.status == "Last Call" %}
{% capture description %}
<p><strong>EIP #{{ eip.eip }} - {{eip.title }}</strong> is in Last Call status. It is authored by {{ eip.author }} and was originally created {{ eip.created }}. It is in the {{ eip.category }} category of type {{ eip.type }}. Please review and note any changes that should block acceptance.</p>
{% if eip.discussions-to %}
<p>The author has requested that discussions happen at the following URL: <a href="{{ eip.discussions-to }}">{{ eip.discussions-to }}</a></p>
<p><strong>DCIP #{{ dcip.dcip }} - {{dcip.title }}</strong> is in Last Call status. It is authored by {{ dcip.author }} and was originally created {{ dcip.created }}. It is in the {{ dcip.category }} category of type {{ dcip.type }}. Please review and note any changes that should block acceptance.</p>
{% if dcip.discussions-to %}
<p>The author has requested that discussions happen at the following URL: <a href="{{ dcip.discussions-to }}">{{ dcip.discussions-to }}</a></p>
{% endif %}
<hr />
{{ eip.content }}
{{ dcip.content }}
{% endcapture %}
<item>
<title>{{ eip.title | xml_escape }}</title>
<title>{{ dcip.title | xml_escape }}</title>
<description>{{ description | xml_escape }}</description>
<pubDate>{{ eip.created | date_to_rfc822 }}</pubDate>
<link>{{ site.url }}/{{ eip.url }}</link>
<guid isPermaLink="true">{{ site.url }}/{{ eip.url }}</guid>
<pubDate>{{ dcip.created | date_to_rfc822 }}</pubDate>
<link>{{ site.url }}/{{ dcip.url }}</link>
<guid isPermaLink="true">{{ site.url }}/{{ dcip.url }}</guid>
</item>
{% endif %}
{% endunless %}