ERC-20-Accountvertrags-APIs

Sie können die folgenden Identitäts- und Zugriffskontrollmethoden in ERC-20-Kontoverträgen verwenden.

Kontoverwaltungsmethoden

createAccount
Mit dieser Methode wird ein Account für einen angegebenen Benutzer erstellt. Ein Konto muss für jeden Benutzer erstellt werden, der zu einem beliebigen Zeitpunkt Token hat. Konten verfolgen Salden und einbehaltene Salden. Diese Methode kann nur von einer Token Admin oder einer Org Admin der angegebenen Organisation aufgerufen werden.
Parameter:
  • userId: string: Der Benutzername oder die E-Mail-ID des Benutzers. Die Benutzer-ID darf keine leere Zeichenfolge sein.
  • orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation. Die Organisationskennung darf keine leere Zeichenfolge sein.
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
  • maxDailyAmount: int256: Die maximale Anzahl von Token, die täglich in Transaktionen verwendet werden können. Wenn der Wert -1 ist, gibt es keine Begrenzung.
  • maxDailyTransactions: int256: Die maximale Anzahl von Transaktionen, die täglich abgeschlossen werden können. Wenn der Wert -1 ist, gibt es keine Begrenzung.
  • applicationGroups: string[]: Eine Liste der Anwendungsgruppen, zu denen der Benutzer gehört.
deleteAccount
Mit dieser Methode wird der Account des angegebenen Benutzers gelöscht. Diese Methode kann nur von einer Token Admin oder einer Org Admin der angegebenen Organisation aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
getAccountStatus
Diese Methode ruft den aktuellen Kontostatus des angegebenen Benutzers ab. Diese Methode kann von Token Admin oder Token Auditor, einem Org Admin der angegebenen Organisation oder vom Eigentümer des Tokenaccounts aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
Rücksendungen:
  • Ein Wert des Objekts AccountStatus enum, entweder 0, 1 oder 2.
    enum AccountStatus {
    active,
    suspended,
    deleted
    }
getAccountByAddress
Diese Methode ruft den Account des angegebenen Benutzers ab. Diese Methode kann von Token Admin oder Token Auditor, einem Org Admin der angegebenen Organisation oder vom Eigentümer des Tokenaccounts aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
Beispiel für Rückgabewert:
{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
    "dailyLimits": {
          "isMaxDailyTxnEnabled": true,
    	  "isMaxDailyAmtEnabled": true, 
		  "dailyAmount": 100,
    	  "dailyTransactions": 5,
		  "maxDailyAmount": 100000,
    	  "maxDailyTransactions": 50,
          "applicationGroups":[]                
    },
	"status":0
}
getAllAccounts
Diese Methode ruft alle Konten mit paginierter Ausgabe ab. Diese Methode kann nur mit Token Admin oder Token Auditor aufgerufen werden.
Parameter:
  • offset: uint256: Der Offsetindex, der angibt, wo mit dem Abrufen von Kontoinformationen begonnen werden soll.
  • limit: uint256: Die Anzahl der zurückzugebenden Objekte.
Rücksendungen:
  • Return (UserAccount[] memory items, uint256 total, uint256 nextOffset)
