API contratto conto ERC-20

È possibile utilizzare i seguenti metodi di controllo delle identità e degli accessi nei contratti conto ERC-20.

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.
  • maxDailyAmount: int256: la quantità massima di token che possono essere utilizzati nelle transazioni ogni giorno. Se il valore è -1, non ci sono limiti.
  • maxDailyTransactions: int256: il numero massimo di transazioni che possono essere completate quotidianamente. Se il valore è -1, non ci sono limiti.
  • applicationGroups: string[]: elenco dei gruppi di applicazioni a cui appartiene l'utente.
deleteAccount
Questo metodo elimina l'account dell'utente specificato. Questo metodo può essere chiamato solo da un Token Admin o da un Org Admin dell'organizzazione specificata.
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 Token Auditor, un Org Admin dell'organizzazione specificata, 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 Token Auditor, un Org Admin dell'organizzazione specificata, 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",
    "dailyLimits": {
          "isMaxDailyTxnEnabled": true,
    	  "isMaxDailyAmtEnabled": true, 
		  "dailyAmount": 100,
    	  "dailyTransactions": 5,
		  "maxDailyAmount": 100000,
    	  "maxDailyTransactions": 50,
          "applicationGroups":[]                
    },
	"status":0
}
getAllAccounts
Questo metodo ottiene tutti i conti, con output impaginato. Questo metodo può essere chiamato solo da Token Admin o Token Auditor.
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",
    "dailyLimits": {
          "isMaxDailyTxnEnabled": true,
    	  "isMaxDailyAmtEnabled": true, 
		  "dailyAmount": 100,
    	  "dailyTransactions": 5,
		  "maxDailyAmount": 100000,
    	  "maxDailyTransactions": 50,
		  "applicationGroups":[]           
	},
	"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 o da un Org Admin dell'organizzazione specificata.
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 o da un Org Admin dell'organizzazione specificata.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
setMaxDailyAmount
Questo metodo imposta la quantità massima di token che possono essere utilizzati quotidianamente nelle transazioni dall'utente specificato. Questo metodo può essere chiamato solo da un Token Admin o da un Org Admin dell'organizzazione specificata.
Parametri:
  • value: int256: la quantità massima di token che possono essere utilizzati nelle transazioni ogni giorno.
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
setMaxDailyTransactionCount
Questo metodo imposta il numero massimo di transazioni che possono essere completate giornalmente dall'utente specificato. Questo metodo può essere chiamato solo da un Token Admin o da un Org Admin dell'organizzazione specificata.
Parametri:
  • count: int256: il numero massimo di transazioni che possono essere completate quotidianamente.
  • 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 o Token Auditor.
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 Token Admin, Token Auditor, Org Admin o Org Auditor.
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.
addOrgAdmin
Questo metodo aggiunge un valore Org Admin. Questo metodo può essere chiamato solo da un Token Admin o Org Admin dell'organizzazione specificata.
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"    
    }
removeOrgAdmin
Questo metodo rimuove un valore Org Admin. Questo metodo può essere chiamato solo da un Token Admin o Org Admin dell'organizzazione specificata.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
getAllOrgAdmins
Questo metodo recupera le informazioni sull'account per tutti gli utenti Org Admin. Questo metodo può essere chiamato solo da Token Admin, Token Auditor, Org Admin o Org Auditor.
Parametri:
  • Nessuno
Esempio di valore restituito:
[{
    "userId": "orgadmin1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "orgadmin2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isOrgAdmin
Questo metodo controlla se un utente specificato è un Org Admin. Questo metodo può essere chiamato solo da Token Admin, Token Auditor, Org Admin o Org Auditor.
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 Org Admin.

Metodi di gestione del revisore

addTokenAuditor
Questo metodo aggiunge un valore Token Auditor. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • auditorDetails: object: oggetto che specifica l'ID utente, l'ID organizzazione e l'indirizzo del wallet, come mostrato nell'esempio riportato di seguito.
    {
        "userId": "tokenAuditor1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeTokenAuditor
Questo metodo rimuove un valore Token Auditor. Questo metodo può essere chiamato solo da un Token Admin.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
getAllTokenAuditors
Questo metodo recupera le informazioni sull'account per tutti gli utenti Token Auditor. Questo metodo può essere chiamato solo da un Token Admin o Token Auditor.
Parametri:
  • Nessuno
Esempio di valore restituito:
[{
    "userId": "tokenAuditor1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "tokenAuditor2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isTokenAuditor
Questo metodo controlla se un utente specificato è un Token Auditor. Questo metodo può essere chiamato da qualsiasi utente.
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 Auditor.
addOrgAuditor
Questo metodo aggiunge un valore Org Auditor. Questo metodo può essere chiamato solo da un Token Admin o Org Admin dell'organizzazione specificata.
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": "tokenAuditor1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeOrgAuditor
Questo metodo rimuove un valore Org Auditor. Questo metodo può essere chiamato solo da un Token Admin o Org Admin dell'organizzazione specificata.
Parametri:
  • userAddress: string: l'indirizzo wallet dell'utente, che non deve essere zero.
getAllOrgAuditors
Questo metodo recupera le informazioni sull'account per tutti gli utenti Org Auditor. Questo metodo può essere chiamato solo da Token Admin, Token Auditor, Org Admin o Org Auditor.
Parametri:
  • Nessuno
Esempio di valore restituito:
[{
    "userId": "orgAuditor1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "orgAuditor2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isOrgAuditor
Questo metodo controlla se un utente specificato è un Org Auditor. Questo metodo può essere chiamato da qualsiasi utente.
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 Org Auditor.

Metodi di gestione ruoli

addRole
Questo metodo aggiunge un ruolo a un utente specificato. Questo metodo può essere chiamato solo da un Token Admin o Org Admin dell'organizzazione specificata.
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.
removeRole
Questo metodo rimuove un ruolo dall'utente specificato. Questo metodo può essere chiamato solo da un Token Admin o Org Admin dell'organizzazione specificata.
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.
isInRole
Questo metodo controlla se un utente dispone di un ruolo specificato. Questo metodo può essere chiamato da qualsiasi utente.
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.
Restituzioni:
  • Valore booleano (true o false) che indica se l'utente dispone del ruolo specificato.
hasRole
Questo metodo controlla se un utente dispone di un ruolo specificato. Questo metodo può essere chiamato da qualsiasi utente.
Parametri:
  • account: string: l'indirizzo wallet dell'utente, che non deve essere zero.
  • role: bytes32: il nome del ruolo da controllare per l'utente specificato, ad esempio minter, burner o notary.
Restituzioni:
  • Valore booleano (true o false) che indica se l'utente dispone del ruolo specificato.

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 recupera i dettagli del contesto di governance. 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.