UNPKG

@hashgraph/sdk

Version:
225 lines (224 loc) 7.18 kB
/** * @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";