ERC-1155 - APIs do Contrato da Conta

Você pode usar os seguintes métodos de controle de identidade e acesso em contratos de conta ERC-1155.

Métodos de Gerenciamento de Contas

createAccount
Este método cria uma conta para um usuário especificado. Uma conta deve ser criada para qualquer usuário que tenha tokens a qualquer momento. As contas rastreiam saldos e saldos em retenção. Esse método só pode ser chamado por uma Token Admin ou por uma Org Admin da organização especificada.
Parâmetros:
  • userId: string – O nome de usuário ou ID de e-mail do usuário. O ID do usuário não deve ser uma string vazia.
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual. O ID da organização não deve ser uma string vazia.
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.
deleteAccount
Este método exclui a conta do usuário especificado. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.
getAccountStatus
Este método obtém o status da conta atual do usuário especificado. Esse método pode ser chamado pelo Token Admin ou pelo proprietário da conta de token.
Parâmetros:
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.
Retorna:
  • Um valor do objeto AccountStatus enum, 0, 1 ou 2.
    enum AccountStatus {
    active,
    suspended,
    deleted
    }
getAccountByAddress
Este método obtém a conta do usuário especificado. Esse método pode ser chamado pelo Token Admin ou pelo proprietário da conta de token.
Parâmetros:
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.
Exemplo de Valor de Retorno:
{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
	"status":0
}
getAllAccounts
Este método obtém todas as contas, com saída paginada. Esse método só pode ser chamado pelo Token Admin.
Parâmetros:
  • offset: uint256 – O índice de compensação que indica onde começar a obter informações da conta.
  • limit: uint256 – O número de itens a serem devolvidos.
Retorna:
  • Return (UserAccount[] memory items, uint256 total, uint256 nextOffset)
Exemplo de Valor de Retorno:
[{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
	"status":0
}]
total: 15
nextoffset: 6
activateAccount
Este método ativa a conta do usuário especificado. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.
suspendAccount
Este método ativa a conta do usuário especificado. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.

Métodos de Gerenciamento do Admin

addTokenAdmin
Esse método adiciona um Token Admin. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • adminDetails: object – Um objeto que especifica o ID do usuário, o ID da organização e o endereço da wallet, conforme mostrado no exemplo a seguir.
    {
        "userId": "tokenAdmin1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeTokenAdmin
Esse método remove um Token Admin. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.
getAllTokenAdmins
Este método obtém informações de conta para todos os usuários Token Admin. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • Nenhum
Exemplo de Valor de Retorno:
[{
    "userId": "tokenadmin1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "tokenadmin2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isTokenAdmin
Este método verifica se um usuário especificado é um Token Admin. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.
Retorna:
  • Um valor Booliano (verdadeiro ou falso) indicando se o usuário especificado é um Token Admin.

Métodos de Gerenciamento de Atribuições

addRole
Este método adiciona uma atribuição a um usuário especificado. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.
  • role: string – O nome da função a ser adicionada para o usuário especificado, como minter, burner ou notary.
  • scopeId: uint256 – O ID do escopo, que é um ID de classe NFT ou um ID de token fungível.
removeRole
Este método remove uma atribuição do usuário especificado. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.
  • role: string – O nome da função a ser removida para o usuário especificado, como minter, burner ou notary.
  • scopeId: uint256 – O ID do escopo, que é um ID de classe NFT ou um ID de token fungível.
isInRole
Este método verifica se um usuário tem uma função especificada. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • role: string – O nome da atribuição a ser verificado para o usuário especificado, como minter, burner ou notary.
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.
  • scopeId: uint256 – O ID do escopo, que é um ID de classe NFT ou um ID de token fungível.
Retorna:
  • Um valor Booliano (verdadeiro ou falso) indicando se o usuário tem a função especificada.
isInRole
Este método verifica se um usuário tem uma função especificada. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • role: bytes32 – O hash Keccak-256 do nome da atribuição a ser verificado para o usuário especificado, como minter, burner ou notary.
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.
  • scopeId: uint256 – O ID do escopo, que é um ID de classe NFT ou um ID de token fungível.
Retorna:
  • Um valor Booliano (verdadeiro ou falso) indicando se o usuário tem a função especificada.
addTokenSysRole
Esse método adiciona a atribuição TOKEN_SYS_VAULT_ROLE a um usuário especificado. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.
  • role: string – O nome da função a ser adicionada. O único valor suportado é TOKEN_SYS_VAULT_ROLE.
Retorna:
  • Um valor booliano (verdadeiro ou falso).
removeTokenSysRole
Esse método remove a atribuição TOKEN_SYS_VAULT_ROLE de um usuário especificado. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • userAddress: string – O endereço da wallet do usuário, que não deve ser zero.
  • role: string – O nome da função a ser removida. O único valor suportado é TOKEN_SYS_VAULT_ROLE.
Retorna:
  • Um valor booliano (verdadeiro ou falso).
transferTokenSysRole
Esse método transfere a atribuição TOKEN_SYS_VAULT_ROLE de um usuário especificado para um destinatário. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • fromAddress: string – O endereço da wallet do usuário que atualmente tem a atribuição TOKEN_SYS_VAULT_ROLE.
  • toAddress: string – O endereço da wallet do usuário que receberá a atribuição TOKEN_SYS_VAULT_ROLE.
  • role: string – O nome da função a ser transferida. O único valor suportado é TOKEN_SYS_VAULT_ROLE.
Retorna:
  • Um valor booliano (verdadeiro ou falso).

Métodos de Gerenciamento de Contexto

setContext
Este método define o endereço do contrato de token para o contrato da conta. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • tokenAddress: address – O endereço do contrato do token implantado, que não deve ser zero.
getContext
Este método obtém o endereço do contrato de token para o contrato da conta. Este método pode ser chamado por qualquer usuário.
Parâmetros:
  • Nenhum
Retorna
  • O endereço do contrato de token
setGovernanceContext
Este método define o contrato de governança a ser usado para gerenciar o ciclo de vida de governança do contrato da conta. Esse método só pode ser chamado por um Token Admin.
Parâmetros:
  • uuid: string – O ID exclusivo definido pelos ativos digitais Token Admin antes da implantação do contrato.
  • governance: address – O endereço do contrato de governança implantado, que não deve ser zero.
getGovernanceContext
Este método obtém os detalhes do contexto da governança. Este método pode ser chamado por qualquer usuário.
Parâmetros:
  • Nenhum
Retorna
  • Um objeto governanceContext.
Exemplo de Valor de Retorno:
{
    "governanceUUID": "abc-def",
    "governance": "0x0000000",
	"deploymentActive": "true"
}
isDeploymentActive
Este método verifica se a implantação está ativa. Este método pode ser chamado por qualquer usuário.
Parâmetros:
  • Nenhum
Retorna:
  • Um valor Booliano (verdadeiro ou falso) indicando se a implantação está ativa.