Skip to content

Commit 38a3be9

Browse files
authored
Merge branch 'master' into typan
2 parents b0f254c + 4878520 commit 38a3be9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+1920
-337
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Merge ERCs
2+
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- name: Checkout ERCs
7+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
8+
with:
9+
repository: ethereum/ERCs
10+
path: ERCs
11+
- name: Merge Repos
12+
shell: bash
13+
run: |
14+
mkdir -p $GITHUB_WORKSPACE/ERCs/ERCS
15+
mkdir -p $GITHUB_WORKSPACE/ERCs/EIPS
16+
cp -rp $GITHUB_WORKSPACE/ERCs/ERCS/. $GITHUB_WORKSPACE/EIPS
17+
cp -rp $GITHUB_WORKSPACE/ERCs/EIPS/. $GITHUB_WORKSPACE/EIPS
18+
cp -rp $GITHUB_WORKSPACE/ERCs/assets/. $GITHUB_WORKSPACE/assets
19+
cd $GITHUB_WORKSPACE/EIPS
20+
find . -name "erc-*.md" -type f -exec sh -c 'echo mv "$1" "$(echo "$1" | sed s/erc/eip/)"' _ {} \; | sh
21+
cd $GITHUB_WORKSPACE/assets
22+
find . -name "erc-*" -type d -exec sh -c 'echo mv "$1" "$(echo "$1" | sed s/erc/eip/)"' _ {} \; | sh
23+
cd $GITHUB_WORKSPACE
24+
rm -rf ERCs

.github/workflows/ci.yml

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -46,24 +46,8 @@ jobs:
4646
with:
4747
repository: ethereum/EIPs
4848
path: ''
49-
- name: Checkout ERCs
50-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
51-
with:
52-
repository: ethereum/ERCs
53-
path: ERCs
5449
- name: Merge Repos
55-
run: |
56-
mkdir -p $GITHUB_WORKSPACE/ERCs/ERCS
57-
mkdir -p $GITHUB_WORKSPACE/ERCs/EIPS
58-
cp -rp $GITHUB_WORKSPACE/ERCs/ERCS/. $GITHUB_WORKSPACE/EIPS
59-
cp -rp $GITHUB_WORKSPACE/ERCs/EIPS/. $GITHUB_WORKSPACE/EIPS
60-
cp -rp $GITHUB_WORKSPACE/ERCs/assets/. $GITHUB_WORKSPACE/assets
61-
cd $GITHUB_WORKSPACE/EIPS
62-
find . -name "erc-*.md" -type f -exec sh -c 'echo mv "$1" "$(echo "$1" | sed s/erc/eip/)"' _ {} \; | sh
63-
cd $GITHUB_WORKSPACE/assets
64-
find . -name "erc-*" -type d -exec sh -c 'echo mv "$1" "$(echo "$1" | sed s/erc/eip/)"' _ {} \; | sh
65-
cd $GITHUB_WORKSPACE
66-
rm -rf ERCs
50+
uses: ./.github/actions/merge-repos
6751
- name: Setup Ruby
6852
uses: ruby/setup-ruby@fb404b9557c186e349162b0d8efb06e2bc36edea # v1.232.0
6953
with:
@@ -135,6 +119,8 @@ jobs:
135119
steps:
136120
- name: Checkout EIP Repository
137121
uses: actions/checkout@47fbe2df0ad0e27efb67a70beac3555f192b062f
122+
- name: Merge Repos
123+
uses: ./.github/actions/merge-repos
138124

139125
- uses: ethereum/eipw-action@be3fa642ec311d0b8e1fdb811e5c9b4ada3d3d93
140126
id: eipw

.github/workflows/jekyll.yml

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -38,24 +38,8 @@ jobs:
3838
with:
3939
repository: ethereum/EIPs
4040
path: ''
41-
- name: Checkout ERCs
42-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
43-
with:
44-
repository: ethereum/ERCs
45-
path: ERCs
4641
- name: Merge Repos
47-
run: |
48-
mkdir -p $GITHUB_WORKSPACE/ERCs/ERCS
49-
mkdir -p $GITHUB_WORKSPACE/ERCs/EIPS
50-
cp -rp $GITHUB_WORKSPACE/ERCs/ERCS/. $GITHUB_WORKSPACE/EIPS
51-
cp -rp $GITHUB_WORKSPACE/ERCs/EIPS/. $GITHUB_WORKSPACE/EIPS
52-
cp -rp $GITHUB_WORKSPACE/ERCs/assets/. $GITHUB_WORKSPACE/assets
53-
cd $GITHUB_WORKSPACE/EIPS
54-
find . -name "erc-*.md" -type f -exec sh -c 'echo mv "$1" "$(echo "$1" | sed s/erc/eip/)"' _ {} \; | sh
55-
cd $GITHUB_WORKSPACE/assets
56-
find . -name "erc-*" -type d -exec sh -c 'echo mv "$1" "$(echo "$1" | sed s/erc/eip/)"' _ {} \; | sh
57-
cd $GITHUB_WORKSPACE
58-
rm -rf ERCs
42+
uses: ./.github/actions/merge-repos
5943
- name: Setup Ruby
6044
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # v1.196.0
6145
with:

