@hashgraph/sdk
Version:
225 lines (224 loc) • 7.18 kB
TypeScript
/**
* @typedef {import("./CustomFee.js").default} CustomFee
*/
/**
* Response when the client sends the node TokenGetInfoQuery.
*/
export default class TokenInfo {
/**
* @internal
* @param {HieroProto.proto.ITokenInfo} info
* @returns {TokenInfo}
*/
static _fromProtobuf(info: HieroProto.proto.ITokenInfo): TokenInfo;
/**
* @param {Uint8Array} bytes
* @returns {TokenInfo}
*/
static fromBytes(bytes: Uint8Array): TokenInfo;
/**
* @private
* @param {object} props
* @param {TokenId} props.tokenId;
* @param {string} props.name;
* @param {string} props.symbol;
* @param {number} props.decimals;
* @param {Long} props.totalSupply;
* @param {AccountId | null} props.treasuryAccountId;
* @param {Key | null} props.adminKey;
* @param {Key | null} props.kycKey;
* @param {Key | null} props.freezeKey;
* @param {Key | null} props.pauseKey;
* @param {Key | null} props.wipeKey;
* @param {Key | null} props.supplyKey;
* @param {Key | null} props.feeScheduleKey;
* @param {boolean | null} props.defaultFreezeStatus;
* @param {boolean | null} props.defaultKycStatus;
* @param {boolean | null} props.pauseStatus;
* @param {boolean} props.isDeleted;
* @param {AccountId | null} props.autoRenewAccountId;
* @param {Duration | null} props.autoRenewPeriod;
* @param {Timestamp | null} props.expirationTime;
* @param {string} props.tokenMemo;
* @param {CustomFee[]} props.customFees;
* @param {TokenType | null} props.tokenType;
* @param {TokenSupplyType | null} props.supplyType;
* @param {Long | null} props.maxSupply;
* @param {LedgerId|null} props.ledgerId;
* @param {Key | null} props.metadataKey;
* @param {Uint8Array | null} props.metadata;
*/
private constructor();
/**
* ID of the token instance
*
* @readonly
*/
readonly tokenId: TokenId;
/**
* The name of the token. It is a string of ASCII only characters
*
* @readonly
*/
readonly name: string;
/**
* The symbol of the token. It is a UTF-8 capitalized alphabetical string
*
* @readonly
*/
readonly symbol: string;
/**
* The number of decimal places a token is divisible by
*
* @readonly
*/
readonly decimals: number;
/**
* The total supply of tokens that are currently in circulation
*
* @readonly
*/
readonly totalSupply: Long;
/**
* The ID of the account which is set as treasuryAccountId
*
* @readonly
*/
readonly treasuryAccountId: AccountId | null;
/**
* The key which can perform update/delete operations on the token. If empty, the token can be perceived as
* immutable (not being able to be updated/deleted)
*
* @readonly
*/
readonly adminKey: Key | null;
/**
* The key which can grant or revoke KYC of an account for the token's transactions. If empty, KYC is not required,
* and KYC grant or revoke operations are not possible.
*
* @readonly
*/
readonly kycKey: Key | null;
/**
* The key which can freeze or unfreeze an account for token transactions. If empty, freezing is not possible
*
* @readonly
*/
readonly freezeKey: Key | null;
/**
* The Key which can pause and unpause the Token.
*
* @readonly
*/
readonly pauseKey: Key | null;
/**
* The key which can wipe token balance of an account. If empty, wipe is not possible
*
* @readonly
*/
readonly wipeKey: Key | null;
/**
* The key which can change the supply of a token. The key is used to sign Token Mint/Burn operations
*
* @readonly
*/
readonly supplyKey: Key | null;
feeScheduleKey: Key | null;
/**
* The default Freeze status (not applicable = null, frozen = false, or unfrozen = true) of Hedera accounts relative to this token.
* FreezeNotApplicable is returned if Token Freeze Key is empty. Frozen is returned if Token Freeze Key is set and
* defaultFreeze is set to true. Unfrozen is returned if Token Freeze Key is set and defaultFreeze is set to false
* FreezeNotApplicable = null;
* Frozen = true;
* Unfrozen = false;
*
* @readonly
*/
readonly defaultFreezeStatus: boolean | null;
/**
* The default KYC status (KycNotApplicable or Revoked) of Hedera accounts relative to this token. KycNotApplicable
* is returned if KYC key is not set, otherwise Revoked
* KycNotApplicable = null;
* Granted = true;
* Revoked = false;
*
* @readonly
*/
readonly defaultKycStatus: boolean | null;
/**
* The default pause status of Hedera accounts relative to this token.
* PauseNotApplicable is returned if pauseKey is not set
* PauseNotApplicable = null;
* Paused = true;
* Unpaused = false;
*
* @readonly
*/
readonly pauseStatus: boolean | null;
/**
* Specifies whether the token was deleted or not
*
* @readonly
*/
readonly isDeleted: boolean;
/**
* An account which will be automatically charged to renew the token's expiration, at autoRenewPeriod interval
*
* @readonly
*/
readonly autoRenewAccountId: AccountId | null;
/**
* The interval at which the auto-renew account will be charged to extend the token's expiry
*
* @readonly
*/
readonly autoRenewPeriod: Duration | null;
/**
* The epoch second at which the token expire: will; if an auto-renew account and period are specified,
* this is coerced to the current epoch second plus the autoRenewPeriod
*
* @readonly
*/
readonly expirationTime: Timestamp | null;
/**
* The memo associated with the token.
*
* @readonly
*/
readonly tokenMemo: string;
customFees: import("./CustomFee.js").default[];
tokenType: TokenType | null;
supplyType: TokenSupplyType | null;
maxSupply: Long | null;
ledgerId: LedgerId | null;
/**
* @description The key which can change the metadata of a token (token definition and individual NFTs).
*
* @readonly
*/
readonly metadataKey: Key | null;
/**
* @description Metadata of the created token definition.
* @readonly
*/
readonly metadata: Uint8Array<ArrayBufferLike> | null;
/**
* @returns {HieroProto.proto.ITokenInfo}
*/
_toProtobuf(): HieroProto.proto.ITokenInfo;
/**
* @returns {Uint8Array}
*/
toBytes(): Uint8Array;
}
export type CustomFee = import("./CustomFee.js").default;
import TokenId from "./TokenId.js";
import Long from "long";
import AccountId from "../account/AccountId.js";
import Key from "../Key.js";
import Duration from "../Duration.js";
import Timestamp from "../Timestamp.js";
import TokenType from "./TokenType.js";
import TokenSupplyType from "./TokenSupplyType.js";
import LedgerId from "../LedgerId.js";
import * as HieroProto from "@hashgraph/proto";