ERC-1155 - API de contrat de compte

Vous pouvez utiliser les méthodes de contrôle d'identité et d'accès suivantes dans les contrats de compte ERC-1155.

Méthodes de gestion des comptes

createAccount
Cette méthode crée un compte pour l'utilisateur spécifié. Un compte doit être créé pour tout utilisateur qui aura des jetons à tout moment. Les comptes assurent le suivi des soldes et des soldes de blocage. Cette méthode ne peut être appelée que par un élément Token Admin ou par un élément Org Admin de l'organisation indiquée.
Paramètres :
  • userId: string : nom d'utilisateur ou ID d'adresse électronique de l'utilisateur. L'ID utilisateur ne peut pas être une chaîne vide.
  • orgId: string : ID du fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation actuelle. L'ID organisation ne doit pas être une chaîne vide.
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
deleteAccount
Cette méthode supprime le compte de l'utilisateur spécifié. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
getAccountStatus
Cette méthode obtient le statut actuel du compte de l'utilisateur spécifié. Cette méthode peut être appelée par Token Admin ou par le propriétaire du compte de jeton.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
Retours :
  • Valeur de l'objet AccountStatus enum, 0, 1 ou 2.
    enum AccountStatus {
    active,
    suspended,
    deleted
    }
getAccountByAddress
Cette méthode obtient le compte de l'utilisateur spécifié. Cette méthode peut être appelée par Token Admin ou par le propriétaire du compte de jeton.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
Exemple de valeur renvoyée :
{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
	"status":0
}
getAllAccounts
Cette méthode obtient tous les comptes, avec une sortie paginée. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • offset: uint256 : index de décalage qui indique où commencer à obtenir les informations sur le compte.
  • limit: uint256 – Nombre d'éléments à retourner.
Retours :
  • Return (UserAccount[] memory items, uint256 total, uint256 nextOffset)
Exemple de valeur renvoyée :
[{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
	"status":0
}]
total: 15
nextoffset: 6
activateAccount
Cette méthode active le compte de l'utilisateur spécifié. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
suspendAccount
Cette méthode active le compte de l'utilisateur spécifié. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.

Méthodes de gestion d'administration

addTokenAdmin
Cette méthode ajoute une valeur Token Admin. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • adminDetails: object : objet qui indique l'ID utilisateur, l'ID d'organisation et l'adresse de portefeuille, comme indiqué dans l'exemple suivant.
    {
        "userId": "tokenAdmin1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeTokenAdmin
Cette méthode enlève une valeur Token Admin. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
getAllTokenAdmins
Cette méthode obtient les informations de compte pour tous les utilisateurs Token Admin. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • Aucun
Exemple de valeur renvoyée :
[{
    "userId": "tokenadmin1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "tokenadmin2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isTokenAdmin
Cette méthode vérifie si un utilisateur spécifié est un utilisateur Token Admin. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
Retours :
  • Valeur booléenne (vrai ou faux) indiquant si l'utilisateur spécifié est un Token Admin.

Méthodes de gestion des rôles

addRole
Cette méthode ajoute un rôle à un utilisateur spécifié. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
  • role: string : nom du rôle à ajouter pour l'utilisateur spécifié, tel que minter, burner ou notary.
  • scopeId: uint256 : ID de portée, qui est un ID de classe NFT ou un ID de jeton fongible.
removeRole
Cette méthode supprime un rôle de l'utilisateur spécifié. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
  • role: string : nom du rôle à enlever pour l'utilisateur indiqué, tel que minter, burner ou notary.
  • scopeId: uint256 : ID de portée, qui est un ID de classe NFT ou un ID de jeton fongible.
isInRole
Cette méthode vérifie si un utilisateur a un rôle spécifié. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • role: string : nom du rôle à vérifier pour l'utilisateur spécifié, tel que minter, burner ou notary.
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
  • scopeId: uint256 : ID de portée, qui est un ID de classe NFT ou un ID de jeton fongible.
Retours :
  • Valeur booléenne (True ou False) indiquant si l'utilisateur dispose du rôle spécifié.
isInRole
Cette méthode vérifie si un utilisateur a un rôle spécifié. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • role: bytes32 : hachage Keccak-256 du nom du rôle à vérifier pour l'utilisateur spécifié, tel que minter, burner ou notary.
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
  • scopeId: uint256 : ID de portée, qui est un ID de classe NFT ou un ID de jeton fongible.
Retours :
  • Valeur booléenne (True ou False) indiquant si l'utilisateur dispose du rôle spécifié.
addTokenSysRole
Cette méthode ajoute le rôle TOKEN_SYS_VAULT_ROLE à l'utilisateur indiqué. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
  • role: string – Nom du rôle à ajouter. La seule valeur prise en charge est TOKEN_SYS_VAULT_ROLE.
Retours :
  • Valeur booléenne (True ou False).
removeTokenSysRole
Cette méthode enlève le rôle TOKEN_SYS_VAULT_ROLE d'un utilisateur spécifié. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
  • role: string – Nom du rôle à enlever. La seule valeur prise en charge est TOKEN_SYS_VAULT_ROLE.
Retours :
  • Valeur booléenne (True ou False).
transferTokenSysRole
Cette méthode transfère le rôle TOKEN_SYS_VAULT_ROLE d'un utilisateur spécifié vers un destinataire. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • fromAddress: string : adresse de portefeuille de l'utilisateur qui dispose actuellement du rôle TOKEN_SYS_VAULT_ROLE.
  • toAddress: string : adresse de portefeuille de l'utilisateur qui recevra le rôle TOKEN_SYS_VAULT_ROLE.
  • role: string – Nom du rôle à transférer. La seule valeur prise en charge est TOKEN_SYS_VAULT_ROLE.
Retours :
  • Valeur booléenne (True ou False).

Méthodes de gestion du contexte

setContext
Cette méthode définit l'adresse du contrat avec jeton pour le contrat de compte. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • tokenAddress: address : adresse du contrat du jeton déployé, qui ne doit pas être nulle.
getContext
Cette méthode obtient l'adresse de contrat avec jeton pour le contrat de compte. Cette méthode peut être appelée par n'importe quel utilisateur.
Paramètres :
  • Aucun
Retours
  • Adresse du contrat de jeton
setGovernanceContext
Cette méthode définit le contrat de gouvernance à utiliser pour gérer le cycle de vie de gouvernance du contrat de compte. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • uuid: string – ID unique défini par les ressources numériques Token Admin avant le déploiement du contrat.
  • governance: address – L'adresse du contrat de gouvernance déployé, qui ne doit pas être nulle.
getGovernanceContext
Cette méthode obtient les détails du contexte de gestion. Cette méthode peut être appelée par n'importe quel utilisateur.
Paramètres :
  • Aucun
Retours
  • Objet governanceContext.
Exemple de valeur renvoyée :
{
    "governanceUUID": "abc-def",
    "governance": "0x0000000",
	"deploymentActive": "true"
}
isDeploymentActive
Cette méthode vérifie si le déploiement est actif. Cette méthode peut être appelée par n'importe quel utilisateur.
Paramètres :
  • Aucun
Retours :
  • Valeur booléenne (True ou False) indiquant si le déploiement est actif.