EIPS/eip-1108.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ Fast elliptic curve cryptography is a keystone of a growing number of protocols
150150
}
151151
```
152152
153-
These are all technologies that have been, or are in the process of being, deployed to main-net. There protocols would all benefit from reducing the gas cost of the precompiles.
153+
These are all technologies that have been, or are in the process of being, deployed to main-net. These protocols would all benefit from reducing the gas cost of the precompiles.
154154
155155
To give a concrete example, it currently costs `820,000` gas to validate the cryptography in a typical AZTEC confidential transaction. If the gas schedule for the precompiles correctly reflected their load on the Ethereum network, this cost would be `197,000` gas. This significantly increases the potential use cases for private assets on Ethereum. AZTEC is planning to deploy several cryptographic protocols Ethereum, but these are at the limits of what is practical given the current precompile costs:
156156

EIPS/eip-1283.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ created: 2018-08-01
1313

1414
This EIP proposes net gas metering changes for `SSTORE` opcode, enabling
1515
new usages for contract storage, and reducing excessive gas costs
16-
where it doesn't match how most implementation works.
16+
where it doesn't match how most implementations work.
1717

1818
This acts as an alternative for EIP-1087, where it tries to be
1919
friendlier to implementations that use different optimization
@@ -23,7 +23,7 @@ strategies for storage change caches.
2323

2424
This EIP proposes a way for gas metering on SSTORE (as an alternative
2525
for EIP-1087 and EIP-1153), using information that is more universally
26-
available to most implementations, and require as little change in
26+
available to most implementations, and requires as little change in
2727
implementation structures as possible.
2828

2929
* *Storage slot's original value*.
@@ -207,7 +207,7 @@ anticipated, and many contracts will see gas reduction.
207207
Below we provide 17 test cases. 15 of them covering consecutive two
208208
`SSTORE` operations are based on work [by
209209
@chfast](https://github.com/ethereum/tests/issues/483). Two additional
210-
case with three `SSTORE` operations is used to test the case when a
210+
cases with three `SSTORE` operations is used to test the case when a
211211
slot is reset and then set again.
212212

213213
| Code | Used Gas | Refund | Original | 1st | 2nd | 3rd |

EIPS/eip-1702.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,9 @@ purpose. When "enabling EIP-1702", those extensions should not be
143143
enabled unless the extension specification is also included.
144144

145145
* [44-VERTXN: Account Versioning Extension for Contract Creation
146-
Transaction](https://specs.corepaper.org/44-vertxn/)
146+
Transaction](https://corepaper.org/ethereum/compatibility/versioning/#extensions-for-state-based-account-versioning)
147147
* [45-VEROP: Account Versioning Extension for CREATE and
148-
CREATE2](https://specs.corepaper.org/45-verop/)
148+
CREATE2](https://corepaper.org/ethereum/compatibility/versioning/#create-and-create2-extension)
149149

150150
## Usage Template
151151

@@ -192,8 +192,8 @@ together), then this will requires extensions such as 44-VERTXN and
192192

193193
Alternatively, account versioning can also be done through:
194194

195-
* **[26-VER](https://specs.corepaper.org/26-ver/)** and
196-
**[40-UNUSED](https://specs.corepaper.org/40-unused/)**: This makes an
195+
* **[26-VER](https://corepaper.org/ethereum/compatibility/versioning/#prefix-based-account-versioning)** and
196+
**[40-UNUSED](https://corepaper.org/ethereum/compatibility/forward/)**: This makes an
197197
account's versioning solely dependent on its code header prefix. If
198198
with only 26-VER, it is not possible to certify any code is valid,
199199
because current VM allows treating code as data. This can be fixed
@@ -234,7 +234,7 @@ To be added.
234234
## References
235235

236236
The source of this specification can be found at
237-
[43-VER](https://specs.corepaper.org/43-ver/).
237+
[43-VER](https://corepaper.org/ethereum/compatibility/versioning/#state-based-account-versioning).
238238

239239
## Copyright
240240

EIPS/eip-2025.md

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ FOR BENEFICIARY in BENEFICIARY_ADDRESSES:
5555
```
5656

