TypeScript Méthodes de conversion de jeton

Blockchain App Builder génère automatiquement des méthodes que vous pouvez utiliser pour convertir des jetons fongibles qui utilisent la norme Token Taxonomy Framework.

Les méthodes de conversion de jeton incluent le concept de pool d'échange. Le compte de pool d'échange est financé par d'autres comptes de jeton. Lorsque vous mentez des jetons, vous pouvez spécifier qu'un pourcentage des jetons frappés est transféré sur le compte du pool d'échange.

Processus de conversion de jeton

Un flux typique de conversion de jetons suit les étapes suivantes :
  1. Appelez la méthode initializeExchangePoolUser pour initialiser l'utilisateur du pool d'échange.
  2. Appelez la méthode createExchangePoolAccounts pour créer des comptes de pool d'échange. Créez un compte de pool d'échange pour chaque type de jeton fongible que vous souhaitez convertir ou convertir.
  3. Appelez la méthode addConversionRate pour définir le taux de conversion de chaque paire de jetons à convertir.
  4. Financer les comptes de jeton de pool d'échange de l'une des manières suivantes :
    • Transférez des jetons aux comptes de jetons du pool d'échange à l'aide des méthodes de transfert standard.
    • Appelez la méthode mintWithFundingExchangePoolToken lors de l'extraction de jetons, qui peuvent transférer un pourcentage de jetons frappés vers un compte de pool d'échange.
  5. Appelez la méthode tokenConversion pour effectuer une conversion entre deux jetons fongibles. Un seul utilisateur peut convertir des jetons entre deux de ses comptes de jetons, ou une paire d'utilisateurs peut convertir directement des jetons d'un compte à un autre.
  6. L'utilisateur du pool d'échange peut consulter les soldes des comptes du pool d'échange et les transactions de compte.
    • Appelez la méthode getAccount pour afficher les soldes de chacun des comptes de jeton de pool d'échange.
    • Appelez les méthodes getAccountTransactionHistory et getAccountTransactionHistoryWithFilters pour afficher les transactions de compte pour chaque compte de jeton de pool d'échange.

Méthodes de conversion de jeton générées automatiquement

Blockchain App Builder génère automatiquement des méthodes de conversion entre différents types de jetons fongibles. Les méthodes de contrôleur doivent avoir un décorateur @Validator(...params) pour pouvoir être appelées.

initializeExchangePoolUser
Cette méthode initialise l'utilisateur du pool d'échange, qui est une activité ponctuelle. Cette méthode ne peut être appelée que par un élément Token Admin du code chaîne.
@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);
}
Paramètres :
  • org_id: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation en cours.
  • user_id: string : nom utilisateur ou ID courriel de l'utilisateur.
Renvoie :
  • En cas de succès, message qui inclut les détails de l'utilisateur du pool d'échange.
Exemple de valeur renvoyée :
{
    "assetType": "oconversion",
    "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
    "org_id": "Org1MSP",
    "user_id": "exchangepooluser"
}
createExchangePoolAccounts
Cette méthode crée des comptes de jeton de pool d'échange pour un tableau donné d'ID de jeton. Cette méthode ne peut être appelée que par un élément Token Admin du code chaîne.
@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);
}
Paramètres :
  • token_ids: string [] : tableau d'ID de jeton.
Renvoie :
  • En cas de succès, liste d'objets qui inclut les détails des comptes de pool d'échange créés.
Exemple de valeur renvoyée :
[
  {
    "account_id": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034",
    "token_id": "USD",
    "status": "created"
  },
  {
    "account_id": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0",
    "token_id": "INR",
    "status": "created"
  }
]
addConversionRate
Cette méthode ajoute un taux de conversion pour une paire de jetons. Le taux de conversion du jeton peut être spécifié jusqu'à huit décimales. Cette méthode ne peut être appelée que par un élément Token Admin du code chaîne.
@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);
}
Paramètres :
  • from_token_id: string : ID du jeton à partir duquel effectuer la conversion.
  • to_token_id: string : ID du jeton à convertir.
  • token_conversion_rate: number : vitesse à laquelle convertir le jeton from_token_id en jeton to_token_id.
