mirror of
https://github.com/status-im/EIPs.git
synced 2025-01-27 07:05:47 +00:00
Automatically merged updates to draft EIP(s) 1193
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
This commit is contained in:
parent
5beae0a433
commit
cd65060a4b
@ -1,7 +1,7 @@
|
||||
---
|
||||
eip: 1193
|
||||
title: Ethereum Provider JavaScript API
|
||||
author: Ryan Ghods (@ryanio), Marc Garreau (@marcgarreau)
|
||||
author: Ryan Ghods (@ryanio), Marc Garreau (@marcgarreau), Fabian Vogelsteller (@frozeman), Victor Maia (@MaiaVictor)
|
||||
discussions-to: https://ethereum-magicians.org/t/eip-1193-ethereum-provider-javascript-api/640
|
||||
status: Draft
|
||||
type: Standards Track
|
||||
@ -38,7 +38,7 @@ By default, the provider supplied to a new dapp has is a "read-only" provider wi
|
||||
|
||||
To request accounts, call `ethereum.send('eth_requestAccounts')`. This will ask the user which account(s) they would like to authenticate to the dapp.
|
||||
|
||||
Promise resolves with an array of the account(s) public keys.
|
||||
Promise resolves with an array of the account(s) addresses.
|
||||
|
||||
### Events
|
||||
|
||||
@ -99,7 +99,7 @@ The provider emits `accountsChanged` if the accounts returned from the provider
|
||||
ethereum.on('accountsChanged', listener: (accounts: Array<String>) => void): this;
|
||||
```
|
||||
|
||||
The event emits with `accounts`, an array of the accounts' public keys.
|
||||
The event emits with `accounts`, an array of the accounts' addresses.
|
||||
|
||||
### Constructor
|
||||
|
||||
@ -238,7 +238,7 @@ If the dapp has been previously authenticated and remembered by the user, then t
|
||||
|
||||
If no accounts are authenticated, the `eth_requestAccounts` method **MUST** ask the user which account(s) they would like to authenticate to the dapp. If the request has been previously granted and remembered, the `eth_requestAccounts` method **MAY** immediately return.
|
||||
|
||||
The `eth_requestAccounts` method **MUST** resolve with an array of the account(s) public keys or reject with an `Error`. If the account(s) enabled by the provider change, the `accountsChanged` event **MUST** also emit.
|
||||
The `eth_requestAccounts` method **MUST** resolve with an array of the account(s) addresses or reject with an `Error`. If the account(s) enabled by the provider change, the `accountsChanged` event **MUST** also emit.
|
||||
|
||||
### Events
|
||||
|
||||
@ -260,7 +260,7 @@ If the network the provider is connected to changes, the provider **MUST** emit
|
||||
|
||||
#### accountsChanged
|
||||
|
||||
If the accounts connected to the Ethereum Provider change, the Ethereum Provider **MUST** send an event with the name `accountsChanged` with args `accounts: Array<String>` containing the accounts' public key(s).
|
||||
If the accounts connected to the Ethereum Provider change at any time, the Ethereum Provider **MUST** send an event with the name `accountsChanged` with args `accounts: Array<String>` containing the accounts' addresses.
|
||||
|
||||
### Class
|
||||
|
||||
@ -268,7 +268,7 @@ The name of the constructor of the Ethereum Provider **MUST** be `EthereumProvid
|
||||
|
||||
### web3.js Backwards Compatibility
|
||||
|
||||
If the implementing Ethereum Provider would like to be compatible with `web3.js` prior to `1.0.0-beta37`, it **MUST** provide two methods: `sendAsync(payload: Object, callback: (error: any, result: any) => void): void` and `isConnected(): Boolean`.
|
||||
If the implementing Ethereum Provider would like to be compatible with `web3.js` prior to `1.0.0-beta38`, it **MUST** provide two methods: `sendAsync(payload: Object, callback: (error: any, result: any) => void): void` and `isConnected(): Boolean`.
|
||||
|
||||
### Error object and codes
|
||||
|
||||
@ -276,11 +276,12 @@ If an Error object is returned, it **MUST** contain a human readable string mess
|
||||
|
||||
Appropriate error codes **SHOULD** follow the table of [`CloseEvent` status codes](https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent#Status_codes), along with the following table:
|
||||
|
||||
| Status code | Name | Description |
|
||||
| ----------- | ---------------------------- | ---------------------------------------------------------- |
|
||||
| 4001 | User Denied Request Accounts | User denied authorizing any accounts for the dapp. |
|
||||
| 4010 | User Denied Create Account | User denied creating a new account. |
|
||||
| 4100 | Unauthorized | The requested account has not been authorized by the user. |
|
||||
| Status code | Name | Description |
|
||||
| ----------- | ---------------------------- | --------------------------------------------------------------------- |
|
||||
| 4001 | User Denied Request Accounts | User denied authorizing any accounts for the dapp. |
|
||||
| 4010 | User Denied Create Account | User denied creating a new account. |
|
||||
| 4100 | Unauthorized | The requested account has not been authorized by the user. |
|
||||
| 4200 | Unsupported Method | The requested method is not supported by the given Ethereum Provider. |
|
||||
|
||||
## Sample Class Implementation
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user