useCallContract
Primitive for calling a Sophia contract function as an on-chain transaction.
Import
typescript
import { useCallContract } from '@growae/reactive-solid'Usage
tsx
import { useCallContract } from '@growae/reactive-solid'
function TransferTokens() {
const callContract = useCallContract()
return (
<button
onClick={() =>
callContract.mutate({
address: 'ct_token...',
aci: tokenAci,
fn: 'transfer',
args: ['ak_recipient...', 1000n],
})
}
disabled={callContract.isPending}
>
Transfer Tokens
</button>
)
}Parameters
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.