TypeScript Métodos para Conversão de Token

O Blockchain App Builder gera automaticamente métodos que você pode usar para converter tokens fungíveis que usam o padrão Token Taxonomy Framework.

Os métodos de conversão de token incluem o conceito do pool de câmbio. A conta do pool de câmbio é financiada por outras contas de token. Ao criar tokens, você pode especificar que uma porcentagem dos tokens cunhados seja transferida para a conta do pool de câmbio.

Processo de Conversão de Token

Um fluxo típico para converter tokens segue estas etapas:
  1. Chame o método initializeExchangePoolUser para inicializar o usuário do pool de intercâmbio.
  2. Chame o método createExchangePoolAccounts para criar contas de pool de câmbio. Crie uma conta de pool de câmbio para cada tipo de token fungível que você deseja converter ou converter.
  3. Chame o método addConversionRate para definir a taxa de conversão para cada par de tokens entre os quais você deseja converter.
  4. Financie as contas de token do pool de câmbio de uma das seguintes maneiras:
    • Transfira tokens para as contas de token do pool de câmbio usando os métodos de transferência padrão.
    • Chame o método mintWithFundingExchangePoolToken ao cunhar tokens, que podem transferir uma porcentagem de tokens cunhados para uma conta de pool de câmbio.
  5. Chame o método tokenConversion para converter entre dois tokens fungíveis. Um único usuário pode converter tokens entre duas de suas contas de token, ou um par de usuários pode converter tokens diretamente de uma conta para outra.
  6. O usuário do pool de câmbio pode exibir os saldos da conta do pool de câmbio e as transações da conta.
    • Chame o método getAccount para exibir os saldos de cada uma das contas de token do pool de câmbio.
    • Chame os métodos getAccountTransactionHistory e getAccountTransactionHistoryWithFilters para exibir transações de conta para cada uma das contas de token do pool de câmbio.

Métodos de Conversão de Token Gerados Automaticamente

O Blockchain App Builder gera automaticamente métodos para converter entre diferentes tipos de tokens fungíveis. Os métodos da Controladora devem ter um decorador @Validator(...params) para serem chamados.

initializeExchangePoolUser
Este método inicializa o usuário do pool de intercâmbio, que é uma atividade única. Este método só pode ser chamado por um Token Admin do chaincode.
@Validator(yup.string(), yup.string())
public async initializeExchangePoolUser(org_id: string, user_id: string){
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.initializeExchangePoolUser', 'TOKEN');
    return await this.Ctx.TokenConvertor.initializeExchangePoolUser(org_id, user_id);
}
Parâmetros:
  • org_id: string - O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • user_id: string - O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Em caso de sucesso, uma mensagem que inclui detalhes do usuário do pool de intercâmbio.
Exemplo de Valor de Retorno:
{
    "assetType": "oconversion",
    "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
    "org_id": "Org1MSP",
    "user_id": "exchangepooluser"
}
createExchangePoolAccounts
Esse método cria contas de token do pool de câmbio para um determinado array de IDs de token. Este método só pode ser chamado por um Token Admin do chaincode.
@Validator(yup.array().of(yup.string()))
public async createExchangePoolAccounts(token_ids: string[]){
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.initializeExchangePoolUser', 'TOKEN');
    return await this.Ctx.TokenConvertor.createExchangePoolAccounts(token_ids);
}
Parâmetros:
  • token_ids: string [] - Um array de IDs de token.
Retorna:
  • Em caso de sucesso, uma lista de objetos que inclui detalhes das contas do pool de câmbio que foram criadas.
Exemplo de Valor de Retorno:
[
  {
    "account_id": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034",
    "token_id": "USD",
    "status": "created"
  },
  {
    "account_id": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0",
    "token_id": "INR",
    "status": "created"
  }
]
addConversionRate
Este método adiciona uma taxa de conversão para um par de tokens. A taxa de conversão do token pode ser especificada com até oito casas decimais. Este método só pode ser chamado por um Token Admin do chaincode.
@Validator(yup.string(), yup.string(), yup.number())
public async addConversionRate(from_token_id:string , to_token_id:string, token_conversion_rate: number) {
   await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.addConversionRate', 'TOKEN');
   return await this.Ctx.TokenConvertor.addConversionToken(from_token_id,to_token_id,token_conversion_rate);
}
Parâmetros:
  • from_token_id: string - O ID do token do qual converter.
  • to_token_id: string - O ID do token para conversão.
  • token_conversion_rate: number - A taxa na qual converter o token from_token_id no token to_token_id.