Renvoie :
  • En cas de succès, représentation JSON de l'objet de taux de conversion.
Exemple de valeur renvoyée :
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 10
}
getConversionRate
Cette méthode obtient le taux de conversion actuel pour une paire de jetons. Cette méthode peut être appelée par Token Admin du code chaîne, n'importe quel élément Org Admin et par n'importe quel propriétaire de compte de jeton.
@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);
}
Paramètres :
  • from_token_id: string : ID du jeton à partir duquel effectuer la conversion.
  • to_token_id: string : ID du jeton à convertir.
Renvoie :
  • En cas de succès, représentation JSON de l'objet de taux de conversion.
Exemple de valeur renvoyée :
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 10
}
updateConversionRate
Cette méthode met à jour le taux de conversion actuel d'une paire de jetons. Le taux de conversion du jeton peut être spécifié jusqu'à huit décimales. Cette méthode ne peut être appelée que par un élément Token Admin du code chaîne.
@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);
}
Paramètres :
  • from_token_id: string : ID du jeton à partir duquel effectuer la conversion.
  • to_token_id: string : ID du jeton à convertir.
  • token_conversion_rate: number : vitesse à laquelle convertir le jeton from_token_id en jeton to_token_id.
Renvoie :
  • En cas de succès, représentation JSON de l'objet de taux de conversion mis à jour.
Exemple de valeur renvoyée :
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 20
}
mintWithFundingExchangePool
Cette méthode extrait les jetons dans le compte de l'appelant en fonction de l'ID de jeton et de la quantité spécifiés. Un pourcentage de jetons de la quantité frappée est ensuite transféré au compte de jetons du pool d'échange.
@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);
}
Paramètres :
  • token_id: string : ID du jeton à ment.
  • token_quantity: number : nombre total de jetons à ment.
  • percentage_token_to_exchange_pool: number : pourcentage de jetons extraits à transférer vers le compte de jetons du pool d'échange.
Renvoie :
  • En cas de succès, un message indiquant que l'extraction et le financement du pool d'échange ont réussi.
Exemple de valeur renvoyée :
{
    "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
Cette méthode convertit les jetons du compte de l'appelant vers le compte indiqué par les valeurs to_token_id, to_org_id et to_user_id. Cette méthode peut être appelée par Token Admin du code chaîne et par n'importe quel propriétaire de compte de jeton. Un utilisateur du pool d'échange ne peut pas appeler cette méthode.
@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);
}
Paramètres :
  • from_token_id: string : ID du jeton à partir duquel effectuer la conversion.
  • to_token_id: string : ID du jeton à convertir.
  • to_org_id: string : ID du fournisseur de services d'adhésion (MSP) de l'utilisateur de l'organisation en cours devant recevoir les jetons.
  • to_user_id: string : nom utilisateur ou ID de courriel de l'utilisateur devant recevoir les jetons.
  • token_quantity: number : nombre total de jetons à transférer.
Renvoie :
  • En cas de réussite, un message indiquant que la conversion du jeton a réussi.
Exemple de valeur renvoyée :
{
    "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
Cette méthode renvoie l'historique de conversion de jeton pour un compte de jeton spécifié. Cette méthode peut être appelée par Token Admin du code chaîne, par Org Admin de l'organisation indiquée ou par le propriétaire du compte de jeton.
@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);
  }
Paramètres :
  • token_id: string : ID du jeton.
  • org_id: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation en cours.
  • user_id: string : nom utilisateur ou ID courriel de l'utilisateur.
Renvoie :
  • En cas de succès, un objet JSON avec des détails d'historique de conversion.
Exemple de valeur renvoyée :
[
  {
    "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
Cette méthode renvoie l'historique du taux de conversion des jetons pour une paire de jetons. Cette méthode peut être appelée par Token Admin du code chaîne, n'importe quel élément Org Admin et par n'importe quel propriétaire de compte de jeton.
@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);
}
Paramètres :
  • from_token_id: string : ID du jeton à partir duquel effectuer la conversion, dans le but de calculer le taux de conversion.
  • to_token_id: string : ID du jeton à convertir dans le but de calculer le taux de conversion.
