Skip to main content

Asset

defineAsset​

- Defines a custom asset
An asset definition operation registers an asset with the Findora ledger. An asset is a digital resource that can be issued and transferred.
An asset has an issuer and a unique code. The DefineAsset operation must provide an unused token code. The transaction containing the DefineAsset operation will fail if there is already another asset on the ledger with the same code.

Parameters:​
  •   <WalletKeypar> - Wallet keypair
  •   <string> - asset name
  •   <string> - (optinal) asset memo
  •   <string> - (optinal) A set of rules (options) for the new asset.
Results:​
  •   Promise<TransactionBuilder> - An instance of TransactionBuilder from Ledger
Example:​
const walletInfo = await Keypair.restoreFromPrivateKey(pkey, password);

// First, we create a transaction builder
const assetBuilder = await Asset.defineAsset(walletInfo, assetCode);

// Then, we submit a transaction
const handle = await Transaction.submitTransaction(assetBuilder);

getAssetCode​

- Return Asset Code
This method returns Asset Code by given asset type

Parameters:​
  •   <number[]> - asset type
Results:​
  •   Promise<string> - asset code.
Example:​
const assetType = [1, 2];

// Get the decrypted Asset code
const assetCode = await Asset.getAssetCode(assetType);

getAssetDetails​

- Get Asset Details
This method returns Asset details by given asset code

Parameters:​
  •   <string> - asset code
Results:​
  •   Promise<IAsset> - An instance of FindoraWallet.IAsset
Example:​
const assetCode = "Your_Asset_Code";

// Get asset details
const assetDetails = await getAssetDetails(assetCode);

getFraAssetCode​

- Returns the pre-defined FRA asset code
FRA asset code can not be re-defined, as well as it can not be used in the DefineAset or IssueAsset operations.
This is the main asset code, which is used when user needs to create a transaction, or calculate the fee and so on.

Results:​
  •   Promise<string> - Findora Asset code
Example:​
// Get the FRA Asset code
const fraAssetCode = await Asset.getFraAssetCode();

getFraPublicKey​

- Return Destination's Public Key
This method returns the public key of destination

Results:​
  •   Promise<XfrPublicKey> - An instance of XfrPublicKey.
Example:​
// Get the public key of destination
const pubKey = await Asset.getFraPublicKey();

getMinimalFee​

- Return Minimal Fee for transaction
This method returns the required minimal fee for transaction

Results:​
  •   Promise<BigInt> - An instance of BigInt.
Example:​
// Get the minimal fee for transaction
const minFee = await Asset.getMinimalFee();

getRandomAssetCode​

- Returns a random asset code
Using Ledger, it generates and returns a random custom asset code

Results:​
  •   Promise<string> - Asset code.
Example:​
// Get a random asset code
const assetCode = await Asset.getRandomAssetCode();

issueAsset​

- Issue some amount of a custom asset
Asset issuers can use the IssueAsset operation to mint units of an asset that they have created. Concretely, the IssueAsset operation creates asset records that represent ownership by a public key of a certain amount of an asset. These asset records are stored in a structure called a transaction output (TXO).

Parameters:​
  •   <WalletKeypar> - wallet keypair
  •   <string> - asset name
  •   <string> - amount to be issued
  •   <AssetBlindRules> - asset blind rules
  •   <number> - (optional) asset decimals. This parameter can define how many numbers after the comma would this asset have
Results:​
  •   Promise<TransactionBuilder> - An instance of TransactionBuilder from Ledger
Example:​
const walletInfo = await Keypair.restoreFromPrivateKey(pkey, password);

// Define the new asset parameters (rules)
const assetBlindRules = { isAmountBlind: false };

// First, we create a transaction builder
const assetBuilder = await Asset.issueAsset(
walletInfo,
customAssetCode,
amountToIssue,
assetBlindRules
);

// Then, we submit a transaction
const handle = await Transaction.submitTransaction(assetBuilder);
© Findora 2022
|
|

Â