Skip to content

withdrawSync

withdrawSync(client, options): Promise<OutputType>

Defined in: packages/synapse-core/src/pay/withdraw.ts:149

Withdraw funds from the Filecoin Pay contract and wait for confirmation

Withdraws ERC20 tokens and waits for the transaction to be confirmed. Returns the receipt with the WithdrawRecorded event.

ParameterTypeDescription
clientClient<Transport, Chain, Account>The viem client with account to use for the transaction.
optionsOptionsTypewithdrawSync.OptionsType

Promise<OutputType>

The transaction receipt and extracted event withdrawSync.OutputType

Errors withdrawSync.ErrorType

import { withdrawSync } from '@filoz/synapse-core/pay'
import { createWalletClient, http, parseUnits } from 'viem'
import { privateKeyToAccount } from 'viem/accounts'
import { calibration } from '@filoz/synapse-core/chains'
const account = privateKeyToAccount('0x...')
const client = createWalletClient({
account,
chain: calibration,
transport: http(),
})
const { receipt, event } = await withdrawSync(client, {
amount: parseUnits('100', 18),
onHash: (hash) => console.log('Transaction sent:', hash),
})
console.log('Withdrawn amount:', event.args.amount)
console.log('To:', event.args.to)