Retorna:
  • Em caso de sucesso, uma representação JSON do objeto de taxa de conversão.
Exemplo de Valor de Retorno:
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 10
}
getConversionRate
Este método obtém a taxa de conversão atual para um par de tokens. Esse método pode ser chamado pelo Token Admin do chaincode, qualquer Org Admin e por qualquer proprietário de conta de token.
@Validator(yup.string(), yup.string())
public async getConversionRate(from_token_id:string , to_token_id:string) {
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.getConversionRate', 'TOKEN');
    const conversion_rate_id = await this.Ctx.TokenConversionRate.getConversionRateId(from_token_id, to_token_id);
    return await this.Ctx.TokenConversionRate.get(conversion_rate_id);
}
Parâmetros:
  • from_token_id: string - O ID do token do qual converter.
  • to_token_id: string - O ID do token para conversão.
Retorna:
  • Em caso de sucesso, uma representação JSON do objeto de taxa de conversão.
Exemplo de Valor de Retorno:
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 10
}
updateConversionRate
Este método atualiza a taxa de conversão atual para um par de tokens. A taxa de conversão do token pode ser especificada com até oito casas decimais. Este método só pode ser chamado por um Token Admin do chaincode.
@Validator(yup.string(), yup.string(), yup.number())
public async updateConversionRate(from_token_id:string , to_token_id:string, token_conversion_rate: number) {
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.updateConversionRate', 'TOKEN');
    return await this.Ctx.TokenConvertor.updateTokenConversionRate(from_token_id,to_token_id,token_conversion_rate);
}
Parâmetros:
  • from_token_id: string - O ID do token do qual converter.
  • to_token_id: string - O ID do token para conversão.
  • token_conversion_rate: number - A taxa na qual converter o token from_token_id no token to_token_id.
Retorna:
  • Em caso de sucesso, uma representação JSON do objeto de taxa de conversão atualizado.
Exemplo de Valor de Retorno:
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 20
}
mintWithFundingExchangePool
Esse método marca tokens na conta do chamador com base no ID e na quantidade especificados do token. Uma porcentagem de tokens da quantidade cunhada é transferida para a conta de token do pool de câmbio.
@Validator(yup.string(), yup.number(), yup.number())
public async mintWithFundingExchangePool(token_id: string, token_quantity: number, percentage_token_to_exchange_pool: number) {
    return await this.Ctx.TokenConvertor.mintWithFundingExchangePool(token_id, token_quantity, percentage_token_to_exchange_pool);
}
Parâmetros:
  • token_id: string - O ID do token a ser cunhado.
  • token_quantity: number - O número total de tokens a serem cunhados.
  • percentage_token_to_exchange_pool: number - A porcentagem de tokens cunhados a serem transferidos para a conta de token do pool de câmbio.
Retorna:
  • Em caso de sucesso, uma mensagem que indica que a cunhagem e o financiamento do pool de câmbio foram bem-sucedidos.
Exemplo de Valor de Retorno:
{
    "msg": "Successfully minted 100 tokens to Account Id: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) and Successfully transfered 20 tokens to exchange pool Account with Account Id: oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034 (Org-Id: Org1MSP, User-Id: exchangepooluser) "
}
tokenConversion
Esse método converte tokens da conta do chamador para a conta especificada pelos valores to_token_id, to_org_id e to_user_id. Esse método pode ser chamado pelo Token Admin do chaincode e por qualquer proprietário de conta de token. Um usuário do pool de intercâmbio não pode chamar esse método.
@Validator(yup.string(),yup.string(),yup.string(),yup.string(),yup.number())
public async tokenConversion(from_token_id:string, to_token_id:string, to_org_id:string, to_user_id:string, token_quantity:number){
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.tokenConversion', 'TOKEN');
    return await this.Ctx.TokenConvertor.tokenConversion(from_token_id,to_token_id,to_org_id,to_user_id,token_quantity);
}
Parâmetros:
  • from_token_id: string - O ID do token do qual converter.
  • to_token_id: string - O ID do token para conversão.
  • to_org_id: string - O ID do provedor de serviços de associação (MSP) do usuário na organização atual para receber os tokens.
  • to_user_id: string - O nome de usuário ou o ID de e-mail do usuário para receber os tokens.
  • token_quantity: number - O número total de tokens a serem transferidos.
