@flipflop-sdk/cli
Version:
FlipFlop CLI tool for common operations
59 lines • 2.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.mintCommand = mintCommand;
const web3_js_1 = require("@solana/web3.js");
const utils_1 = require("./utils");
const node_1 = require("@flipflop-sdk/node");
async function mintCommand(options) {
try {
if (!options.rpc) {
console.error('❌ Error: Missing --rpc parameter');
return;
}
if (!options.mint) {
console.error('❌ Error: Missing --mint parameter');
return;
}
if (!options.urc) {
console.error('❌ Error: Missing --urc parameter');
return;
}
if (!options.keypairBs58 && !options.keypairFile) {
console.error('❌ Error: Missing --keypair-bs58 or --keypair-file parameter');
return;
}
const mintAccount = new web3_js_1.PublicKey(options.mint);
const minter = options.keypairFile
? (0, utils_1.loadKeypairFromFile)(options.keypairFile)
: (0, utils_1.loadKeypairFromBase58)(options.keypairBs58);
const result = await (0, node_1.mintToken)({
rpc: options.rpc,
minter,
mint: mintAccount,
urc: options.urc,
lookupTableAccount: options.lut ? new web3_js_1.PublicKey(options.lut) : undefined,
});
if (!result?.success || !result?.data) {
console.log("Minter: ", minter.publicKey.toBase58());
console.error('❌ Error: Mint operation failed', result?.message);
return;
}
console.log('Tokens minted successfully!');
console.log('');
console.log('Mint operation details:');
console.log("=".repeat(40));
console.log(`Mint: ${mintAccount}`);
console.log(`URC: ${options.urc}`);
console.log(`Owner: ${result.data?.owner.toBase58()}`);
console.log(`Token Account: ${result.data?.tokenAccount.toBase58()}`);
console.log(`Transaction Hash: ${result.data?.tx}`);
console.log('');
console.log(`Check your token balance by:\n> spl-token balance ${mintAccount} --owner ${minter.publicKey.toBase58()}`);
console.log("=".repeat(40));
}
catch (error) {
console.error('❌ Error: Mint operation failed -', error);
process.exit(1);
}
}
//# sourceMappingURL=mint.js.map