Adding Addresses

‚Äč

Add Addresses

To add an address to an existing EIN, call the addAssociatedAddressDelegated function on the Identity Registry.

To remain a trustless process, adding an address requires two signatures - one from a current Associated Address, and one from the Associated Address to be claimed.

To add an Associated Address, call the addAddress function on the Snowflake smart contract with the approvingAddress, addressToAdd, r,s,v signatures from both addresses, and the timestamp of the function call.

Signatures should follow the example format:

require(
isSigned(
approvingAddress,
keccak256(
abi.encodePacked(
byte(0x19), byte(0), address(this),
"I authorize adding this address to my Identity.",
ein, addressToAdd, timestamp[0]
)
),
v[0], r[0], s[0]
),
"Permission denied from approving address."
);
require(
isSigned(
addressToAdd,
keccak256(
abi.encodePacked(
byte(0x19), byte(0), address(this),
"I authorize being added to this Identity.",
ein, addressToAdd, timestamp[1]
)
),
v[1], r[1], s[1]
),
"Permission denied from address to add."
);

ARGUMENTS

Parameter

Type

Description

approvingAddress

address

A current Associated Address of the EIN.

addressToAdd

address

Address to be added to the user's EIN.

[r], [s], [v] signatures

[bytes32], [bytes32], [uint8]

Signed messages from each address as required in the example format.

timestamp

uint

Timestamp of the function call - to prevent replay attacks.