Beispiel für Rückgabewert:
[{
    "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
Mit dieser Methode wird der Account des angegebenen Benutzers aktiviert. Diese Methode kann nur von einer Token Admin oder einer Org Admin der angegebenen Organisation aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
suspendAccount
Mit dieser Methode wird der Account des angegebenen Benutzers aktiviert. Diese Methode kann nur von einer Token Admin oder einer Org Admin der angegebenen Organisation aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
setMaxDailyAmount
Diese Methode legt die maximale Anzahl von Token fest, die täglich vom angegebenen Benutzer in Transaktionen verwendet werden können. Diese Methode kann nur von einer Token Admin oder einer Org Admin der angegebenen Organisation aufgerufen werden.
Parameter:
  • value: int256: Die maximale Anzahl von Token, die täglich in Transaktionen verwendet werden können.
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
setMaxDailyTransactionCount
Diese Methode legt die maximale Anzahl von Transaktionen fest, die vom angegebenen Benutzer täglich abgeschlossen werden können. Diese Methode kann nur von einer Token Admin oder einer Org Admin der angegebenen Organisation aufgerufen werden.
Parameter:
  • count: int256: Die maximale Anzahl von Transaktionen, die täglich abgeschlossen werden können.
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.

Admin-Verwaltungsmethoden

addTokenAdmin
Diese Methode fügt eine Token Admin hinzu. Diese Methode kann nur mit einem Token Admin aufgerufen werden.
Parameter:
  • adminDetails: object: Ein Objekt, das die Benutzer-ID, Organisations-ID und Wallet-Adresse angibt, wie im folgenden Beispiel dargestellt.
    {
        "userId": "tokenAdmin1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeTokenAdmin
Diese Methode entfernt eine Token Admin. Diese Methode kann nur mit einem Token Admin aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
getAllTokenAdmins
Diese Methode ruft Accountinformationen für alle Token Admin-Benutzer ab. Diese Methode kann nur mit einer Token Admin oder Token Auditor aufgerufen werden.
Parameter:
  • Keine
Beispiel für Rückgabewert:
[{
    "userId": "tokenadmin1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "tokenadmin2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isTokenAdmin
Diese Methode prüft, ob ein angegebener Benutzer ein Token Admin ist. Diese Methode kann nur mit Token Admin, Token Auditor, Org Admin oder Org Auditor aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
Rücksendungen:
  • Ein boolescher Wert (true oder false), der angibt, ob der angegebene Benutzer ein Token Admin-Wert ist.
addOrgAdmin
Diese Methode fügt eine Org Admin hinzu. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden.
Parameter:
  • adminDetails: object: Ein Objekt, das die Benutzer-ID, Organisations-ID und Wallet-Adresse angibt, wie im folgenden Beispiel dargestellt.
    {
        "userId": "tokenAdmin1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeOrgAdmin
Diese Methode entfernt eine Org Admin. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
getAllOrgAdmins
Diese Methode ruft Accountinformationen für alle Org Admin-Benutzer ab. Diese Methode kann nur mit Token Admin, Token Auditor, Org Admin oder Org Auditor aufgerufen werden.
Parameter:
  • Keine
Beispiel für Rückgabewert:
[{
    "userId": "orgadmin1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "orgadmin2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isOrgAdmin
Diese Methode prüft, ob ein angegebener Benutzer ein Org Admin ist. Diese Methode kann nur mit Token Admin, Token Auditor, Org Admin oder Org Auditor aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
Rücksendungen:
  • Ein boolescher Wert (true oder false), der angibt, ob der angegebene Benutzer ein Org Admin-Wert ist.

Auditor Management-Methoden

addTokenAuditor
Diese Methode fügt eine Token Auditor hinzu. Diese Methode kann nur mit einem Token Admin aufgerufen werden.
Parameter:
  • auditorDetails: object: Ein Objekt, das die Benutzer-ID, Organisations-ID und Wallet-Adresse angibt, wie im folgenden Beispiel dargestellt.
    {
        "userId": "tokenAuditor1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeTokenAuditor
Diese Methode entfernt eine Token Auditor. Diese Methode kann nur mit einem Token Admin aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
getAllTokenAuditors
Diese Methode ruft Accountinformationen für alle Token Auditor-Benutzer ab. Diese Methode kann nur mit einer Token Admin oder Token Auditor aufgerufen werden.
Parameter:
  • Keine
Beispiel für Rückgabewert:
[{
    "userId": "tokenAuditor1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "tokenAuditor2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isTokenAuditor
Diese Methode prüft, ob ein angegebener Benutzer ein Token Auditor ist. Diese Methode kann von jedem Benutzer aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
Rücksendungen:
  • Ein boolescher Wert (true oder false), der angibt, ob der angegebene Benutzer ein Token Auditor-Wert ist.
addOrgAuditor
Diese Methode fügt eine Org Auditor hinzu. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden.
Parameter:
  • adminDetails: object: Ein Objekt, das die Benutzer-ID, Organisations-ID und Wallet-Adresse angibt, wie im folgenden Beispiel dargestellt.
    {
        "userId": "tokenAuditor1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeOrgAuditor
Diese Methode entfernt eine Org Auditor. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
getAllOrgAuditors
Diese Methode ruft Accountinformationen für alle Org Auditor-Benutzer ab. Diese Methode kann nur mit Token Admin, Token Auditor, Org Admin oder Org Auditor aufgerufen werden.
Parameter:
  • Keine
Beispiel für Rückgabewert:
[{
    "userId": "orgAuditor1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "orgAuditor2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isOrgAuditor
Diese Methode prüft, ob ein angegebener Benutzer ein Org Auditor ist. Diese Methode kann von jedem Benutzer aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
Rücksendungen:
  • Ein boolescher Wert (true oder false), der angibt, ob der angegebene Benutzer ein Org Auditor-Wert ist.

Rollenverwaltungsmethoden

addRole
Diese Methode fügt einem angegebenen Benutzer eine Rolle hinzu. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
  • role: string: Der Name der Rolle, die für den angegebenen Benutzer hinzugefügt werden soll, wie minter, burner oder notary.
removeRole
Mit dieser Methode wird eine Rolle aus dem angegebenen Benutzer entfernt. Diese Methode kann nur von einem Token Admin oder Org Admin der angegebenen Organisation aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
  • role: string: Der Name der Rolle, die für den angegebenen Benutzer entfernt werden soll, wie minter, burner oder notary.
isInRole
Diese Methode prüft, ob ein Benutzer eine bestimmte Rolle hat. Diese Methode kann von jedem Benutzer aufgerufen werden.
Parameter:
  • role: string: Der Name der Rolle, die auf den angegebenen Benutzer geprüft werden soll, wie minter, burner oder notary.
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
Rücksendungen:
  • Ein boolescher Wert (true oder false), der angibt, ob der Benutzer die angegebene Rolle hat.
hasRole
Diese Methode prüft, ob ein Benutzer eine bestimmte Rolle hat. Diese Methode kann von jedem Benutzer aufgerufen werden.
Parameter:
  • account: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
  • role: bytes32: Der Name der Rolle, die auf den angegebenen Benutzer geprüft werden soll, wie minter, burner oder notary.
Rücksendungen:
  • Ein boolescher Wert (true oder false), der angibt, ob der Benutzer die angegebene Rolle hat.

Kontextverwaltungsmethoden

setContext
Diese Methode legt die Tokenvertragsadresse für den Accountvertrag fest. Diese Methode kann nur mit einem Token Admin aufgerufen werden.
Parameter:
  • tokenAddress: address: Die Vertragsadresse des bereitgestellten Tokens, die nicht Null sein darf.
getContext
Diese Methode ruft die Tokenvertragsadresse für den Accountvertrag ab. Diese Methode kann von jedem Benutzer aufgerufen werden.
Parameter:
  • Keine
Rücksendungen
  • Die Tokenvertragsadresse
setGovernanceContext
Mit dieser Methode wird der Governance-Vertrag festgelegt, mit dem der Governance-Lebenszyklus für den Accountvertrag verwaltet wird. Diese Methode kann nur mit einem Token Admin aufgerufen werden.
Parameter:
  • uuid: string: Die eindeutige ID, die von den digitalen Assets Token Admin vor dem Vertrags-Deployment festgelegt wird.
  • governance: address: Die Vertragsadresse des bereitgestellten Governance-Vertrags, der nicht null sein darf.
getGovernanceContext
Diese Methode ruft die Governance-Kontextdetails ab. Diese Methode kann von jedem Benutzer aufgerufen werden.
Parameter:
  • Keine
Rücksendungen
  • Ein governanceContext-Objekt.
Beispiel für Rückgabewert:
{
    "governanceUUID": "abc-def",
    "governance": "0x0000000",
	"deploymentActive": "true"
}
isDeploymentActive
Diese Methode prüft, ob das Deployment aktiv ist. Diese Methode kann von jedem Benutzer aufgerufen werden.
Parameter:
  • Keine
Rücksendungen:
  • Ein boolescher Wert (true oder false), der angibt, ob das Deployment aktiv ist.