API contratto conto ERC-1155

È possibile utilizzare i seguenti metodi di controllo dell'identità e dell'accesso nei contratti conto ERC-1155.

Metodi di gestione degli account

createAccount
Questo metodo crea un account per un utente specificato. È necessario creare un account per qualsiasi utente che avrà token in qualsiasi momento. I conti tengono traccia dei saldi e dei saldi in sospeso. Questo metodo può essere chiamato solo da un Token Admin o da un Org Admin dell'organizzazione specificata.
Parametri:
  • userId: string: il nome utente o l'ID e-mail dell'utente. L'ID utente non può essere una stringa vuota.
  • orgId: string - L'ID MSP (Membership Service Provider) dell'utente nell'organizzazione corrente. L'ID organizzazione non deve essere una stringa vuota.
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
deleteAccount
Questo metodo elimina l'account dell'utente specificato. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
getAccountStatus
Questo metodo recupera lo stato dell'account corrente dell'utente specificato. Questo metodo può essere chiamato da Token Admin o dal proprietario dell'account token.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
Restituzioni:
  • Valore dell'oggetto AccountStatus enum, 0, 1 o 2.
    enum AccountStatus {
    active,
    suspended,
    deleted
    }
getAccountByAddress
Questo metodo recupera l'account dell'utente specificato. Questo metodo può essere chiamato da Token Admin o dal proprietario dell'account token.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
Esempio di valore restituito:
{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
	"status":0
}
getAllAccounts
Questo metodo ottiene tutti i conti, con output impaginato. Questo metodo può essere chiamato solo da Token Admin.
Parametri:
  • offset: uint256: indice di offset che indica dove iniziare a ottenere le informazioni sull'account.
  • limit: uint256: il numero di elementi da restituire.
Restituzioni:
  • Return (UserAccount[] memory items, uint256 total, uint256 nextOffset)
Esempio di valore restituito:
[{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
	"status":0
}]
total: 15
nextoffset: 6
activateAccount
Questo metodo attiva l'account dell'utente specificato. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
suspendAccount
Questo metodo attiva l'account dell'utente specificato. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.

Metodi di gestione amministrazione

addTokenAdmin
Questo metodo aggiunge un valore Token Admin. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • adminDetails: object: oggetto che specifica l'ID utente, l'ID organizzazione e l'indirizzo del wallet, come mostrato nell'esempio riportato di seguito.
    {
        "userId": "tokenAdmin1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeTokenAdmin
Questo metodo rimuove un valore Token Admin. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
getAllTokenAdmins
Questo metodo recupera le informazioni sull'account per tutti gli utenti Token Admin. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • Nessuno
Esempio di valore restituito:
[{
    "userId": "tokenadmin1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "tokenadmin2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isTokenAdmin
Questo metodo controlla se un utente specificato è un Token Admin. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
Restituzioni:
  • Valore booleano (true o false) che indica se l'utente specificato è un valore Token Admin.

Metodi di gestione ruoli

addRole
Questo metodo aggiunge un ruolo a un utente specificato. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
  • role: string: il nome del ruolo da aggiungere per l'utente specificato, ad esempio minter, burner o notary.
  • scopeId: uint256: l'ID ambito, che è un ID classe NFT o un ID token fungibile.
removeRole
Questo metodo rimuove un ruolo dall'utente specificato. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
  • role: string: il nome del ruolo da rimuovere per l'utente specificato, ad esempio minter, burner o notary.
  • scopeId: uint256: l'ID ambito, che è un ID classe NFT o un ID token fungibile.
isInRole
Questo metodo controlla se un utente dispone di un ruolo specificato. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • role: string: il nome del ruolo da controllare per l'utente specificato, ad esempio minter, burner o notary.
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
  • scopeId: uint256: l'ID ambito, che è un ID classe NFT o un ID token fungibile.
Restituzioni:
  • Valore booleano (true o false) che indica se l'utente dispone del ruolo specificato.
isInRole
Questo metodo controlla se un utente dispone di un ruolo specificato. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • role: bytes32 – L'hash Keccak-256 del nome del ruolo da controllare per l'utente specificato, come minter, burner, o notary.
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
  • scopeId: uint256: l'ID ambito, che è un ID classe NFT o un ID token fungibile.
Restituzioni:
  • Valore booleano (true o false) che indica se l'utente dispone del ruolo specificato.
addTokenSysRole
Questo metodo aggiunge il ruolo TOKEN_SYS_VAULT_ROLE a un utente specificato. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
  • role: string: il nome del ruolo da aggiungere. L'unico valore supportato è TOKEN_SYS_VAULT_ROLE.
Restituzioni:
  • Valore booleano (true o false).
removeTokenSysRole
Questo metodo rimuove il ruolo TOKEN_SYS_VAULT_ROLE da un utente specificato. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
  • role: string: il nome del ruolo da rimuovere. L'unico valore supportato è TOKEN_SYS_VAULT_ROLE.
Restituzioni:
  • Valore booleano (true o false).
transferTokenSysRole
Questo metodo trasferisce il ruolo TOKEN_SYS_VAULT_ROLE da un utente specificato a un destinatario. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • fromAddress: string: l'indirizzo del wallet dell'utente che attualmente dispone del ruolo TOKEN_SYS_VAULT_ROLE.
  • toAddress: string: l'indirizzo wallet dell'utente che riceverà il ruolo TOKEN_SYS_VAULT_ROLE.
  • role: string: il nome del ruolo da trasferire. L'unico valore supportato è TOKEN_SYS_VAULT_ROLE.
Restituzioni:
  • Valore booleano (true o false).

Metodi di gestione del contesto

setContext
Questo metodo imposta l'indirizzo del contratto token per il contratto conto. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • tokenAddress: address: l'indirizzo del contratto del token distribuito, che non deve essere zero.
getContext
Questo metodo recupera l'indirizzo del contratto token per il contratto conto. Questo metodo può essere chiamato da qualsiasi utente.
Parametri:
  • Nessuno
Restituzioni
  • Indirizzo contratto token
setGovernanceContext
Questo metodo imposta il contratto di governance da utilizzare per gestire il ciclo di vita della governance per il contratto conto. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • uuid: string: l'ID univoco impostato dagli asset digitali Token Admin prima della distribuzione del contratto.
  • governance: address – L'indirizzo contrattuale del contratto di governance distribuito, che non deve essere zero.
getGovernanceContext
Questo metodo ottiene i dettagli del contesto di gestione. Questo metodo può essere chiamato da qualsiasi utente.
Parametri:
  • Nessuno
Restituzioni
  • Oggetto governanceContext.
Esempio di valore restituito:
{
    "governanceUUID": "abc-def",
    "governance": "0x0000000",
	"deploymentActive": "true"
}
isDeploymentActive
Questo metodo controlla se la distribuzione è attiva. Questo metodo può essere chiamato da qualsiasi utente.
Parametri:
  • Nessuno
Restituzioni:
  • Valore booleano (true o false) che indica se la distribuzione è attiva.