@uttacoin/upl-name-service
Version:
UTTA Coin Programs Library. Name Service JavaScript API
27 lines • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTokenInfoFromName = exports.getTokenInfoFromMint = exports.TOKEN_TLD = void 0;
const web3_js_1 = require("@uttacoin/web3.js");
const utils_1 = require("./utils");
const state_1 = require("./state");
exports.TOKEN_TLD = new web3_js_1.PublicKey("6NSu2tci4apRKQtt257bAVcvqYjB3zV2H1dWo56vgpa6");
const getTokenInfoFromMint = async (connection, mint) => {
const nameKey = await utils_1.getNameAccountKey(await utils_1.getHashedName(mint.toBase58()), undefined, exports.TOKEN_TLD);
const registry = await state_1.NameRegistryState.retrieve(connection, nameKey);
if (!registry.data) {
throw new Error("Invalid account data");
}
return state_1.TokenData.deserialize(registry.data);
};
exports.getTokenInfoFromMint = getTokenInfoFromMint;
const getTokenInfoFromName = async (connection, name) => {
const reverseNameKey = await utils_1.getNameAccountKey(await utils_1.getHashedName(name), undefined, exports.TOKEN_TLD);
const reverseRegistry = await state_1.NameRegistryState.retrieve(connection, reverseNameKey);
if (!reverseRegistry.data) {
throw new Error("Invalid account data");
}
const mint = new web3_js_1.PublicKey(state_1.Mint.deserialize(reverseRegistry.data).mint);
return await exports.getTokenInfoFromMint(connection, mint);
};
exports.getTokenInfoFromName = getTokenInfoFromName;
//# sourceMappingURL=tokens.js.map