@cfxlabsinc/b2b-services
    Preparing search index...

    Activities that mutate escrow transfer state. Every mutating activity is idempotent: it reads the row + the on-chain EscrowState PDA, derives the effective state, and short-circuits if the work has already happened on a prior container.

    The set is deliberately small — each one performs a single DB or chain action so workflows can compose them point-to-point.

    NOTE(nonce serialization): the nonce column is bigint in the DB. Temporal's default JSON data converter can't serialize JS bigints, so we exchange nonce as a base-10 string at the activity boundary and BigInt(...) it inside the activity body / workflow as needed.

    Index

    Properties

    customerService: CustomerService
    customerSmsNotificationSender: CustomerSmsNotificationSender
    escrowTransferAdminService: EscrowTransferAdminService
    heliusRpcClient: HeliusRpcClient
    identityQueryService: IdentityQueryService
    shortUrlBaseUrl: string

    Base URL of the cfx-link redirect host (e.g. https://l.dev.cfx.to). sendEscrowRecipientSms assembles the claim link as ${shortUrlBaseUrl}/${claimShortUrlId}. MUST be the cfx-link host that runs the resolver Lambda — the apex (https://cfx.to) does not resolve short ids.

    shortUrlService: ShortUrlService
    solanaBackofficeWalletService: SolanaBackofficeWalletService
    solanaEscrowService: SolanaEscrowService
    solanaKeypairService: SolanaKeypairService
    solanaNonceService: SolanaNonceService
    solanaTokenMintAddressService: SolanaTokenMintAddressService
    solanaTransactionSenderService: SolanaTransactionSenderService
    solanaTransactionService: SolanaTransactionService