feat(data): EIPs
mds1 opened this issue · comments
Matt Solomon commented
This issue is eligible for a bounty paid out in ETH on OP Mainnet. Read CONTRIBUTING.md to learn how to qualify.
This should contain all live EIPs for a given chan. Initial suggested types, subject to change as needed, and fields can be made optional as needed:
type EIPParameter = {
name: string;
value: string | number | bigint | boolean
}
type EIP = {
number: number;
title: string;
link: string;
// The status should always be `Final` for now.
status: 'Draft' | 'Review' | 'Last Call' | 'Final' | 'Stagnant' | 'Withdrawn' | 'Living';
activeHardforks: MainnetHardfork[]; // Would need other enums for other chains, this enum is for mainnet only.
deprecated: boolean;
// Some EIPs have parameters, such as EIP-1559, but these parameters may not be the same on all
// chains. This field is intended to list the names and values of any parameters that exist.
parameters?: EIPParameter[];
};
Notes:
- All implemented mainnet EIPs can be found here. Trail of Bits' Building Secure Smart Contracts has a Forks <> EIPs section which may be helpful too. (They have this for Celo, Tron, and BSC also, but some/all of this might be out of date)
- There are
getHardforksFrom
andgetHardforksTo
methods for helping generate theactiveHardforks
range - Other EIPs may be final and not yet active, since they'll be in a future hard fork. These can be ignored for now.
Léo Vincent commented
Working on this issue atm
Léo Vincent commented
@mds1 We might need to re-open this issue since optimism and arbitrum EIPs have not been added yet.
Matt Solomon commented
Closing this issue as part of the move to automated data collection in #62. Some EIP specific data may be re-added when it can be detected automatically, but a new, better scoped issue will be created for that