Renvoie :
  • En cas de succès, un objet JSON avec des détails d'historique de taux de conversion.
Exemple de valeur renvoyée :
 [
  {
    "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
Cette méthode renvoie les valeurs org_id et user_id pour l'utilisateur du pool d'échange. Cette méthode ne peut être appelée que par un élément Token Admin du code chaîne.
@Validator()
public async getExchangePoolUser() {
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.getExchangePoolUser', 'TOKEN');
    return await this.Ctx.TokenConvertor.getExchangePoolUser();
}
Paramètres :
  • Aucun élément
Renvoie :
  • En cas de succès, un message contenant des informations sur l'utilisateur du pool d'échange.
Exemple de valeur renvoyée :
{
   "assetType": "oconversion",
   "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
   "org_id": "Org1MSP",
   "user_id": "exchangepooluser"
}

Méthodes SDK de conversion de jeton

initializeExchangePoolUser
Cette méthode initialise l'utilisateur du pool d'échange, qui est une activité ponctuelle. Cette méthode ne peut être appelée que par un élément Token Admin du code chaîne.
Ctx.TokenConvertor.initializeExchangePoolUser(orgId: string, userId: string)
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation en cours.
  • userId: string : nom d'utilisateur ou ID courriel de l'utilisateur.
Renvoie :
  • En cas de succès, message qui inclut les détails de l'utilisateur du pool d'échange.
Exemple de valeur renvoyée :
{
    "assetType": "oconversion",
    "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
    "org_id": "Org1MSP",
    "user_id": "exchangepooluser"
}
createExchangePoolAccounts
Cette méthode crée des comptes de jeton de pool d'échange pour un tableau donné d'ID de jeton. Cette méthode ne peut être appelée que par un élément Token Admin du code chaîne.
Ctx.TokenConvertor.createExchangePoolAccounts(token_ids: string[])
Paramètres :
  • token_ids: string [] : tableau d'ID de jeton.
Renvoie :
  • En cas de succès, liste d'objets qui inclut les détails des comptes de pool d'échange créés.
Exemple de valeur renvoyée :
[
  {
    "account_id": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034",
    "token_id": "USD",
    "status": "created"
  },
  {
    "account_id": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0",
    "token_id": "INR",
    "status": "created"
  }
]
addConversionToken
Cette méthode ajoute des jetons avec un nouveau taux de conversion pour un jeton spécifié. Le taux de conversion du jeton peut être spécifié jusqu'à huit décimales. Cette méthode ne peut être appelée que par un élément Token Admin du code chaîne.
Ctx.TokenConvertor.addConversionToken(fromTokenId: string, toTokenId: string, tokenConversionRate: number)
Paramètres :
  • fromTokenId: string : ID du jeton à partir duquel effectuer la conversion.
  • toTokenId: string : ID du jeton à convertir.
  • tokenConversionRate: number : vitesse à laquelle convertir le jeton from_token_id en jeton to_token_id.
Renvoie :
  • En cas de succès, représentation JSON de l'objet de taux de conversion.
Exemple de valeur renvoyée :
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 10
}
get
Cette méthode obtient le taux de conversion actuel pour une paire de jetons. Cette méthode peut être appelée par Token Admin du code chaîne et par n'importe quel propriétaire de compte de jeton.
Ctx.TokenConversionRate.get(id: string)
Paramètres :
  • id: string : ID de l'objet de taux de conversion de jeton.
Renvoie :
  • En cas de succès, représentation JSON de l'objet de taux de conversion.
Exemple de valeur renvoyée :
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 10
}
updateTokenConversionRate
Cette méthode met à jour le taux de conversion actuel d'une paire de jetons. Le taux de conversion du jeton peut être spécifié jusqu'à huit décimales. Cette méthode ne peut être appelée que par un élément Token Admin du code chaîne.
Ctx.TokenConvertor.updateTokenConversionRate(fromTokenId: string, toTokenId: string, tokenConversionRate: number)
Paramètres :
  • from_token_id: string : ID du jeton à partir duquel effectuer la conversion.
  • to_token_id: string : ID du jeton à convertir.
  • token_conversion_rate: number : vitesse à laquelle convertir le jeton from_token_id en jeton to_token_id.