5757
## Rewards Distribution Rationale
58+
5859
```
5960
Development loan repayment: 0.005 ETH per block: 15500 ETH total
6061
Development loan interest (10% total over the period, simple interest): 0.0005 ETH per block: 1550 ETH total
@@ -64,10 +65,9 @@ FOR BENEFICIARY in BENEFICIARY_ADDRESSES:
6465

6566
*With a price of Ethereum at $150.00 this will raise approx USD $2,325,000.00 for developing Eth1.X over the next 18 months.*
6667

67-
6868
![Block Rewards Distribution](../assets/eip-2025/block_rewards_distribution.png) *Specific Addresses to be determined
6969

70-
* [FAQ - Why hardcoded values?]( #why-hardcoded-values )
70+
- [FAQ - Why hardcoded values?]( #why-hardcoded-values )
7171

7272

7373
## Rationale
@@ -90,12 +90,14 @@ There is a risk that the investors lose part of their contribution in the case t
9090
`Development Loan: 0.005` over 3.1 Million blocks = 15500 ETH
9191

9292
**Funding Working Groups on 1.X**
93-
* Funding Contractors, Coordinators, and project managers
94-
* Working Groups defined with clear mandates
93+
94+
- Funding Contractors, Coordinators, and project managers
95+
- Working Groups defined with clear mandates
9596

9697
Budget
9798

9899
Working groups
100+
99101
- State rent (750k)
100102
- Better sync (360k)
101103
- finality gadget (360k)
@@ -111,7 +113,7 @@ At the end of the 18 Months, the whole process would be torn down to prevent any
111113

112114

113115

114-
* [FAQ - How will the funding of the devs be organized?]( #how-will-funding-the-devs-be-organized)
116+
- [FAQ - How will the funding of the devs be organized?]( #how-will-funding-the-devs-be-organized)
115117

116118
## Accountability
117119

@@ -126,6 +128,7 @@ The funds will be transferred into DAI and secured in a multi-sig comprised of m
126128
- Community
127129

128130
## Personal Notes and Disclosure
131+
129132
I want to address any concerns about conflicts of interests directly. My participation with Eth1.X currently has been as a volunteer. I am in talks about a possible funded role helping with testing and coordination. If my work for with Eth1.x is funded, I will accept no additional funding collected by the mechanism proposed in this EIP.
130133

131134
Eth1.X is the now of Ethereum and I would like to see it succeed. This is the intent of my proposal.
@@ -154,23 +157,23 @@ Not Implemented
154157

155158
### Why Hardcoded Values?
156159

157-
Why not us a smart contract with some governance mechanism to allow changing the distribution of funds? Wouldn’t that be more flexible and effective?
160+
Why not use a smart contract with some governance mechanism to allow changing the distribution of funds? Wouldn’t that be more flexible and effective?
158161

159162
*TLDR: This EIP is not about governance reform*
160163

161164
First, the payment of the loan will be hardcoded. Once agreed, the terms must be kept to give the lenders confidence in the repayment of the loan. As long as blocks are created the debt will be paid back. This is the essence of a trustless smart contract.
162165

163166
After the loan, there is the option to allow the amounts (limited to less than .05ETH), and the locations (orgs that receive ecosystem funding) to be changed throughout the emission schedule. It is pretty easy to imagine a smart contract or DAO fulfilling this role. However, there are three classes of options available today we can consider when governing changes.
164167

165-
* **Give the Keys to the Hands of the Few (Oligarchy)**
168+
- **Give the Keys to the Hands of the Few (Oligarchy)**
166169

167-
Create a multisig that allows a group of individuals to update the smart contract. The most likely candidates for this are the Core Devs themselves, but it could also be a trusted few from the community/stakeholders. No matter how you slice it, there is a fundamental issue in deciding who gets to decide. There currently is not a trusted/adopted governance mechanism to make these decisions within the Ethereum ecosytem. Also, preventing changing the contract in self interest is difficult without a well-engineered governance system of checks and balances. This EIP does not claim nor aim to solve these issues.
170+
Create a multisig that allows a group of individuals to update the smart contract. The most likely candidates for this are the Core Devs themselves, but it could also be a trusted few from the community/stakeholders. No matter how you slice it, there is a fundamental issue in deciding who gets to decide. There currently is not a trusted/adopted governance mechanism to make these decisions within the Ethereum ecosystem. Also, preventing changing the contract in self interest is difficult without a well-engineered governance system of checks and balances. This EIP does not claim nor aim to solve these issues.
168171

169-
* **Give the Keys to the Hands of the Many (Plutarchy)**
172+
- **Give the Keys to the Hands of the Many (Plutarchy)**
170173

171174
Allow ethereum holders with coin votes to update the smart contract. Using holographic consensus could overcome the issue of voter turnout as it scales as participation scales, even to the size of the whole network. This has some benefits as the entire network can participate. However, the problem is that some individuals in the network are over represented -- the wealthy. Without a solution to identity that has been agreed to and implemented by the entire Ethereum Network, there is no way around giving more power in votes to the rich. This EIP does not claim, nor aim to solve these issues.
172175

173-
* **Use Ethereum Governance as it is Today**
176+
- **Use Ethereum Governance as it is Today**
174177

175178
Criticisms or support aside, there is a system that governs Ethereum today. It is a mix of rough consensus among core devs, miners running nodes, clients implementing changes, and stakeholders adopting those changes. It includes yelling or not yelling on twitter and reddit. It is complicated and I don’t claim to understand it. Even without a clear view of how it works, there is evidence of its existence. This evidence is there are changes that have allowed to be implemented, and changes that have not allowed to be implemented in Ethereum.
176179

@@ -180,7 +183,7 @@ This EIP is not about governance reform.
180183

181184
### Why not allow current client implementors fund this work? (EF, Consensys, Parity, etc...)
182185

183-
Historically there has been a precedent that the Ethereum Foundation is solely responsible for funding the development of Ethereum. This process has evolved as the development has become more distributed. Aya Miyaguchi observed in a recent [Coindesk article](https://www.coindesk.com/ethereum-foundation-director-sets-new-vision-for-blockchain-non-profit), “it really is not only Ethereum Foundation people who are building [Ethereum]”. Yes, we could rely on the Ethereum Foundation to fund Eth1.X. But, why should we? This is a call for the network to come together and fund its own development. Ethereum _the network_ is not owned by any one organization or group of people. We are lucky to have the EF and I consider this EIP in support of their coordination efforts.
186+
Historically there has been a precedent that the Ethereum Foundation is solely responsible for funding the development of Ethereum. This process has evolved as the development has become more distributed. Aya Miyaguchi observed in a recent [Coindesk article](https://www.coindesk.com/ethereum-foundation-director-sets-new-vision-for-blockchain-non-profit), “it really is not only Ethereum Foundation people who are building [Ethereum]”. Yes, we could rely on the Ethereum Foundation to fund Eth1.X. But, why should we? This is a call for the network to come together and fund its own development. Ethereum *the network* is not owned by any one organization or group of people. We are lucky to have the EF and I consider this EIP in support of their coordination efforts.
184187

185188
### How Will Funding the Devs be Organized
186189

@@ -196,14 +199,14 @@ I am not a lawyer and will seek further guidance from lawyers in the field on th
196199
As the result of [REVES ET AL. v . ERNST YOUNG 1990](https://casetext.com/case/reves-v-ernst-young), the court stated that a home loan, consumer financing, a loan secured by a lien on a small business or some assets of a small business, short term notes, or notes that formalize a debt incurred in the ordinary course of business are not securities. If the note resembles the items listed above (home loans, etc.) then the note will not be deemed a security. The Supreme Court provided four factors to determine if a note sufficiently resembles the types of notes that are not classified as securities. ([source](https://www.invigorlaw.com/loan-subject-securities-regulations/))
197200

198201
**Family Resemblance Test**
202+
199203
1) The intentions of the company and the individual—if the company raised money for general use in a business enterprise, then the note is more likely to be a security; if the individual agreed to the loan primarily for the profit the note was expected to generate, the note is more likely to be a security.
200204
2) The plan of distribution—the more widely the note is offered, the more likely it is to be found a security.
201205
3) The expectations of the investing public—if the investors thought they were investing in a business to make a profit on their investment, the note is more likely to be found a security.
202206
4) Other risk-reducing factor—if the note is collateralized or otherwise less risky than common notes, the note is less likely to be found to be a security.
203207

204-
The loan is for the specific use of supporting Eth1.X research and development. The distribution will not be widely offered and the note will be collateralized by the network itself, provided in ETH and repaid in ETH. In coordinating the collection of these funds recognise I may be legally liable for some of this work and I will do all of the due dilegence I can, seek legal counsel, and accept any legal repercussions resulting from this work.
205-
206-
####
208+
The loan is for the specific use of supporting Eth1.X research and development. The distribution will not be widely offered and the note will be collateralized by the network itself, provided in ETH and repaid in ETH. In coordinating the collection of these funds recognise I may be legally liable for some of this work and I will do all of the due dilegence I can, seek legal counsel, and accept any legal repercussions resulting from this work.
207209

208210
## Copyright
211+
209212
Copyright and related rights waived via [CC0](../LICENSE.md).

EIPS/eip-2200.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ Examine examples provided in EIP-1087's Motivation (with `SLOAD_GAS` being
151151

152152
In order to keep in place the implicit reentrancy protection of
153153
existing contracts, transactions should not be allowed to modify state
154-
if the remaining gas is lower then the gas stipend given to
154+
if the remaining gas is lower than the gas stipend given to
155155
"transfer"/"send" in Solidity. These are other proposed remediations
156156
and objections to implementing them:
157157

0 commit comments

Comments
 (0)