원클릭으로
mvx-sdk-js-tokens
Token operations (ESDT/NFT/SFT) for MultiversX TypeScript/JavaScript SDK.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Token operations (ESDT/NFT/SFT) for MultiversX TypeScript/JavaScript SDK.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Guidelines for establishing context before an audit.
Perform a comprehensive on-chain security audit of a deployed MultiversX smart contract. Use when reviewing a contract's security posture, permissions, state, and economic safety without source code.
Read on-chain state in MultiversX smart contracts. Use when accessing caller info, account balances, block timestamps, ESDT token metadata, local roles, code metadata, or any data from self.blockchain().
Gas-optimized cache patterns for MultiversX smart contracts using Drop-based write-back caches. Use when building contracts that read/write multiple storage values per transaction, DeFi protocols, or any gas-sensitive contract.
Identify ambiguous requirements and ask targeted clarifying questions for MultiversX development. Use when user requests are vague, missing technical constraints, or have conflicting requirements.
Comprehensive code analysis toolkit for MultiversX smart contracts. Covers differential review (version comparison, upgrade safety), fix verification (validate patches, regression testing), and variant analysis (find similar bugs across codebase). Use when reviewing PRs, verifying security patches, or hunting for bug variants.
| name | mvx-sdk-js-tokens |
| description | Token operations (ESDT/NFT/SFT) for MultiversX TypeScript/JavaScript SDK. |
This skill covers ESDT (fungible), NFT, and SFT token operations.
const controller = entrypoint.createTransfersController();
const tx = await controller.createTransactionForTransfer(account, nonce, {
receiver: Address.newFromBech32("erd1..."),
nativeAmount: 1000000000000000000n // 1 EGLD (18 decimals)
});
import { TokenTransfer } from "@multiversx/sdk-core";
const tx = await controller.createTransactionForTransfer(account, nonce, {
receiver: receiverAddress,
tokenTransfers: [
TokenTransfer.fungibleFromBigInteger("TOKEN-abc123", 1000000n)
]
});
const tx = await controller.createTransactionForTransfer(account, nonce, {
receiver: receiverAddress,
tokenTransfers: [
TokenTransfer.nftFromBigInteger("NFT-abc123", 1n, 1n) // nonce=1, quantity=1
]
});
const controller = entrypoint.createTokenManagementController();
const tx = await controller.createTransactionForIssuingFungible(account, nonce, {
tokenName: "MyToken",
tokenTicker: "MTK",
initialSupply: 1_000_000_000000n, // With decimals
numDecimals: 6n,
canFreeze: false,
canWipe: true,
canPause: false,
canChangeOwner: true,
canUpgrade: true,
canAddSpecialRoles: true
});
const txHash = await entrypoint.sendTransaction(tx);
const outcome = await controller.awaitCompletedIssueFungible(txHash);
const tokenIdentifier = outcome[0].tokenIdentifier;
const tx = await controller.createTransactionForIssuingSemiFungible(account, nonce, {
tokenName: "MySFT",
tokenTicker: "SFT",
canFreeze: false,
canWipe: true,
canPause: false,
canTransferNFTCreateRole: true,
canChangeOwner: true,
canUpgrade: true,
canAddSpecialRoles: true
});
const tx = await controller.createTransactionForRegisteringAndSettingRoles(account, nonce, {
tokenName: "MyNFT",
tokenTicker: "MNFT",
tokenType: "NonFungibleESDT"
});
// Set special role
const tx = await controller.createTransactionForSettingSpecialRole(account, nonce, {
tokenIdentifier: "TOKEN-abc123",
user: userAddress,
addRoleLocalMint: true,
addRoleLocalBurn: true
});
const provider = entrypoint.createNetworkProvider();
// Get specific token
const token = await provider.getTokenOfAccount(address, "TOKEN-abc123");
// Get all fungible tokens
const tokens = await provider.getFungibleTokensOfAccount(address);
// Get all NFTs
const nfts = await provider.getNonFungibleTokensOfAccount(address);
TICKER-hexhash (e.g., USDC-a1b2c3)