diff --git a/docs/suite/identity-registry.md b/docs/suite/identity-registry.md index a9c5208..87a08a6 100644 --- a/docs/suite/identity-registry.md +++ b/docs/suite/identity-registry.md @@ -1 +1,89 @@ # Identity Registry + +The Identity Registry smart contract is a registry of identities. It is used by the Asset smart contract to verify that +a recipient is associated with a compliant identity. + +Each recipient address (that could be a wallet, a smart contract, or even an ONCHAINID) is associated with an ONCHAINID +in the Identity Registry (it maintains a mapping of `address -> ONCHAINID`). + +Multiple assets can share the same identity registry and thus the same rules for identities (same configuration of +required claims and trusted issuers). If assets have different rules, they must use different identity registries. + +## Methods + +### registerIdentity + +Register a mapping between an asset owner address and an ONCHAINID. Requires that the user doesn't have an identity +contract already registered. The method also expects a country integer code. This function can only be called by a +wallet set as agent of the smart contract. + +```solidity +function registerIdentity( + address userAddress, + address identity, + uint16 country +); +``` + +### deleteIdentity + +Removes a pairing between an asset owner address and an ONCHAINID. This function can only be called by a wallet set as +agent of the smart contract. + +```solidity +function deleteIdentity(address userAddress); +``` + +### updateCountry + +Update the country integer code stored for an asset owner address. This function can only be called by a wallet set as +agent of the smart contract. + +```solidity +function updateCountry(address userAddress, uint16 country); +``` + +### updateIdentity + +Update the ONCHAINID address stored for an asset owner address. This function can only be called by a wallet set as +agent of the smart contract. + +```solidity +function updateIdentity(address userAddress, address identity); +``` + +### isVerified + +A read only method that returns true if a given asset owner address is associated with an ONCHAINID that satisfies the +requirements for claims topics and trusted issuers. + +The method first retrieve the paired ONCHAINID address for the asset holder address, and then verified that there is at +least one valid claim (correct signature and not revoked) issuer by a trusted issuer for each required claim topic on +the ONCHAINID contract. + +```solidity +function isVerified(address userAddress) public view returns (bool); +``` + +## Configuration methods + +The owner of the Identity Registry can set the trusted issuer registry, the identity registry storage, and the required +claim topics registry. + +### setIdentityRegistryStorage + +```solidity +function setIdentityRegistryStorage(address identityRegistryStorage); +``` + +### setClaimTopicsRegistry + +```solidity +function setClaimTopicsRegistry(address claimTopicsRegistry); +``` + +### setTrustedIssuersRegistry + +```solidity +function setTrustedIssuersRegistry(address trustedIssuersRegistry); +``` diff --git a/docs/suite/suite.md b/docs/suite/suite.md index 6f4dac9..3fb04ae 100644 --- a/docs/suite/suite.md +++ b/docs/suite/suite.md @@ -26,7 +26,7 @@ part of the ERC3643 suite: - **Compliance Module**: modules implement specific requirements and rules for a compliance. They may require specific setup. - **Claim Issuer**: though claim issuers are part of the ONCHAINID standard, ERC3643 assumes claim issuers follow - the standard and implements the required `isClaimValid` method. + the standard and implement the required `isClaimValid` method. ```mermaid --- diff --git a/docusaurus.config.js b/docusaurus.config.js index bfd8d4f..8b55a5d 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -8,7 +8,7 @@ const darkCodeTheme = require('prism-react-renderer/themes/dracula'); const config = { title: 'ERC3643 documentation', tagline: 'Developer documentation for the ERC3643 regulated token standard', - favicon: 'img/favicon.ico', + favicon: 'img/favicon.png', // Set the production url of your site here url: 'https://erc3643.github.io/', @@ -71,7 +71,7 @@ const config = { title: 'ERC3643', logo: { alt: 'Logo ERC3643', - src: 'img/logo.svg', + src: 'img/erc3643.png', }, items: [ { diff --git a/src/css/custom.css b/src/css/custom.css index 2bc6a4c..e156061 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -6,8 +6,8 @@ /* You can override the default Infima variables here. */ :root { - --ifm-color-primary: #2e8555; - --ifm-color-primary-dark: #29784c; + --ifm-color-primary: #9094FBFF; + --ifm-color-primary-dark: #9094FBFF; --ifm-color-primary-darker: #277148; --ifm-color-primary-darkest: #205d3b; --ifm-color-primary-light: #33925d; @@ -19,11 +19,11 @@ /* For readability concerns, you should choose a lighter palette in dark mode. */ [data-theme='dark'] { - --ifm-color-primary: #25c2a0; - --ifm-color-primary-dark: #21af90; + --ifm-color-primary: #9094FBFF; + --ifm-color-primary-dark: #9094FBFF; --ifm-color-primary-darker: #1fa588; --ifm-color-primary-darkest: #1a8870; - --ifm-color-primary-light: #29d5b0; + --ifm-color-primary-light: #9094FBFF; --ifm-color-primary-lighter: #32d8b4; --ifm-color-primary-lightest: #4fddbf; --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); diff --git a/static/img/docusaurus-social-card.jpg b/static/img/docusaurus-social-card.jpg deleted file mode 100644 index ffcb448..0000000 Binary files a/static/img/docusaurus-social-card.jpg and /dev/null differ diff --git a/static/img/docusaurus.png b/static/img/docusaurus.png deleted file mode 100644 index f458149..0000000 Binary files a/static/img/docusaurus.png and /dev/null differ diff --git a/static/img/erc3643.png b/static/img/erc3643.png new file mode 100644 index 0000000..c97c746 Binary files /dev/null and b/static/img/erc3643.png differ diff --git a/static/img/favicon.ico b/static/img/favicon.ico deleted file mode 100644 index c01d54b..0000000 Binary files a/static/img/favicon.ico and /dev/null differ diff --git a/static/img/favicon.png b/static/img/favicon.png new file mode 100644 index 0000000..df8b6b6 Binary files /dev/null and b/static/img/favicon.png differ diff --git a/static/img/logo.svg b/static/img/logo.svg deleted file mode 100644 index 9db6d0d..0000000 --- a/static/img/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/img/social-card.png b/static/img/social-card.png new file mode 100644 index 0000000..50ea6dc Binary files /dev/null and b/static/img/social-card.png differ