Retorna:
  • Em caso de sucesso, uma mensagem que indica que a conversão do token foi bem-sucedida.
Exemplo de Valor de Retorno:
{
    "msg": "Succesfully converted 5 of tokens with tokenId: [USD] from AccountId: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) to 100 of tokens with tokenId: [INR] to AccountId: oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e (Org-Id: Org1MSP, User-Id: user) as per the conversion rate of 20"
}
getConversionHistory
Este método retorna o histórico de conversão de token para uma conta de token especificada. Esse método pode ser chamado pelo Token Admin do chaincode, um Org Admin da organização especificada ou pelo proprietário da conta de token.
@Validator(yup.string(), yup.string(), yup.string())
  public async getConversionHistory(token_id: string, org_id: string, user_id: string) {
    const account_id = await this.Ctx.Account.generateAccountId(token_id, org_id, user_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getConversionHistory", "TOKEN", { account_id });
    return await this.Ctx.Account.getTokenConversionHistory(account_id, org_id, user_id);
  }
Parâmetros:
  • token_id: string - O ID do token.
  • org_id: string - O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • user_id: string - O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Em caso de sucesso, um objeto JSON com detalhes do histórico de conversão.
Exemplo de Valor de Retorno:
[
  {
    "transaction_id": "otransaction~34edd19e03ec8bbbc77bc3372081410a824a5c10f9aa522b3a6390d7e8cb11cf",
    "from_account_id": "oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb",
    "to_account_id": "oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e",
    "transacted_amount": 5,
    "converted_amount": 100,
    "conversion_rate": "20",
    "from_token_id": "USD",
    "to_token_id": "INR",
    "balance": 75,
    "onhold_balance": 0,
    "timestamp": "2022-11-30T11:03:20.000Z",
    "transaction_type": "TOKEN_CONVERSION_DEBIT"
  }
]
getConversionRateHistory
Este método retorna o histórico de taxa de conversão de token para um par de tokens. Esse método pode ser chamado pelo Token Admin do chaincode, qualquer Org Admin e por qualquer proprietário de conta de token.
@Validator(yup.string(), yup.string())
public async getConversionRateHistory(from_token_id:string , to_token_id:string) {
    const conversion_rate_id = await this.Ctx.TokenConversionRate.getConversionRateId(from_token_id,to_token_id);
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.getConversionRateHistory', 'TOKEN');  
    return await this.Ctx.TokenConversionRate.history(conversion_rate_id);
}
Parâmetros:
  • from_token_id: string - O ID do token do qual converter, com a finalidade de calcular a taxa de conversão.
  • to_token_id: string - O ID do token para conversão, com a finalidade de calcular a taxa de conversão.
Retorna:
  • Em caso de sucesso, um objeto JSON com detalhes do histórico da taxa de conversão.
Exemplo de Valor de Retorno:
 [
  {
    "trxId": "0b1ba7bc2620e1438b6580365e5c0ab852247ccfa5a3eb2157d3baca02c0e521",
    "timeStamp": "2022-11-30T10:23:38.000Z",
    "value": {
      "assetType": "oconversionRate",
      "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
      "from_token_id": "USD",
      "to_token_id": "INR",
      "conversion_rate": 20
    }
  },
  {
    "trxId": "36fc40ddb3d8308ee7e156af700da131d78d941fe390fc57985b7589e7035d5c",
    "timeStamp": "2022-11-30T10:13:18.000Z",
    "value": {
      "assetType": "oconversionRate",
      "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
      "from_token_id": "USD",
      "to_token_id": "INR",
      "conversion_rate": 10
    }
  }
]
getExchangePoolUser
Esse método retorna os valores org_id e user_id para o usuário do pool de intercâmbio. Este método só pode ser chamado por um Token Admin do chaincode.
@Validator()
public async getExchangePoolUser() {
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.getExchangePoolUser', 'TOKEN');
    return await this.Ctx.TokenConvertor.getExchangePoolUser();
}
Parâmetros:
  • nenhuma
Retorna:
  • Em caso de sucesso, uma mensagem com informações sobre o usuário do pool de intercâmbio.
Exemplo de Valor de Retorno:
{
   "assetType": "oconversion",
   "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
   "org_id": "Org1MSP",
   "user_id": "exchangepooluser"
}

Métodos SDK de Conversão de Token

initializeExchangePoolUser
Este método inicializa o usuário do pool de intercâmbio, que é uma atividade única. Este método só pode ser chamado por um Token Admin do chaincode.
Ctx.TokenConvertor.initializeExchangePoolUser(orgId: string, userId: string)
Parâmetros:
  • orgId: string - O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string - O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Em caso de sucesso, uma mensagem que inclui detalhes do usuário do pool de intercâmbio.
Exemplo de Valor de Retorno:
{
    "assetType": "oconversion",
    "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
    "org_id": "Org1MSP",
    "user_id": "exchangepooluser"
}
createExchangePoolAccounts
Esse método cria contas de token do pool de câmbio para um determinado array de IDs de token. Este método só pode ser chamado por um Token Admin do chaincode.
Ctx.TokenConvertor.createExchangePoolAccounts(token_ids: string[])
Parâmetros:
  • token_ids: string [] - Um array de IDs de token.
Retorna:
  • Em caso de sucesso, uma lista de objetos que inclui detalhes das contas do pool de câmbio que foram criadas.
Exemplo de Valor de Retorno:
[
  {
    "account_id": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034",
    "token_id": "USD",
    "status": "created"
  },
  {
    "account_id": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0",
    "token_id": "INR",
    "status": "created"
  }
]
addConversionToken
Este método adiciona tokens com uma nova taxa de conversão para um token especificado. A taxa de conversão do token pode ser especificada com até oito casas decimais. Este método só pode ser chamado por um Token Admin do chaincode.
Ctx.TokenConvertor.addConversionToken(fromTokenId: string, toTokenId: string, tokenConversionRate: number)
Parâmetros:
  • fromTokenId: string - O ID do token do qual converter.
  • toTokenId: string - O ID do token para conversão.
  • tokenConversionRate: number - A taxa na qual converter o token from_token_id no token to_token_id.
Retorna:
  • Em caso de sucesso, uma representação JSON do objeto de taxa de conversão.
Exemplo de Valor de Retorno:
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 10
}
get
Este método obtém a taxa de conversão atual para um par de tokens. Esse método pode ser chamado pelo Token Admin do chaincode e por qualquer proprietário de conta de token.
Ctx.TokenConversionRate.get(id: string)
Parâmetros:
  • id: string - O ID do objeto de taxa de conversão de token.
