API de contrato de cuenta ERC-20

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

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.
  • maxDailyAmount: int256: cantidad máxima de tokens que se pueden utilizar en transacciones diariamente. Si el valor es -1, no hay límite.
  • maxDailyTransactions: int256: número máximo de transacciones que se pueden completar diariamente. Si el valor es -1, no hay límite.
  • applicationGroups: string[]: lista de grupos de aplicaciones a los que pertenece el usuario.
deleteAccount
Este método suprime la cuenta del usuario especificado. Este método solo lo puede llamar un Token Admin o un Org Admin de la organización especificada.
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 Token Auditor, un Org Admin de la organización especificada 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 Token Auditor, un Org Admin de la organización especificada 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",
    "dailyLimits": {
          "isMaxDailyTxnEnabled": true,
    	  "isMaxDailyAmtEnabled": true, 
		  "dailyAmount": 100,
    	  "dailyTransactions": 5,
		  "maxDailyAmount": 100000,
    	  "maxDailyTransactions": 50,
          "applicationGroups":[]                
    },
	"status":0
}
getAllAccounts
Este método obtiene todas las cuentas, con salida paginada. Este método solo puede ser llamado por Token Admin o Token Auditor.
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",
    "dailyLimits": {
          "isMaxDailyTxnEnabled": true,
    	  "isMaxDailyAmtEnabled": true, 
		  "dailyAmount": 100,
    	  "dailyTransactions": 5,
		  "maxDailyAmount": 100000,
    	  "maxDailyTransactions": 50,
		  "applicationGroups":[]           
	},
	"status":0
}]
total: 15
nextoffset: 6
activateAccount
Este método activa la cuenta del usuario especificado. Este método solo lo puede llamar un Token Admin o un Org Admin de la organización especificada.
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 lo puede llamar un Token Admin o un Org Admin de la organización especificada.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
setMaxDailyAmount
Este método define la cantidad máxima de tokens que puede utilizar el usuario especificado en las transacciones diariamente. Este método solo lo puede llamar un Token Admin o un Org Admin de la organización especificada.
Parámetros:
  • value: int256: cantidad máxima de tokens que se pueden utilizar en transacciones diariamente.
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
setMaxDailyTransactionCount
Este método define el número máximo de transacciones que puede completar diariamente el usuario especificado. Este método solo lo puede llamar un Token Admin o un Org Admin de la organización especificada.
Parámetros:
  • count: int256: número máximo de transacciones que se pueden completar diariamente.
  • 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 o Token Auditor.
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, Token Auditor, Org Admin o Org Auditor.
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.
addOrgAdmin
Este método agrega un Org Admin. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
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"    
    }
removeOrgAdmin
Este método elimina un Org Admin. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
getAllOrgAdmins
Este método obtiene información de cuenta para todos los usuarios de Org Admin. Este método solo se puede llamar mediante Token Admin, Token Auditor, Org Admin o Org Auditor.
Parámetros:
  • Ninguno
Ejemplo de valor devuelto:
[{
    "userId": "orgadmin1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "orgadmin2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isOrgAdmin
Este método comprueba si un usuario especificado es un Org Admin. Este método solo se puede llamar mediante Token Admin, Token Auditor, Org Admin o Org Auditor.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
Devoluciones:
  • Valor booleano (true o false) que indica si el usuario especificado es un Org Admin.

Métodos de Gestión del Auditor

addTokenAuditor
Este método agrega un Token Auditor. Este método solo se puede llamar mediante Token Admin.
Parámetros:
  • auditorDetails: 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": "tokenAuditor1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeTokenAuditor
Este método elimina un Token Auditor. 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.
getAllTokenAuditors
Este método obtiene información de cuenta para todos los usuarios de Token Auditor. Este método solo se puede llamar mediante Token Admin o Token Auditor.
Parámetros:
  • Ninguno
Ejemplo de valor devuelto:
[{
    "userId": "tokenAuditor1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "tokenAuditor2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isTokenAuditor
Este método comprueba si un usuario especificado es un Token Auditor. Este método puede ser llamado por cualquier usuario.
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 Auditor.
addOrgAuditor
Este método agrega un Org Auditor. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
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": "tokenAuditor1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeOrgAuditor
Este método elimina un Org Auditor. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
getAllOrgAuditors
Este método obtiene información de cuenta para todos los usuarios de Org Auditor. Este método solo se puede llamar mediante Token Admin, Token Auditor, Org Admin o Org Auditor.
Parámetros:
  • Ninguno
Ejemplo de valor devuelto:
[{
    "userId": "orgAuditor1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "orgAuditor2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isOrgAuditor
Este método comprueba si un usuario especificado es un Org Auditor. Este método puede ser llamado por cualquier usuario.
Parámetros:
  • userAddress: string: dirección de cartera del usuario, que no debe ser cero.
Devoluciones:
  • Valor booleano (true o false) que indica si el usuario especificado es un Org Auditor.

Métodos de gestión de roles

addRole
Este método agrega un rol a un usuario especificado. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
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.
removeRole
Este método elimina un rol del usuario especificado. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
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.
isInRole
Este método comprueba si un usuario tiene un rol especificado. Este método puede ser llamado por cualquier usuario.
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.
Devoluciones:
  • Valor booleano (verdadero o falso) que indica si el usuario tiene el rol especificado.
hasRole
Este método comprueba si un usuario tiene un rol especificado. Este método puede ser llamado por cualquier usuario.
Parámetros:
  • account: string: dirección de cartera del usuario, que no debe ser cero.
  • role: bytes32: nombre del rol que se debe comprobar para el usuario especificado, como minter, burner o notary.
Devoluciones:
  • Valor booleano (verdadero o falso) que indica si el usuario tiene el rol especificado.

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 de gobernanza. 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.