Skip to main content
AsyncToolChecker wraps action-status polling logic.

Constructor

new AsyncToolChecker({ coreApiProvider })

Methods

check

check({ toolName, protocol, descriptor }): Promise<AwaitActionResult>
Performs one status check.
const result = await checker.check({
  toolName: 'swap',
  protocol: 'lifi',
  descriptor: { txHash: '0x...' },
})

if (result.isError) {
  console.error(result.error)
} else {
  console.log(result.response.pollStatus)
}

subscribe

subscribe(
  params,
  {
    onStatusChange,
    onError,
  },
  {
    interval,
    retryThreshold,
    maxRetries,
    maxDuration,
  },
): { unsubscribe(): void }
Config units are seconds.
const sub = checker.subscribe(
  {
    toolName: 'bridge',
    protocol: 'lifi',
    descriptor: { txHash: '0x...' },
  },
  {
    onStatusChange: ({ current }) => console.log(current.pollStatus),
    onError: (error) => console.error(error),
  },
  {
    interval: 5,
    retryThreshold: 30,
    maxRetries: 5,
    maxDuration: 600,
  },
)

sub.unsubscribe()