import type { Account, Address, Chain, Client, NamehashErrorType, Transport, WriteContractErrorType, WriteContractReturnType } from 'viem'; import type { Prettify, WriteTransactionParameters } from '../../../types/index.js'; import { type ClientWithOverridesErrorType } from '../../../utils/clientWithOverrides.js'; import { type SetAddrParametersErrorType } from '../../../utils/resolver/setAddr.js'; export type SetAddressRecordWriteParametersParameters = { /** Name to set address record for */ name: string; /** Coin ticker or ID to set */ coin: string | number; /** Value to set, null if deleting */ value: Address | string | null; /** Resolver address to set address record on */ resolverAddress: Address; }; export type SetAddressRecordWriteParametersReturnType = ReturnType; export type SetAddressRecordWriteParametersErrorType = SetAddrParametersErrorType | NamehashErrorType; export declare const setAddressRecordWriteParameters: (client: Client, { name, coin, value, resolverAddress, }: SetAddressRecordWriteParametersParameters) => { readonly abi: readonly [{ readonly inputs: readonly [{ readonly name: "node"; readonly type: "bytes32"; }, { readonly name: "coinType"; readonly type: "uint256"; }, { readonly name: "a"; readonly type: "bytes"; }]; readonly name: "setAddr"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; readonly functionName: "setAddr"; readonly args: readonly [`0x${string}`, bigint, `0x${string}`]; readonly address: `0x${string}`; readonly chain: chain; readonly account: Account; }; export type SetAddressRecordParameters = Prettify>; export type SetAddressRecordReturnType = WriteContractReturnType; export type SetAddressRecordErrorType = SetAddressRecordWriteParametersErrorType | ClientWithOverridesErrorType | WriteContractErrorType; /** * Sets an address record for a name on a resolver. * @param client - {@link Client} * @param options - {@link SetAddressRecordParameters} * @returns Transaction hash. {@link SetAddressRecordReturnType} * * @example * import { createWalletClient, custom } from 'viem' * import { mainnet } from 'viem/chains' * import { addEnsContracts } from '@ensdomains/ensjs' * import { setAddressRecord } from '@ensdomains/ensjs/wallet' * * const [account] = await window.ethereum.request({ method: 'eth_requestAccounts' }) * const wallet = createWalletClient({ * account, * chain: addEnsContracts(mainnet), * transport: custom(window.ethereum), * }) * const hash = await setAddressRecord(wallet, { * name: 'ens.eth', * coin: 'ETH', * value: '0xFe89cc7aBB2C4183683ab71653C4cdc9B02D44b7', * resolverAddress: '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41', * }) * // 0x... */ export declare function setAddressRecord(client: Client, { name, coin, value, resolverAddress, ...txArgs }: SetAddressRecordParameters): Promise; //# sourceMappingURL=setAddressRecord.d.ts.map