UNPKG

wagmi

Version:

React Hooks for Ethereum

483 lines • 20.3 kB
import type { UseMutationResult } from '@tanstack/react-query'; import type { Config, ResolvedRegister } from '@wagmi/core'; import type { ConfigParameter, ExactPartial } from '@wagmi/core/internal'; import { Actions } from '@wagmi/core/tempo'; import { type UseMutationParameters, type UseQueryReturnType } from '../../utils/query.js'; import type { QueryParameter } from '../utils.js'; /** * Hook for getting information about the current zone authorization token. * * @example * ```tsx * import { Hooks } from 'wagmi/tempo' * import { zone } from 'viem/tempo/zones' * * const zoneChain = zone(7) * * function App() { * const { data, isLoading } = Hooks.zone.useAuthorizationTokenInfo({ * chainId: zoneChain.id, * }) * * if (isLoading) return <div>Loading...</div> * return <div>Expires At: {data?.expiresAt.toString()}</div> * } * ``` * * @param parameters - Parameters. * @returns Query result with the current authorization token info. */ export declare function useAuthorizationTokenInfo<config extends Config = ResolvedRegister['config'], selectData = Actions.zone.getAuthorizationTokenInfo.ReturnValue>(parameters?: useAuthorizationTokenInfo.Parameters<config, selectData>): useAuthorizationTokenInfo.ReturnValue<selectData>; export declare namespace useAuthorizationTokenInfo { type Parameters<config extends Config = ResolvedRegister['config'], selectData = Actions.zone.getAuthorizationTokenInfo.ReturnValue> = ConfigParameter<config> & QueryParameter<Actions.zone.getAuthorizationTokenInfo.ReturnValue, Actions.zone.getAuthorizationTokenInfo.ErrorType, selectData, Actions.zone.getAuthorizationTokenInfo.QueryKey<config>> & ExactPartial<Actions.zone.getAuthorizationTokenInfo.Parameters<config>>; type ReturnValue<selectData = Actions.zone.getAuthorizationTokenInfo.ReturnValue> = UseQueryReturnType<selectData, Error>; } /** * Hook for getting deposit processing status for a Tempo block number. * * @example * ```tsx * import { Hooks } from 'wagmi/tempo' * import { zone } from 'viem/tempo/zones' * * const zoneChain = zone(7) * * function App() { * const { data, isLoading } = Hooks.zone.useDepositStatus({ * chainId: zoneChain.id, * tempoBlockNumber: 42n, * }) * * if (isLoading) return <div>Loading...</div> * return <div>Processed: {String(data?.processed)}</div> * } * ``` * * @param parameters - Parameters. * @returns Query result with the current deposit status. */ export declare function useDepositStatus<config extends Config = ResolvedRegister['config'], selectData = Actions.zone.getDepositStatus.ReturnValue>(parameters?: useDepositStatus.Parameters<config, selectData>): useDepositStatus.ReturnValue<selectData>; export declare namespace useDepositStatus { type Parameters<config extends Config = ResolvedRegister['config'], selectData = Actions.zone.getDepositStatus.ReturnValue> = ConfigParameter<config> & QueryParameter<Actions.zone.getDepositStatus.ReturnValue, Actions.zone.getDepositStatus.ErrorType, selectData, Actions.zone.getDepositStatus.QueryKey<config>> & ExactPartial<Actions.zone.getDepositStatus.Parameters<config>>; type ReturnValue<selectData = Actions.zone.getDepositStatus.ReturnValue> = UseQueryReturnType<selectData, Error>; } /** * Hook for getting the withdrawal fee for a given gas limit. * * @example * ```tsx * import { Hooks } from 'wagmi/tempo' * import { zone } from 'viem/tempo/zones' * * const zoneChain = zone(7) * * function App() { * const { data, isLoading } = Hooks.zone.useWithdrawalFee({ * chainId: zoneChain.id, * gas: 21_000n, * }) * * if (isLoading) return <div>Loading...</div> * return <div>Fee: {data?.toString()}</div> * } * ``` * * @param parameters - Parameters. * @returns Query result with the withdrawal fee. */ export declare function useWithdrawalFee<config extends Config = ResolvedRegister['config'], selectData = Actions.zone.getWithdrawalFee.ReturnValue>(parameters?: useWithdrawalFee.Parameters<config, selectData>): useWithdrawalFee.ReturnValue<selectData>; export declare namespace useWithdrawalFee { type Parameters<config extends Config = ResolvedRegister['config'], selectData = Actions.zone.getWithdrawalFee.ReturnValue> = ConfigParameter<config> & QueryParameter<Actions.zone.getWithdrawalFee.ReturnValue, Actions.zone.getWithdrawalFee.ErrorType, selectData, Actions.zone.getWithdrawalFee.QueryKey<config>> & ExactPartial<Actions.zone.getWithdrawalFee.Parameters<config>>; type ReturnValue<selectData = Actions.zone.getWithdrawalFee.ReturnValue> = UseQueryReturnType<selectData, Error>; } /** * Hook for getting the current zone metadata. * * @example * ```tsx * import { Hooks } from 'wagmi/tempo' * import { zone } from 'viem/tempo/zones' * * const zoneChain = zone(7) * * function App() { * const { data, isLoading } = Hooks.zone.useZoneInfo({ * chainId: zoneChain.id, * }) * * if (isLoading) return <div>Loading...</div> * return <div>Zone ID: {data?.zoneId}</div> * } * ``` * * @param parameters - Parameters. * @returns Query result with the current zone metadata. */ export declare function useZoneInfo<config extends Config = ResolvedRegister['config'], selectData = Actions.zone.getZoneInfo.ReturnValue>(parameters?: useZoneInfo.Parameters<config, selectData>): useZoneInfo.ReturnValue<selectData>; export declare namespace useZoneInfo { type Parameters<config extends Config = ResolvedRegister['config'], selectData = Actions.zone.getZoneInfo.ReturnValue> = ConfigParameter<config> & QueryParameter<Actions.zone.getZoneInfo.ReturnValue, Actions.zone.getZoneInfo.ErrorType, selectData, Actions.zone.getZoneInfo.QueryKey<config>> & ExactPartial<Actions.zone.getZoneInfo.Parameters<config>>; type ReturnValue<selectData = Actions.zone.getZoneInfo.ReturnValue> = UseQueryReturnType<selectData, Error>; } /** * Hook for signing and storing a zone authorization token. * * @example * ```tsx * import { Hooks } from 'wagmi/tempo' * import { zone } from 'viem/tempo/zones' * * const zoneChain = zone(7) * * function App() { * const { mutate, isPending } = Hooks.zone.useSignAuthorizationToken() * * return ( * <button * onClick={() => mutate({ chainId: zoneChain.id })} * disabled={isPending} * > * Sign Zone Token * </button> * ) * } * ``` * * @param parameters - Parameters. * @returns Mutation result. */ export declare function useSignAuthorizationToken<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useSignAuthorizationToken.Parameters<config, context>): useSignAuthorizationToken.ReturnType<config, context>; export declare namespace useSignAuthorizationToken { type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & { mutation?: UseMutationParameters<Actions.zone.signAuthorizationToken.ReturnValue, Actions.zone.signAuthorizationToken.ErrorType, Actions.zone.signAuthorizationToken.Parameters<config>, context> | undefined; }; type ReturnType<config extends Config = Config, context = unknown> = UseMutationResult<Actions.zone.signAuthorizationToken.ReturnValue, Actions.zone.signAuthorizationToken.ErrorType, Actions.zone.signAuthorizationToken.Parameters<config>, context>; } /** * Hook for depositing tokens into a zone on the parent Tempo chain. * * @example * ```tsx * import { Hooks } from 'wagmi/tempo' * * function App() { * const { mutate, isPending } = Hooks.zone.useDeposit() * * return ( * <button * onClick={() => * mutate({ * amount: 1_000_000n, * token: '0x20c0000000000000000000000000000000000001', * zoneId: 7, * }) * } * disabled={isPending} * > * Deposit * </button> * ) * } * ``` * * @param parameters - Parameters. * @returns Mutation result. */ export declare function useDeposit<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useDeposit.Parameters<config, context>): useDeposit.ReturnType<config, context>; export declare namespace useDeposit { type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & { mutation?: UseMutationParameters<Actions.zone.deposit.ReturnValue, Actions.zone.deposit.ErrorType, Actions.zone.deposit.Parameters<config>, context> | undefined; }; type ReturnType<config extends Config = Config, context = unknown> = UseMutationResult<Actions.zone.deposit.ReturnValue, Actions.zone.deposit.ErrorType, Actions.zone.deposit.Parameters<config>, context>; } /** * Hook for depositing tokens into a zone on the parent Tempo chain. * * Note: This is a synchronous hook that waits for the transaction * to be included on a block before returning a response. * * @example * ```tsx * import { Hooks } from 'wagmi/tempo' * * function App() { * const { mutate, isPending } = Hooks.zone.useDepositSync() * * return ( * <button * onClick={() => * mutate({ * amount: 1_000_000n, * token: '0x20c0000000000000000000000000000000000001', * zoneId: 7, * }) * } * disabled={isPending} * > * Deposit * </button> * ) * } * ``` * * @param parameters - Parameters. * @returns Mutation result. */ export declare function useDepositSync<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useDepositSync.Parameters<config, context>): useDepositSync.ReturnType<config, context>; export declare namespace useDepositSync { type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & { mutation?: UseMutationParameters<Actions.zone.depositSync.ReturnValue, Actions.zone.depositSync.ErrorType, Actions.zone.depositSync.Parameters<config>, context> | undefined; }; type ReturnType<config extends Config = Config, context = unknown> = UseMutationResult<Actions.zone.depositSync.ReturnValue, Actions.zone.depositSync.ErrorType, Actions.zone.depositSync.Parameters<config>, context>; } /** * Hook for depositing tokens into a zone on the parent Tempo chain with an * encrypted recipient and memo. * * @example * ```tsx * import { Hooks } from 'wagmi/tempo' * * function App() { * const { mutate, isPending } = Hooks.zone.useEncryptedDeposit() * * return ( * <button * onClick={() => * mutate({ * amount: 1_000_000n, * token: '0x20c0000000000000000000000000000000000001', * zoneId: 7, * }) * } * disabled={isPending} * > * Encrypted Deposit * </button> * ) * } * ``` * * @param parameters - Parameters. * @returns Mutation result. */ export declare function useEncryptedDeposit<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useEncryptedDeposit.Parameters<config, context>): useEncryptedDeposit.ReturnType<config, context>; export declare namespace useEncryptedDeposit { type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & { mutation?: UseMutationParameters<Actions.zone.encryptedDeposit.ReturnValue, Actions.zone.encryptedDeposit.ErrorType, Actions.zone.encryptedDeposit.Parameters<config>, context> | undefined; }; type ReturnType<config extends Config = Config, context = unknown> = UseMutationResult<Actions.zone.encryptedDeposit.ReturnValue, Actions.zone.encryptedDeposit.ErrorType, Actions.zone.encryptedDeposit.Parameters<config>, context>; } /** * Hook for depositing tokens into a zone on the parent Tempo chain with an * encrypted recipient and memo. * * Note: This is a synchronous hook that waits for the transaction * to be included on a block before returning a response. * * @example * ```tsx * import { Hooks } from 'wagmi/tempo' * * function App() { * const { mutate, isPending } = Hooks.zone.useEncryptedDepositSync() * * return ( * <button * onClick={() => * mutate({ * amount: 1_000_000n, * token: '0x20c0000000000000000000000000000000000001', * zoneId: 7, * }) * } * disabled={isPending} * > * Encrypted Deposit * </button> * ) * } * ``` * * @param parameters - Parameters. * @returns Mutation result. */ export declare function useEncryptedDepositSync<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useEncryptedDepositSync.Parameters<config, context>): useEncryptedDepositSync.ReturnType<config, context>; export declare namespace useEncryptedDepositSync { type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & { mutation?: UseMutationParameters<Actions.zone.encryptedDepositSync.ReturnValue, Actions.zone.encryptedDepositSync.ErrorType, Actions.zone.encryptedDepositSync.Parameters<config>, context> | undefined; }; type ReturnType<config extends Config = Config, context = unknown> = UseMutationResult<Actions.zone.encryptedDepositSync.ReturnValue, Actions.zone.encryptedDepositSync.ErrorType, Actions.zone.encryptedDepositSync.Parameters<config>, context>; } /** * Hook for requesting a withdrawal from a zone to the parent Tempo chain. * * @example * ```tsx * import { Hooks } from 'wagmi/tempo' * import { zone } from 'viem/tempo/zones' * * const zoneChain = zone(7) * * function App() { * const { mutate, isPending } = Hooks.zone.useRequestWithdrawal() * * return ( * <button * onClick={() => * mutate({ * amount: 1_000_000n, * chainId: zoneChain.id, * token: '0x20c0000000000000000000000000000000000001', * }) * } * disabled={isPending} * > * Request Withdrawal * </button> * ) * } * ``` * * @param parameters - Parameters. * @returns Mutation result. */ export declare function useRequestWithdrawal<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useRequestWithdrawal.Parameters<config, context>): useRequestWithdrawal.ReturnType<config, context>; export declare namespace useRequestWithdrawal { type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & { mutation?: UseMutationParameters<Actions.zone.requestWithdrawal.ReturnValue, Actions.zone.requestWithdrawal.ErrorType, Actions.zone.requestWithdrawal.Parameters<config>, context> | undefined; }; type ReturnType<config extends Config = Config, context = unknown> = UseMutationResult<Actions.zone.requestWithdrawal.ReturnValue, Actions.zone.requestWithdrawal.ErrorType, Actions.zone.requestWithdrawal.Parameters<config>, context>; } /** * Hook for requesting a withdrawal from a zone to the parent Tempo chain. * * Note: This is a synchronous hook that waits for the transaction * to be included on a block before returning a response. * * @example * ```tsx * import { Hooks } from 'wagmi/tempo' * import { zone } from 'viem/tempo/zones' * * const zoneChain = zone(7) * * function App() { * const { mutate, isPending } = Hooks.zone.useRequestWithdrawalSync() * * return ( * <button * onClick={() => * mutate({ * amount: 1_000_000n, * chainId: zoneChain.id, * token: '0x20c0000000000000000000000000000000000001', * }) * } * disabled={isPending} * > * Request Withdrawal * </button> * ) * } * ``` * * @param parameters - Parameters. * @returns Mutation result. */ export declare function useRequestWithdrawalSync<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useRequestWithdrawalSync.Parameters<config, context>): useRequestWithdrawalSync.ReturnType<config, context>; export declare namespace useRequestWithdrawalSync { type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & { mutation?: UseMutationParameters<Actions.zone.requestWithdrawalSync.ReturnValue, Actions.zone.requestWithdrawalSync.ErrorType, Actions.zone.requestWithdrawalSync.Parameters<config>, context> | undefined; }; type ReturnType<config extends Config = Config, context = unknown> = UseMutationResult<Actions.zone.requestWithdrawalSync.ReturnValue, Actions.zone.requestWithdrawalSync.ErrorType, Actions.zone.requestWithdrawalSync.Parameters<config>, context>; } /** * Hook for requesting a verifiable withdrawal from a zone to the parent Tempo * chain. * * @example * ```tsx * import { Hooks } from 'wagmi/tempo' * import { zone } from 'viem/tempo/zones' * * const zoneChain = zone(7) * * function App() { * const { mutate, isPending } = Hooks.zone.useRequestVerifiableWithdrawal() * * return ( * <button * onClick={() => * mutate({ * amount: 1_000_000n, * chainId: zoneChain.id, * revealTo: * '0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', * token: '0x20c0000000000000000000000000000000000001', * }) * } * disabled={isPending} * > * Request Verifiable Withdrawal * </button> * ) * } * ``` * * @param parameters - Parameters. * @returns Mutation result. */ export declare function useRequestVerifiableWithdrawal<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useRequestVerifiableWithdrawal.Parameters<config, context>): useRequestVerifiableWithdrawal.ReturnType<config, context>; export declare namespace useRequestVerifiableWithdrawal { type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & { mutation?: UseMutationParameters<Actions.zone.requestVerifiableWithdrawal.ReturnValue, Actions.zone.requestVerifiableWithdrawal.ErrorType, Actions.zone.requestVerifiableWithdrawal.Parameters<config>, context> | undefined; }; type ReturnType<config extends Config = Config, context = unknown> = UseMutationResult<Actions.zone.requestVerifiableWithdrawal.ReturnValue, Actions.zone.requestVerifiableWithdrawal.ErrorType, Actions.zone.requestVerifiableWithdrawal.Parameters<config>, context>; } /** * Hook for requesting a verifiable withdrawal from a zone to the parent Tempo * chain. * * Note: This is a synchronous hook that waits for the transaction * to be included on a block before returning a response. * * @example * ```tsx * import { Hooks } from 'wagmi/tempo' * import { zone } from 'viem/tempo/zones' * * const zoneChain = zone(7) * * function App() { * const { mutate, isPending } = Hooks.zone.useRequestVerifiableWithdrawalSync() * * return ( * <button * onClick={() => * mutate({ * amount: 1_000_000n, * chainId: zoneChain.id, * revealTo: * '0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', * token: '0x20c0000000000000000000000000000000000001', * }) * } * disabled={isPending} * > * Request Verifiable Withdrawal * </button> * ) * } * ``` * * @param parameters - Parameters. * @returns Mutation result. */ export declare function useRequestVerifiableWithdrawalSync<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useRequestVerifiableWithdrawalSync.Parameters<config, context>): useRequestVerifiableWithdrawalSync.ReturnType<config, context>; export declare namespace useRequestVerifiableWithdrawalSync { type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & { mutation?: UseMutationParameters<Actions.zone.requestVerifiableWithdrawalSync.ReturnValue, Actions.zone.requestVerifiableWithdrawalSync.ErrorType, Actions.zone.requestVerifiableWithdrawalSync.Parameters<config>, context> | undefined; }; type ReturnType<config extends Config = Config, context = unknown> = UseMutationResult<Actions.zone.requestVerifiableWithdrawalSync.ReturnValue, Actions.zone.requestVerifiableWithdrawalSync.ErrorType, Actions.zone.requestVerifiableWithdrawalSync.Parameters<config>, context>; } //# sourceMappingURL=zone.d.ts.map