ERC-1155 Accountvertrags-APIs

Sie können die folgenden Identitäts- und Zugriffskontrollmethoden in ERC-1155-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.
deleteAccount
Mit dieser Methode wird der Account des angegebenen Benutzers gelöscht. Diese Methode kann nur mit einem Token Admin 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 der Token Admin 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 der Token Admin 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",
	"status":0
}
getAllAccounts
Diese Methode ruft alle Konten mit paginierter Ausgabe ab. Diese Methode kann nur von der Token Admin 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 Elemente.
Rücksendungen:
  • Return (UserAccount[] memory items, uint256 total, uint256 nextOffset)
Beispiel für Rückgabewert:
[{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
	"status":0
}]
total: 15
nextoffset: 6
activateAccount
Mit dieser Methode wird der Account des angegebenen Benutzers aktiviert. Diese Methode kann nur mit einem Token Admin 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 mit einem Token Admin aufgerufen werden.
Parameter:
  • 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 einem Token Admin 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 einem Token Admin 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.

Rollenverwaltungsmethoden

addRole
Diese Methode fügt einem angegebenen Benutzer eine Rolle hinzu. Diese Methode kann nur mit einem Token Admin 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.
  • scopeId: uint256: Die Geltungsbereichs-ID, die entweder eine NFT-Klassen-ID oder eine fungible Token-ID ist.
removeRole
Mit dieser Methode wird eine Rolle aus dem angegebenen Benutzer entfernt. Diese Methode kann nur mit einem Token Admin 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.
  • scopeId: uint256: Die Geltungsbereichs-ID, die entweder eine NFT-Klassen-ID oder eine fungible Token-ID ist.
isInRole
Diese Methode prüft, ob ein Benutzer eine bestimmte Rolle hat. Diese Methode kann nur mit einem Token Admin 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.
  • scopeId: uint256: Die Geltungsbereichs-ID, die entweder eine NFT-Klassen-ID oder eine fungible Token-ID ist.
Rücksendungen:
  • Ein boolescher Wert (true oder false), der angibt, ob der Benutzer die angegebene Rolle hat.
isInRole
Diese Methode prüft, ob ein Benutzer eine bestimmte Rolle hat. Diese Methode kann nur mit einem Token Admin aufgerufen werden.
Parameter:
  • role: bytes32 - Der Keccak-256-Hash des Namens 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.
  • scopeId: uint256: Die Geltungsbereichs-ID, die entweder eine NFT-Klassen-ID oder eine fungible Token-ID ist.
Rücksendungen:
  • Ein boolescher Wert (true oder false), der angibt, ob der Benutzer die angegebene Rolle hat.
addTokenSysRole
Diese Methode fügt einem angegebenen Benutzer die Rolle TOKEN_SYS_VAULT_ROLE hinzu. Diese Methode kann nur mit einem Token Admin aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
  • role: string: Der Name der hinzuzufügenden Rolle. Der einzige unterstützte Wert ist TOKEN_SYS_VAULT_ROLE.
Rücksendungen:
  • Ein boolescher Wert (true oder false).
removeTokenSysRole
Mit dieser Methode wird die Rolle TOKEN_SYS_VAULT_ROLE aus einem angegebenen Benutzer entfernt. Diese Methode kann nur mit einem Token Admin aufgerufen werden.
Parameter:
  • userAddress: string: Die Wallet-Adresse des Benutzers, die nicht Null sein darf.
  • role: string: Der Name der Rolle, die entfernt werden soll. Der einzige unterstützte Wert ist TOKEN_SYS_VAULT_ROLE.
Rücksendungen:
  • Ein boolescher Wert (true oder false).
transferTokenSysRole
Diese Methode überträgt die Rolle TOKEN_SYS_VAULT_ROLE von einem angegebenen Benutzer zu einem Empfänger. Diese Methode kann nur mit einem Token Admin aufgerufen werden.
Parameter:
  • fromAddress: string: Die Wallet-Adresse des Benutzers, der derzeit die Rolle TOKEN_SYS_VAULT_ROLE hat.
  • toAddress: string: Die Wallet-Adresse des Benutzers, der die Rolle TOKEN_SYS_VAULT_ROLE erhält.
  • role: string: Der Name der Rolle, die übertragen werden soll. Der einzige unterstützte Wert ist TOKEN_SYS_VAULT_ROLE.
Rücksendungen:
  • Ein boolescher Wert (true oder false).

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 Details des Govnerance-Kontexts 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.