API de contrat de compte ERC-20

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

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.
  • maxDailyAmount: int256 : quantité maximale de jetons pouvant être utilisés dans les transactions quotidiennes. Si la valeur est -1, il n'y a aucune limite.
  • maxDailyTransactions: int256 : nombre maximal de transactions pouvant être effectuées quotidiennement. Si la valeur est -1, il n'y a aucune limite.
  • applicationGroups: string[] : liste des groupes d'applications auxquels l'utilisateur appartient.
deleteAccount
Cette méthode supprime le compte de l'utilisateur spécifié. 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 :
  • 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 Token Auditor, Org Admin de l'organisation indiquée 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 Token Auditor, Org Admin de l'organisation indiquée 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",
    "dailyLimits": {
          "isMaxDailyTxnEnabled": true,
    	  "isMaxDailyAmtEnabled": true, 
		  "dailyAmount": 100,
    	  "dailyTransactions": 5,
		  "maxDailyAmount": 100000,
    	  "maxDailyTransactions": 50,
          "applicationGroups":[]                
    },
	"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 ou Token Auditor.
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",
    "dailyLimits": {
          "isMaxDailyTxnEnabled": true,
    	  "isMaxDailyAmtEnabled": true, 
		  "dailyAmount": 100,
    	  "dailyTransactions": 5,
		  "maxDailyAmount": 100000,
    	  "maxDailyTransactions": 50,
		  "applicationGroups":[]           
	},
	"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 un élément Token Admin ou par un élément Org Admin de l'organisation indiquée.
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 un élément Token Admin ou par un élément Org Admin de l'organisation indiquée.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
setMaxDailyAmount
Cette méthode définit la quantité maximale de jetons pouvant être utilisés quotidiennement dans les transactions par l'utilisateur spécifié. 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 :
  • value: int256 : quantité maximale de jetons pouvant être utilisés dans les transactions quotidiennes.
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
setMaxDailyTransactionCount
Cette méthode définit le nombre maximum de transactions qui peuvent être effectuées quotidiennement par l'utilisateur spécifié. 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 :
  • count: int256 : nombre maximal de transactions pouvant être effectuées quotidiennement.
  • 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 ou Token Auditor.
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, Token Auditor, Org Admin ou Org Auditor.
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.
addOrgAdmin
Cette méthode ajoute une valeur Org Admin. Cette méthode ne peut être appelée que par un élément Token Admin ou Org Admin de l'organisation indiquée.
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"    
    }
removeOrgAdmin
Cette méthode enlève une valeur Org Admin. Cette méthode ne peut être appelée que par un élément Token Admin ou Org Admin de l'organisation indiquée.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
getAllOrgAdmins
Cette méthode obtient les informations de compte pour tous les utilisateurs Org Admin. Cette méthode ne peut être appelée que par Token Admin, Token Auditor, Org Admin ou Org Auditor.
Paramètres :
  • Aucun
Exemple de valeur renvoyée :
[{
    "userId": "orgadmin1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "orgadmin2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isOrgAdmin
Cette méthode vérifie si un utilisateur spécifié est un utilisateur Org Admin. Cette méthode ne peut être appelée que par Token Admin, Token Auditor, Org Admin ou Org Auditor.
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 Org Admin.

Méthodes de gestion d'auditeur

addTokenAuditor
Cette méthode ajoute une valeur Token Auditor. Cette méthode ne peut être appelée que par Token Admin.
Paramètres :
  • auditorDetails: object : objet qui indique l'ID utilisateur, l'ID d'organisation et l'adresse de portefeuille, comme indiqué dans l'exemple suivant.
    {
        "userId": "tokenAuditor1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeTokenAuditor
Cette méthode enlève une valeur Token Auditor. 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.
getAllTokenAuditors
Cette méthode obtient les informations de compte pour tous les utilisateurs Token Auditor. Cette méthode ne peut être appelée que par Token Admin ou Token Auditor.
Paramètres :
  • Aucun
Exemple de valeur renvoyée :
[{
    "userId": "tokenAuditor1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "tokenAuditor2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isTokenAuditor
Cette méthode vérifie si un utilisateur spécifié est un utilisateur Token Auditor. Cette méthode peut être appelée par n'importe quel utilisateur.
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 Auditor.
addOrgAuditor
Cette méthode ajoute une valeur Org Auditor. Cette méthode ne peut être appelée que par un élément Token Admin ou Org Admin de l'organisation indiquée.
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": "tokenAuditor1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeOrgAuditor
Cette méthode enlève une valeur Org Auditor. Cette méthode ne peut être appelée que par un élément Token Admin ou Org Admin de l'organisation indiquée.
Paramètres :
  • userAddress: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
getAllOrgAuditors
Cette méthode obtient les informations de compte pour tous les utilisateurs Org Auditor. Cette méthode ne peut être appelée que par Token Admin, Token Auditor, Org Admin ou Org Auditor.
Paramètres :
  • Aucun
Exemple de valeur renvoyée :
[{
    "userId": "orgAuditor1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "orgAuditor2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isOrgAuditor
Cette méthode vérifie si un utilisateur spécifié est un utilisateur Org Auditor. Cette méthode peut être appelée par n'importe quel utilisateur.
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 Org Auditor.

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 un élément Token Admin ou Org Admin de l'organisation indiquée.
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.
removeRole
Cette méthode supprime un rôle de l'utilisateur spécifié. Cette méthode ne peut être appelée que par un élément Token Admin ou Org Admin de l'organisation indiquée.
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.
isInRole
Cette méthode vérifie si un utilisateur a un rôle spécifié. Cette méthode peut être appelée par n'importe quel utilisateur.
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.
Retours :
  • Valeur booléenne (True ou False) indiquant si l'utilisateur dispose du rôle spécifié.
hasRole
Cette méthode vérifie si un utilisateur a un rôle spécifié. Cette méthode peut être appelée par n'importe quel utilisateur.
Paramètres :
  • account: string : adresse de portefeuille de l'utilisateur, qui ne doit pas être nulle.
  • role: bytes32 : nom du rôle à vérifier pour l'utilisateur spécifié, tel que minter, burner ou notary.
Retours :
  • Valeur booléenne (True ou False) indiquant si l'utilisateur dispose du rôle spécifié.

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 gouvernance. 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.