Retorna:
  • Em caso de sucesso, uma representação JSON do objeto de taxa de conversão.
Exemplo de Valor de Retorno:
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 10
}
updateTokenConversionRate
Este método atualiza a taxa de conversão atual para um par de tokens. A taxa de conversão do token pode ser especificada com até oito casas decimais. Este método só pode ser chamado por um Token Admin do chaincode.
Ctx.TokenConvertor.updateTokenConversionRate(fromTokenId: string, toTokenId: string, tokenConversionRate: number)
Parâmetros:
  • from_token_id: string - O ID do token do qual converter.
  • to_token_id: string - O ID do token para conversão.
  • token_conversion_rate: number - A taxa na qual converter o token from_token_id no token to_token_id.
Retorna:
  • Em caso de sucesso, uma representação JSON do objeto de taxa de conversão atualizado.
Exemplo de Valor de Retorno:
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 20
}
mintWithFundingExchangePool
Esse método marca tokens na conta do chamador com base no ID e na quantidade especificados do token. Uma porcentagem de tokens da quantidade cunhada é transferida para a conta de token do pool de câmbio.
Ctx.TokenConvertor.mintWithFundingExchangePool(tokenId: string, tokenQuantity: number, percentageTokenToExchangePool: number)
Parâmetros:
  • token_id: string - O ID do token a ser cunhado.
  • token_quantity: number - O número total de tokens a serem cunhados.
  • percentage_token_to_exchange_pool: number - A porcentagem de tokens cunhados a serem transferidos para a conta de token do pool de câmbio.
Retorna:
  • Em caso de sucesso, uma mensagem que indica que a cunhagem e o financiamento do pool de câmbio foram bem-sucedidos.
