-
Notifications
You must be signed in to change notification settings - Fork 5.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1193: Make spec availability-agnostic #2588
Conversation
cc: @adrianmcli @ryanio |
Hi! I'm a bot, and I wanted to automerge your PR, but couldn't because of the following issue(s):
|
The diff looks good to me! Nice work @rekmarks |
I like it to be generic. Though we should talk about how a multi EVM chain future can be possible with this provider. E.g. |
@frozeman I was thinking about how to change the That'd be a different PR, of course, but the two things that come to mind are:
request(method: string, params: Object | Array, config: Object): Promise<unknown>
interface RequestArgs {
method: string;
params: Array | Object;
chainId?: string;
...otherStuff: Array<any>;
}
request(args: RequestArgs): Promise<unknown> |
Hi, I'm a bot! This change was automatically merged because: - It only modifies existing Draft or Last Call EIP(s) - The PR was approved or written by at least one author of each modified EIP - The build is passing
Hi, I'm a bot! This change was automatically merged because: - It only modifies existing Draft or Last Call EIP(s) - The PR was approved or written by at least one author of each modified EIP - The build is passing
Hi, I'm a bot! This change was automatically merged because: - It only modifies existing Draft or Last Call EIP(s) - The PR was approved or written by at least one author of each modified EIP - The build is passing
File: https://github.com/rekmarks/EIPs/blob/1193-availability/EIPS/eip-1193.md
For the purpose of this PR, let's define the problem of how to expose the Provider API as "availability" or "the availability problem."
Per this comment by @alcuadrado, one of the concerns from the 1193 meeting at Devcon 5 was:
Meanwhile, the proposed solution was:
The goal of stripping all (normative) availability-related language was never fully realized, and recently merged PRs (#2577, #2586) in fact introduced more such language.
This PR makes the spec completely availability-agnostic, while including a non-normative section noting that
window.ethereum
is, by convention, the de facto standard for exposing the Provider API. Said section notes some limitations of this convention, for the benefit of Provider implementers, dapp developers, and future authors of future EIPs.Code examples remain unchanged, and use the
window.ethereum
convention (although note that it is merely a convention).