Méthodes TypeScript pour la 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 utilisez des jetons menthe, vous pouvez indiquer qu'un pourcentage des jetons menthe 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'échanges pour chaque type de jeton fongible à partir duquel vous souhaitez effectuer la conversion ou la conversion.
  3. Appelez la méthode addConversionRate afin de définir le taux de conversion pour 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 vers les 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 peut transférer un pourcentage de jetons extraits vers un compte de pool d'échange.
  5. Appelez la méthode tokenConversion pour convertir 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 de change peut consulter les soldes et les transactions de compte du pool de change.
    • Appelez la méthode getAccount pour afficher les soldes de chacun des comptes de jeton du pool d'échange.
    • Appelez les méthodes getAccountTransactionHistory et getAccountTransactionHistoryWithFilters afin de visualiser les transactions de compte pour chacun des comptes 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 être invocables.

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 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 actuelle.
  • user_id: string : nom d'utilisateur ou ID de courriel de l'utilisateur.
Renvoie :
  • En cas de succès, message contenant 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 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 des 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 de jeton peut être spécifié jusqu'à huit décimales. Cette méthode ne peut être appelée que par un 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 à convertir.
  • to_token_id: string : ID du jeton vers lequel effectuer la conversion.
  • 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, par 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 à convertir.
  • to_token_id: string : ID du jeton vers lequel effectuer la conversion.
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 pour une paire de jetons. Le taux de conversion de jeton peut être spécifié jusqu'à huit décimales. Cette méthode ne peut être appelée que par un 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 à convertir.
  • to_token_id: string : ID du jeton vers lequel effectuer la conversion.
  • 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 provenant de la quantité frappée est ensuite transféré vers le 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 à frapper.
  • token_quantity: number : nombre total de jetons à menthe.
  • percentage_token_to_exchange_pool: number : pourcentage de jetons extraits à transférer vers le compte de jeton du pool d'échange.
Renvoie :
  • En cas de succès, message indiquant que la frappe 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 à convertir.
  • to_token_id: string : ID du jeton vers lequel effectuer la conversion.
  • to_org_id: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle pour recevoir les jetons.
  • to_user_id: string : nom d'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 succès, 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 actuelle.
  • user_id: string : nom d'utilisateur ou ID de courriel de l'utilisateur.
Renvoie :
  • En cas de succès, objet JSON avec les détails de l'historique des conversions.
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, par 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 à convertir pour le calcul du taux de conversion.
  • to_token_id: string : ID du jeton vers lequel effectuer la conversion, aux fins du calcul du taux de conversion.
Renvoie :
  • En cas de succès, objet JSON avec détails de l'historique des 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 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, 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 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 actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
Renvoie :
  • En cas de succès, message contenant 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 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 des 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 de jeton peut être spécifié jusqu'à huit décimales. Cette méthode ne peut être appelée que par un Token Admin du code chaîne.
Ctx.TokenConvertor.addConversionToken(fromTokenId: string, toTokenId: string, tokenConversionRate: number)
Paramètres :
  • fromTokenId: string : ID du jeton à convertir.
  • toTokenId: string : ID du jeton vers lequel effectuer la conversion.
  • 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 pour une paire de jetons. Le taux de conversion de jeton peut être spécifié jusqu'à huit décimales. Cette méthode ne peut être appelée que par un Token Admin du code chaîne.
Ctx.TokenConvertor.updateTokenConversionRate(fromTokenId: string, toTokenId: string, tokenConversionRate: number)
Paramètres :
  • from_token_id: string : ID du jeton à convertir.
  • to_token_id: string : ID du jeton vers lequel effectuer la conversion.
  • 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 provenant de la quantité frappée est ensuite transféré vers le compte de jetons du pool d'échange.
Ctx.TokenConvertor.mintWithFundingExchangePool(tokenId: string, tokenQuantity: number, percentageTokenToExchangePool: number)
Paramètres :
  • token_id: string : ID du jeton à frapper.
  • token_quantity: number : nombre total de jetons à menthe.
  • percentage_token_to_exchange_pool: number : pourcentage de jetons extraits à transférer vers le compte de jeton du pool d'échange.
Renvoie :
  • En cas de succès, message indiquant que la frappe 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 à convertir.
  • to_token_id: string : ID du jeton vers lequel effectuer la conversion.
  • to_org_id: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle pour recevoir les jetons.
  • to_user_id: string : nom d'utilisateur ou ID de courriel de l'utilisateur devant recevoir les jetons.
Renvoie :
  • En cas de succès, 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 actuelle.
  • user_id: string : nom d'utilisateur ou ID de courriel de l'utilisateur.
Renvoie :
  • En cas de succès, objet JSON avec les détails de l'historique des conversions.
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, par 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, objet JSON avec détails de l'historique des 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 Token Admin du code chaîne.
Ctx.TokenConvertor.getExchangePoolUser()
Paramètres :
  • Aucun élément
Renvoie :
  • En cas de succès, 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"
}