Exemplo de Valor de Retorno:
{
    "msg": "Successfully minted 100 tokens to Account Id: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) and Successfully transfered 20 tokens to exchange pool Account with Account Id: oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034 (Org-Id: Org1MSP, User-Id: exchangepooluser) "
}
tokenConversion
Esse método converte tokens da conta do chamador para a conta especificada pelos valores to_token_id, to_org_id e to_user_id. Esse método pode ser chamado pelo Token Admin do chaincode e por qualquer proprietário de conta de token. Um usuário do pool de intercâmbio não pode chamar esse método.
Ctx.TokenConvertor.tokenConversion(fromTokenId: string, toTokenId: string, toOrgId: string, toUserId: string, tokenQuantity: number)
Parâmetros:
  • from_token_id: string - O ID do token do qual converter.
  • to_token_id: string - O ID do token para conversão.
  • to_org_id: string - O ID do provedor de serviços de associação (MSP) do usuário na organização atual para receber os tokens.
  • to_user_id: string - O nome de usuário ou o ID de e-mail do usuário para receber os tokens.
Retorna:
  • Em caso de sucesso, uma mensagem que indica que a conversão do token foi bem-sucedida.
Exemplo de Valor de Retorno:
{
    "msg": "Succesfully converted 5 of tokens with tokenId: [USD] from AccountId: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) to 100 of tokens with tokenId: [INR] to AccountId: oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e (Org-Id: Org1MSP, User-Id: user) as per the conversion rate of 20"
}
getTokenConversionHistory
Este método retorna o histórico de conversão de token para uma conta de token especificada. Esse método pode ser chamado pelo Token Admin do chaincode, um Org Admin da organização especificada e pelo proprietário da conta de token.
Ctx.Account.getTokenConversionHistory(account_id: string, org_id: string, user_id: string)
Parâmetros:
  • account_id: string - O ID da conta de token fungível.
  • org_id: string - O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • user_id: string - O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Em caso de sucesso, um objeto JSON com detalhes do histórico de conversão.
Exemplo de Valor de Retorno:
[
  {
    "transaction_id": "otransaction~34edd19e03ec8bbbc77bc3372081410a824a5c10f9aa522b3a6390d7e8cb11cf",
    "from_account_id": "oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb",
    "to_account_id": "oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e",
    "transacted_amount": 5,
    "converted_amount": 100,
    "conversion_rate": "20",
    "from_token_id": "USD",
    "to_token_id": "INR",
    "balance": 75,
    "onhold_balance": 0,
    "timestamp": "2022-11-30T11:03:20.000Z",
    "transaction_type": "TOKEN_CONVERSION_DEBIT"
  }
]
history
Este método retorna o histórico de taxa de conversão de token para um par de tokens. Esse método pode ser chamado pelo Token Admin do chaincode, qualquer Org Admin e por qualquer proprietário de conta de token.
Ctx.TokenConversionRate.history(conversion_rate_id: string)
Parâmetros:
  • conversion_rate_id: string - O ID do objeto de taxa de conversão.
Retorna:
  • Em caso de sucesso, um objeto JSON com detalhes do histórico da taxa de conversão.
Exemplo de Valor de Retorno:
 [
  {
    "trxId": "0b1ba7bc2620e1438b6580365e5c0ab852247ccfa5a3eb2157d3baca02c0e521",
    "timeStamp": "2022-11-30T10:23:38.000Z",
    "value": {
      "assetType": "oconversionRate",
      "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
      "from_token_id": "USD",
      "to_token_id": "INR",
      "conversion_rate": 20
    }
  },
  {
    "trxId": "36fc40ddb3d8308ee7e156af700da131d78d941fe390fc57985b7589e7035d5c",
    "timeStamp": "2022-11-30T10:13:18.000Z",
    "value": {
      "assetType": "oconversionRate",
      "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
      "from_token_id": "USD",
      "to_token_id": "INR",
      "conversion_rate": 10
    }
  }
]
getExchangePoolUser
Esse método retorna os valores OrgId e UserId para o usuário do pool de intercâmbio. Este método só pode ser chamado por um Token Admin do chaincode.
Ctx.TokenConvertor.getExchangePoolUser()
Parâmetros:
  • nenhuma
Retorna:
  • Em caso de sucesso, uma mensagem com informações sobre o usuário do pool de intercâmbio.
Exemplo de Valor de Retorno:
{
   "assetType": "oconversion",
   "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
   "org_id": "Org1MSP",
   "user_id": "exchangepooluser"
}