import { ContractPromise } from '@polkadot/api-contract'; import { useEffect } from 'react'; import { ContractOptions } from '../../types/mod.js'; import { useBlockHeader } from '../substrate/useBlockHeader.js'; import { useCall, UseCallResponse } from './useCall.js'; export function useCallSubscription( contract: ContractPromise | undefined, message: string, args = [] as unknown[], options?: ContractOptions, caller?: string, ): Omit, 'send'> { const call = useCall(contract, message); const { blockNumber } = useBlockHeader(); useEffect(() => { call.send(args, options, caller); }, [blockNumber]); return call; }