ERC-1155 API de contrato de cuenta

Puede utilizar los siguientes métodos de control de identidad y acceso en los contratos de cuenta ERC-1155.

Métodos de gestión de cuentas

createAccount
Este método crea una cuenta para un usuario especificado. Se debe crear una cuenta para cualquier usuario que tenga tokens en cualquier momento. Las cuentas realizan un seguimiento de los saldos y los saldos retenidos. Este método solo lo puede llamar un Token Admin o un Org Admin de la organización especificada.
Parámetros:
  • userId: string: nombre de usuario o ID de correo electrónico del usuario. El ID de usuario no puede ser una cadena vacía.
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual. El ID de organización no puede ser una cadena vacía.
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
deleteAccount
Este método suprime la cuenta del usuario especificado. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
getAccountStatus
Este método obtiene el estado de cuenta actual del usuario especificado. Este método puede ser llamado por Token Admin o por el propietario de la cuenta de token.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
Devoluciones:
  • Valor del objeto AccountStatus enum, ya sea 0, 1 o 2.
    enum AccountStatus {
    active,
    suspended,
    deleted
    }
getAccountByAddress
Este método obtiene la cuenta del usuario especificado. Este método puede ser llamado por Token Admin o por el propietario de la cuenta de token.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
Ejemplo de valor devuelto:
{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
	"status":0
}
getAllAccounts
Este método obtiene todas las cuentas, con salida paginada. Este método solo puede ser llamado por Token Admin.
Parámetros:
  • offset: uint256: índice de compensación que indica dónde empezar a obtener información de la cuenta.
  • limit: uint256: número de elementos que desea devolver.
Devoluciones:
  • Return (UserAccount[] memory items, uint256 total, uint256 nextOffset)
Ejemplo de valor devuelto:
[{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
	"status":0
}]
total: 15
nextoffset: 6
activateAccount
Este método activa la cuenta del usuario especificado. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
suspendAccount
Este método activa la cuenta del usuario especificado. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.

Métodos de gestión de administración

addTokenAdmin
Este método agrega un Token Admin. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • adminDetails: object: objeto que especifica el ID de usuario, el ID de organización y la dirección de cartera, como se muestra en el siguiente ejemplo.
    {
        "userId": "tokenAdmin1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeTokenAdmin
Este método elimina un Token Admin. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
getAllTokenAdmins
Este método obtiene información de cuenta para todos los usuarios de Token Admin. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • Ninguno
Ejemplo de valor devuelto:
[{
    "userId": "tokenadmin1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "tokenadmin2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isTokenAdmin
Este método comprueba si un usuario especificado es un Token Admin. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
Devoluciones:
  • Valor booleano (verdadero o falso) que indica si el usuario especificado es Token Admin.

Métodos de gestión de roles

addRole
Este método agrega un rol a un usuario especificado. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
  • role: string: nombre del rol que se va a agregar al usuario especificado, como minter, burner o notary.
  • scopeId: uint256: ID de ámbito, que es un ID de clase de NFT o un ID de token fungible.
removeRole
Este método elimina un rol del usuario especificado. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
  • role: string: nombre del rol que se debe eliminar para el usuario especificado, como minter, burner o notary.
  • scopeId: uint256: ID de ámbito, que es un ID de clase de NFT o un ID de token fungible.
isInRole
Este método comprueba si un usuario tiene un rol especificado. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • role: string: nombre del rol que se debe comprobar para el usuario especificado, como minter, burner o notary.
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
  • scopeId: uint256: ID de ámbito, que es un ID de clase de NFT o un ID de token fungible.
Devoluciones:
  • Valor booleano (verdadero o falso) que indica si el usuario tiene el rol especificado.
isInRole
Este método comprueba si un usuario tiene un rol especificado. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • role: bytes32: hash Keccak-256 del nombre del rol que desea comprobar para el usuario especificado, como minter, burner o notary.
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
  • scopeId: uint256: ID de ámbito, que es un ID de clase de NFT o un ID de token fungible.
Devoluciones:
  • Valor booleano (verdadero o falso) que indica si el usuario tiene el rol especificado.
addTokenSysRole
Este método agrega el rol TOKEN_SYS_VAULT_ROLE a un usuario especificado. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
  • role: string: nombre del rol que se va a agregar. El único valor soportado es TOKEN_SYS_VAULT_ROLE.
Devoluciones:
  • Valor booleano (verdadero o falso).
removeTokenSysRole
Este método elimina el rol TOKEN_SYS_VAULT_ROLE de un usuario especificado. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
  • role: string: nombre del rol que se va a eliminar. El único valor soportado es TOKEN_SYS_VAULT_ROLE.
Devoluciones:
  • Valor booleano (verdadero o falso).
transferTokenSysRole
Este método transfiere el rol TOKEN_SYS_VAULT_ROLE de un usuario especificado a un destinatario. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • fromAddress: string: dirección de cartera del usuario que actualmente tiene el rol TOKEN_SYS_VAULT_ROLE.
  • toAddress: string: dirección de cartera del usuario que recibirá el rol TOKEN_SYS_VAULT_ROLE.
  • role: string: nombre del rol que se va a transferir. El único valor soportado es TOKEN_SYS_VAULT_ROLE.
Devoluciones:
  • Valor booleano (verdadero o falso).

Métodos de Gestión de Contexto

setContext
Este método define la dirección de contrato de token para el contrato de cuenta. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • tokenAddress: address: dirección de contrato del token desplegado, que no debe ser cero.
getContext
Este método obtiene la dirección de contrato de token para el contrato de cuenta. Este método puede ser llamado por cualquier usuario.
Parámetros:
  • Ninguno
Devoluciones
  • La dirección del contrato de token
setGovernanceContext
Este método define el contrato de gobernanza que se debe utilizar para gestionar el ciclo de vida de gobernanza para el contrato de cuenta. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • uuid: string: ID único definido por los activos digitales Token Admin antes del despliegue del contrato.
  • governance: address: dirección del contrato del contrato de gobernanza desplegado, que no debe ser cero.
getGovernanceContext
Este método obtiene los detalles del contexto del gobierno. Este método puede ser llamado por cualquier usuario.
Parámetros:
  • Ninguno
Devoluciones
  • Un objeto governanceContext.
Ejemplo de valor devuelto:
{
    "governanceUUID": "abc-def",
    "governance": "0x0000000",
	"deploymentActive": "true"
}
isDeploymentActive
Este método comprueba si el despliegue está activo. Este método puede ser llamado por cualquier usuario.
Parámetros:
  • Ninguno
Devoluciones:
  • Valor booleano (verdadero o falso) que indica si el despliegue está activo.