diff --git a/contracts/registry/README.md b/contracts/registry/README.md index 205f2e6..e7954cd 100644 --- a/contracts/registry/README.md +++ b/contracts/registry/README.md @@ -10,13 +10,20 @@ This implementation requires an admin account (could be a DAO) to add an issuer ## SBT mint -The minting process is a procedure where we assign a new token to the provided receiver and keep track of it in the registry. The `sbt_mint` method must be called by a issuer that is opted-in. Additional: +The minting process is a procedure where we assign a new token to the provided receiver and keep track of it in the registry. The `sbt_mint` method must be called by a issuer that is opted-in. Additionally: - each `TokenMetadata` provided must have a non zero `class`, - enough `Near` must be attached to cover the registry storage cost must be provided. The method will emit the [`Mint`](https://github.com/alpha-fi/i-am-human/blob/master/contracts/sbt/src/events.rs#L69) event when successful. There might be a case when the token vector provided is too long, and the gas is not enough to cover the minting process, then it will panic with `out of gas`. +### Issuers + +SBT minting is done by an external entity, usually DAO (but can be any contract or account). In the current implementation, only whitelisted issuers are authorized to mint tokens until we will have more established governance and the protocol will get enough stability. +The diagram below outlines different entities involved in minting process. Issuers always mints tokens under his own namespace. Moreover, when minting, an issuer must specify non zero `class` for every token (this is set in `TokenMetadata`). A recipient can have at most one SBT of the same class. + +![Issuers and minting](./issuers.jpg) + ## Additional Queries The IAH Registry supports the following extra queries, which are not part of the NEP-393 standard. See the function docs for more complete documentation. diff --git a/contracts/registry/issuers.jpg b/contracts/registry/issuers.jpg new file mode 100644 index 0000000..285c04b Binary files /dev/null and b/contracts/registry/issuers.jpg differ