Renvoie :
  • En cas de succès, représentation JSON de l'objet de taux de conversion mis à jour.
Exemple de valeur renvoyée :
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 20
}
mintWithFundingExchangePool
Cette méthode extrait les jetons dans le compte de l'appelant en fonction de l'ID de jeton et de la quantité spécifiés. Un pourcentage de jetons de la quantité frappée est ensuite transféré au compte de jetons du pool d'échange.
Ctx.TokenConvertor.mintWithFundingExchangePool(tokenId: string, tokenQuantity: number, percentageTokenToExchangePool: number)
Paramètres :
  • token_id: string : ID du jeton à ment.
  • token_quantity: number : nombre total de jetons à ment.
  • percentage_token_to_exchange_pool: number : pourcentage de jetons extraits à transférer vers le compte de jetons du pool d'échange.
Renvoie :
  • En cas de succès, un message indiquant que l'extraction et le financement du pool d'échange ont réussi.
Exemple de valeur renvoyée :
{
    "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
Cette méthode convertit les jetons du compte de l'appelant vers le compte indiqué par les valeurs to_token_id, to_org_id et to_user_id. Cette méthode peut être appelée par Token Admin du code chaîne et par n'importe quel propriétaire de compte de jeton. Un utilisateur du pool d'échange ne peut pas appeler cette méthode.
Ctx.TokenConvertor.tokenConversion(fromTokenId: string, toTokenId: string, toOrgId: string, toUserId: string, tokenQuantity: number)
Paramètres :
  • from_token_id: string : ID du jeton à partir duquel effectuer la conversion.
  • to_token_id: string : ID du jeton à convertir.
  • to_org_id: string : ID du fournisseur de services d'adhésion (MSP) de l'utilisateur de l'organisation en cours devant recevoir les jetons.
  • to_user_id: string : nom utilisateur ou ID de courriel de l'utilisateur devant recevoir les jetons.
Renvoie :
  • En cas de réussite, un message indiquant que la conversion du jeton a réussi.
Exemple de valeur renvoyée :
{
    "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
Cette méthode renvoie l'historique de conversion de jeton pour un compte de jeton spécifié. Cette méthode peut être appelée par Token Admin du code chaîne, par Org Admin de l'organisation indiquée et par le propriétaire du compte de jeton.
Ctx.Account.getTokenConversionHistory(account_id: string, org_id: string, user_id: string)
Paramètres :
  • account_id: string : ID du compte de jeton fongible.
  • org_id: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation en cours.
  • user_id: string : nom utilisateur ou ID courriel de l'utilisateur.
Renvoie :
  • En cas de succès, un objet JSON avec des détails d'historique de conversion.
Exemple de valeur renvoyée :
[
  {
    "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
Cette méthode renvoie l'historique du taux de conversion des jetons pour une paire de jetons. Cette méthode peut être appelée par Token Admin du code chaîne, n'importe quel élément Org Admin et par n'importe quel propriétaire de compte de jeton.
Ctx.TokenConversionRate.history(conversion_rate_id: string)
Paramètres :
  • conversion_rate_id: string : ID de l'objet de taux de conversion.
Renvoie :
  • En cas de succès, un objet JSON avec des détails d'historique de taux de conversion.
Exemple de valeur renvoyée :
 [
  {
    "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
Cette méthode renvoie les valeurs OrgId et UserId pour l'utilisateur du pool d'échange. Cette méthode ne peut être appelée que par un élément Token Admin du code chaîne.
Ctx.TokenConvertor.getExchangePoolUser()
Paramètres :
  • Aucun élément
Renvoie :
  • En cas de succès, un message contenant des informations sur l'utilisateur du pool d'échange.
Exemple de valeur renvoyée :
{
   "assetType": "oconversion",
   "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
   "org_id": "Org1MSP",
   "user_id": "exchangepooluser"
}