Skip to main content

facilitator

Type Aliases

FlexFacilitator

FlexFacilitator = FacilitatorHandler & object
Defined in: packages/payment-solana/src/flex/facilitator/handler.ts:128 Extended FacilitatorHandler with Flex-specific lifecycle methods for flushing holds to chain and inspecting the hold manager.

Type declaration

flush()
flush(): Promise<FlushResult[]>
Returns
Promise<FlushResult[]>
getHoldManager()
getHoldManager(): object
Returns
object
stop()
stop(): void
Returns
void

FlushResult

FlushResult = object
Defined in: packages/payment-solana/src/flex/facilitator/handler.ts:109 Outcome of submitting a single hold to the on-chain program.

Properties

authorizationId
authorizationId: bigint
Defined in: packages/payment-solana/src/flex/facilitator/handler.ts:110
error?
optional error: string
Defined in: packages/payment-solana/src/flex/facilitator/handler.ts:113
success
success: boolean
Defined in: packages/payment-solana/src/flex/facilitator/handler.ts:111
transaction?
optional transaction: string
Defined in: packages/payment-solana/src/flex/facilitator/handler.ts:112

Functions

createFacilitatorHandler()

createFacilitatorHandler(network, rpc, facilitatorSigner, config): Promise<FlexFacilitator>
Defined in: packages/payment-solana/src/flex/facilitator/handler.ts:147 Creates a facilitator handler that verifies Flex payment authorizations, manages in-memory holds, and submits/finalizes settlements on-chain. Starts a background interval that periodically flushes settled holds and finalizes confirmed transactions. Call stop() to clear it.

Parameters

network
string Solana cluster name (e.g. “mainnet”, “devnet”)
rpc
Rpc<SolanaRpcApiForTestClusters> Solana RPC client
facilitatorSigner
TransactionSigner Transaction signer for the facilitator
config
FlexFacilitatorConfig Supported mints, splits, and timing configuration

Returns

Promise<FlexFacilitator> A FlexFacilitator with verify/settle/flush/stop methods