Skip to content

settleTerminatedRailWithoutValidationSync

settleTerminatedRailWithoutValidationSync(client, options): Promise<OutputType>

Defined in: packages/synapse-core/src/pay/settle-terminated-rail-without-validation.ts:131

Settle a terminated payment rail without validation and wait for confirmation

Emergency settlement for terminated rails and waits for the transaction to be confirmed. Returns the receipt with the RailSettled event.

ParameterTypeDescription
clientClient<Transport, Chain, Account>The viem client with account to use for the transaction.
options{ contractAddress?: `0x${string}`; onHash?: (hash) => void; railId: bigint; }settleTerminatedRailWithoutValidationSync.OptionsType
options.contractAddress?`0x${string}`Payments contract address. If not provided, the default is the payments contract address for the chain.
options.onHash?(hash) => voidCallback function called with the transaction hash before waiting for the receipt.
options.railIdbigintThe rail ID to settle

Promise<OutputType>

The transaction receipt and extracted event settleTerminatedRailWithoutValidationSync.OutputType

Errors settleTerminatedRailWithoutValidationSync.ErrorType

import { settleTerminatedRailWithoutValidationSync } from '@filoz/synapse-core/pay'
import { createWalletClient, http } 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 settleTerminatedRailWithoutValidationSync(client, {
railId: 1n,
onHash: (hash) => console.log('Transaction sent:', hash),
})
console.log('Total settled amount:', event.args.totalSettledAmount)
console.log('Settled up to epoch:', event.args.settledUpTo)