useCallContract
Hook for calling a Sophia contract function as an on-chain transaction.
Import
typescript
import { useCallContract } from '@growae/reactive-react'Usage
tsx
import { useCallContract } from '@growae/reactive-react'
function TransferTokens() {
const { mutate: call, isPending, isSuccess } = useCallContract()
return (
<button
onClick={() =>
call({
address: 'ct_token...',
aci: tokenAci,
fn: 'transfer',
args: ['ak_recipient...', 1000n],
})
}
disabled={isPending}
>
Transfer Tokens
</button>
)
}Return Type
See TanStack Query mutation docs for full return type.
data
Parameters
See callContract Parameters for all options.
Key parameters include ttl which defaults to 300 blocks.
Default TTL
All transactions default to a TTL of 300 blocks (~15 hours). This prevents stale transactions from lingering indefinitely. Override with ttl: 0 for no expiration.
mutation
See TanStack Query mutation docs for mutation options.