mirror of https://github.com/status-im/EIPs.git
Automatically merged updates to draft EIP(s) 1484
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
3a484db94d
commit
729bb4a575
|
@ -25,7 +25,7 @@ The proliferation of on-chain identity solutions can be traced back to the fact
|
|||
|
||||
- `Identity`: A data structure containing all the information relevant to a particular identity. They are denominated by EINs (incrementing `uint`s), which are unique but uninformative.
|
||||
|
||||
- `Associated Address`: An Ethereum address publicly associated with an `Identity`. In order for an address to become an `Associated Address` for an `Identity`, the `Identity` must produce signed messages from the candidate address and an existing `Associated Address` indicating this intent. Identities can remove an `Associated Address` by producing a signed message indicating intent to disassociate itself from the `Identity`. Signatures are stored in the `Registry` to prevent replay attacks. An address may only be an `Associated Address` for one `Identity` at any given time.
|
||||
- `Associated Address`: An Ethereum address publicly associated with an `Identity`. In order for an address to become an `Associated Address` for an `Identity`, the `Identity` must produce signed messages from the candidate address and an existing `Associated Address` indicating this intent. Identities can remove an `Associated Address` by producing a signed message indicating intent to disassociate itself from the `Identity`. Signatures must include a timestamp within a rolling lagged window of the current `block.timestamp` to prevent replay attacks. An address may only be an `Associated Address` for one `Identity` at any given time.
|
||||
|
||||
- `Provider`: An Ethereum address (typically but not by definition a smart contract) authorized to add and remove `Associated Addresses`, `Providers`, and `Resolvers` from `Identities` who have authorized the `Provider` to act on their behalf. `Providers` exist to facilitate user adoption, and make it easier to manage `Identities`.
|
||||
|
||||
|
@ -169,7 +169,8 @@ Preforms the same logic as `mintIdentity`, but is called by a `Provider`. This f
|
|||
|
||||
```solidity
|
||||
function mintIdentityDelegated(
|
||||
address recoveryAddress, address associatedAddress, address[] resolvers, uint8 v, bytes32 r, bytes32 s
|
||||
address recoveryAddress, address associatedAddress, address[] resolvers,
|
||||
uint8 v, bytes32 r, bytes32 s, uint timestamp
|
||||
) public returns (uint ein);
|
||||
```
|
||||
|
||||
|
@ -177,11 +178,11 @@ Triggers event: [IdentityMinted](#identityminted)
|
|||
|
||||
#### addAddress
|
||||
|
||||
Adds the `addressToAdd` to the passed `EIN`. Requires signatures from both the `addressToAdd` and the `approvingAddress`.
|
||||
Adds the `addressToAdd` to the `EIN` of the `approvingAddress`. Requires signatures from both the `approvingAddress` and the `addressToAdd`.
|
||||
|
||||
```solidity
|
||||
function addAddress(
|
||||
uint ein, address addressToAdd, address approvingAddress, uint8[2] v, bytes32[2] r, bytes32[2] s, uint salt
|
||||
address approvingAddress, address addressToAdd, uint8[2] v, bytes32[2] r, bytes32[2] s, uint timestamp
|
||||
) public;
|
||||
```
|
||||
|
||||
|
@ -189,10 +190,10 @@ Triggers event: [AddressAdded](#addressadded)
|
|||
|
||||
#### removeAddress
|
||||
|
||||
Removes an `addressToRemove` from the passed `EIN`. Requires a signature from the `addressToRemove`.
|
||||
Removes the `addressToRemove` from its associated `EIN`. Requires a signature from the `addressToRemove`.
|
||||
|
||||
```solidity
|
||||
function removeAddress(uint ein, address addressToRemove, uint8 v, bytes32 r, bytes32 s, uint salt) public;
|
||||
function removeAddress(address addressToRemove, uint8 v, bytes32 r, bytes32 s, uint timestamp) public;
|
||||
```
|
||||
|
||||
Triggers event: [AddressRemoved](#addressremoved)
|
||||
|
@ -417,12 +418,13 @@ contract ERC1484 {
|
|||
|
||||
function mintIdentity(address recoveryAddress, address provider, address[] resolvers) public returns (uint ein);
|
||||
function mintIdentityDelegated(
|
||||
address recoveryAddress, address associatedAddress, address[] resolvers, uint8 v, bytes32 r, bytes32 s
|
||||
address recoveryAddress, address associatedAddress, address[] resolvers,
|
||||
uint8 v, bytes32 r, bytes32 s, uint timestamp
|
||||
) public returns (uint ein);
|
||||
function addAddress(
|
||||
uint ein, address addressToAdd, address approvingAddress, uint8[2] v, bytes32[2] r, bytes32[2] s, uint salt
|
||||
address approvingAddress, address addressToAdd, uint8[2] v, bytes32[2] r, bytes32[2] s, uint timestamp
|
||||
) public;
|
||||
function removeAddress(uint ein, address addressToRemove, uint8 v, bytes32 r, bytes32 s, uint salt) public;
|
||||
function removeAddress(address addressToRemove, uint8 v, bytes32 r, bytes32 s, uint timestamp) public;
|
||||
function addProviders(address[] providers) public;
|
||||
function addProviders(uint ein, address[] providers) public;
|
||||
function removeProviders(address[] providers) public;
|
||||
|
|
Loading…
Reference in New Issue