-
initializeExchangePoolUser
- このメソッドは、交換プール・ユーザー(1回かぎりのアクティビティ)を初期化します。このメソッドは、チェーンコードの
Token Admin
によってのみコールできます。
-
@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);
}
- パラメータ:
org_id: string
- 現在の組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP) ID。
user_id: string
- ユーザーのユーザー名または電子メールID。
- 戻り値:
- 成功すると、交換プールユーザーの詳細を含むメッセージが表示されます。
- 戻り値の例:
{
"assetType": "oconversion",
"convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
"org_id": "Org1MSP",
"user_id": "exchangepooluser"
}
-
createExchangePoolAccounts
- このメソッドは、トークンIDの特定の配列の交換プール・トークン・アカウントを作成します。このメソッドは、チェーンコードの
Token Admin
によってのみコールできます。
-
@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);
}
- パラメータ:
token_ids: string []
- トークンIDの配列。
- 戻り値:
- 成功すると、作成された交換プールアカウントの詳細を含むオブジェクトのリスト。
- 戻り値の例:
[
{
"account_id": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034",
"token_id": "USD",
"status": "created"
},
{
"account_id": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0",
"token_id": "INR",
"status": "created"
}
]
-
addConversionRate
- このメソッドは、トークンのペアの換算レートを追加します。トークン換算レートは、小数点以下8桁まで指定できます。このメソッドは、チェーンコードの
Token Admin
によってのみコールできます。
-
@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);
}
- パラメータ:
from_token_id: string
- 変換元のトークンのID。
to_token_id: string
- 変換先のトークンのID。
token_conversion_rate: number
- from_token_id
トークンをto_token_id
トークンに変換するレート。
- 戻り値:
- 成功した場合、換算レート・オブジェクトのJSON表現。
- 戻り値の例:
{
"assetType": "oconversionRate",
"conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
"from_token_id": "USD",
"to_token_id": "INR",
"conversion_rate": 10
}
-
getConversionRate
- このメソッドは、トークンのペアの現在の換算レートを取得します。このメソッドは、チェーンコードの
Token Admin
、任意のOrg Admin
および任意のトークン・アカウント所有者によってコールできます。
-
@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);
}
- パラメータ:
from_token_id: string
- 変換元のトークンのID。
to_token_id: string
- 変換先のトークンのID。
- 戻り値:
- 成功した場合、換算レート・オブジェクトのJSON表現。
- 戻り値の例:
{
"assetType": "oconversionRate",
"conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
"from_token_id": "USD",
"to_token_id": "INR",
"conversion_rate": 10
}
-
updateConversionRate
- このメソッドは、トークンのペアの現在の換算レートを更新します。トークン換算レートは、小数点以下8桁まで指定できます。このメソッドは、チェーンコードの
Token Admin
によってのみコールできます。
-
@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);
}
- パラメータ:
from_token_id: string
- 変換元のトークンのID。
to_token_id: string
- 変換先のトークンのID。
token_conversion_rate: number
- from_token_id
トークンをto_token_id
トークンに変換するレート。
- 戻り値:
- 成功すると、更新された換算レート・オブジェクトのJSON表現。
- 戻り値の例:
{
"assetType": "oconversionRate",
"conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
"from_token_id": "USD",
"to_token_id": "INR",
"conversion_rate": 20
}
-
mintWithFundingExchangePool
- このメソッドは、指定されたトークンIDと数量に基づいて、コール元のアカウントのトークンをミントします。ミントされた数量からのトークンの割合が、交換プール・トークン・アカウントに転送されます。
-
@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);
}
- パラメータ:
token_id: string
- ミントするトークンのID。
token_quantity: number
- ミントするトークンの合計数。
percentage_token_to_exchange_pool: number
- 交換プール・トークン・アカウントに転送するミント・トークンの割合。
- 戻り値:
- 成功すると、交換プールのマイニングと資金調達が成功したことを示すメッセージが表示されます。
- 戻り値の例:
{
"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
- このメソッドは、トークンをコール元のアカウントから、
to_token_id
、to_org_id
およびto_user_id
の値で指定されたアカウントに変換します。このメソッドは、チェーンコードのToken Admin
およびトークン・アカウント所有者がコールできます。交換プール・ユーザーは、このメソッドをコールできません。
-
@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);
}
- パラメータ:
from_token_id: string
- 変換元のトークンのID。
to_token_id: string
- 変換先のトークンのID。
to_org_id: string
- トークンを受け取る現在の組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP) ID。
to_user_id: string
- トークンを受信するユーザーのユーザー名または電子メールID。
token_quantity: number
- 転送するトークンの合計数。
- 戻り値:
- 成功すると、トークン変換が成功したことを示すメッセージが表示されます。
- 戻り値の例:
{
"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
- このメソッドは、指定されたトークン・アカウントのトークン変換履歴を返します。このメソッドは、チェーンコードの
Token Admin
、指定された組織のOrg Admin
、またはトークン・アカウント所有者によってコールできます。
-
@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);
}
- パラメータ:
token_id: string
- トークンのID。
org_id: string
- 現在の組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP) ID。
user_id: string
- ユーザーのユーザー名または電子メールID。
- 戻り値:
- 成功すると、変換履歴の詳細を含むJSONオブジェクト。
- 戻り値の例:
[
{
"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
- このメソッドは、トークンのペアのトークン換算レート履歴を返します。このメソッドは、チェーンコードの
Token Admin
、任意のOrg Admin
および任意のトークン・アカウント所有者によってコールできます。
-
@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);
}
- パラメータ:
from_token_id: string
- 変換元のトークンのIDで、変換率を計算します。
to_token_id: string
- 換算レートの計算を目的とした、変換先のトークンのID。
- 戻り値:
- 成功すると、換算レート履歴の詳細を含むJSONオブジェクト。
- 戻り値の例:
[
{
"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
- このメソッドは、交換プール・ユーザーの
org_id
およびuser_id
値を返します。このメソッドは、チェーンコードのToken Admin
によってのみコールできます。
-
@Validator()
public async getExchangePoolUser() {
await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.getExchangePoolUser', 'TOKEN');
return await this.Ctx.TokenConvertor.getExchangePoolUser();
}
- パラメータ:
- 戻り値:
- 成功すると、交換プールユーザーに関する情報を含むメッセージが表示されます。
- 戻り値の例:
{
"assetType": "oconversion",
"convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
"org_id": "Org1MSP",
"user_id": "exchangepooluser"
}