PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/viem/_cjs/actions/ens
Просмотр файла: getEnsResolver.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEnsResolver = getEnsResolver;
const getChainContractAddress_js_1 = require("../../utils/chain/getChainContractAddress.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const packetToBytes_js_1 = require("../../utils/ens/packetToBytes.js");
const getAction_js_1 = require("../../utils/getAction.js");
const readContract_js_1 = require("../public/readContract.js");
async function getEnsResolver(client, parameters) {
const { blockNumber, blockTag, name } = parameters;
const { chain } = client;
const universalResolverAddress = (() => {
if (parameters.universalResolverAddress)
return parameters.universalResolverAddress;
if (!chain)
throw new Error('client chain not configured. universalResolverAddress is required.');
return (0, getChainContractAddress_js_1.getChainContractAddress)({
blockNumber,
chain,
contract: 'ensUniversalResolver',
});
})();
const tlds = chain?.ensTlds;
if (tlds && !tlds.some((tld) => name.endsWith(tld)))
throw new Error(`${name} is not a valid ENS TLD (${tlds?.join(', ')}) for chain "${chain.name}" (id: ${chain.id}).`);
const [resolverAddress] = await (0, getAction_js_1.getAction)(client, readContract_js_1.readContract, 'readContract')({
address: universalResolverAddress,
abi: [
{
inputs: [{ type: 'bytes' }],
name: 'findResolver',
outputs: [
{ type: 'address' },
{ type: 'bytes32' },
{ type: 'uint256' },
],
stateMutability: 'view',
type: 'function',
},
],
functionName: 'findResolver',
args: [(0, toHex_js_1.toHex)((0, packetToBytes_js_1.packetToBytes)(name))],
blockNumber,
blockTag,
});
return resolverAddress;
}
//# sourceMappingURL=getEnsResolver.js.mapВыполнить команду
Для локальной разработки. Не используйте в интернете!