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

    Constructors

    Methods

    • A correlated scalar subquery resolving the latest balance for an address column on the outer query, scoped to the given token, coalesce'd to 0 when the account has no matching transaction. Each outer row gets its own balance in a single round trip — no in-memory LUT, no separate getMultiple call.

      Use it directly as an outer SELECT column (it maps to a BigNumber), inside an aggregate (coalesce(sum(${balanceColumn}), 0)), or sort by it via the select-list alias (ORDER BY balance). A single-column, LIMIT 1 lookup is exactly a scalar subquery, so this replaces the former LATERAL join: there is no latest_balance alias to collide, so multiple balances (different tokens or snapshot times) can sit on the same row.

      Parameters

      • args: { addressColumn: SQLWrapper; blockTime?: Date; token: "MOVEUSD" }
        • addressColumn: SQLWrapper
        • OptionalblockTime?: Date

          If provided, latest balance at this point in time; otherwise latest known.

        • token: "MOVEUSD"

      Returns Promise<SQL<BigNumber>>

      .select({
      balance: await service.balanceColumn({
      token: "MOVEUSD",
      blockTime: snapshotDate,
      addressColumn: ledgerAccountTable.address,
      }),
      })
    • Parameters

      • args: { address: Address; blockTime?: Date; token: "MOVEUSD" }
        • address: Address
        • OptionalblockTime?: Date

          If this is provided it provides the balance at this point in time, otherwise it defaults to the latest balance

        • token: "MOVEUSD"

      Returns Promise<
          {
              ok: true;
              value: { address: Address; amount: BigNumber; token: "MOVEUSD" }
              | null;
          },
      >

    • Parameters

      • __namedParameters: { addresses: Address[]; blockTime?: Date; token: "MOVEUSD" }
        • addresses: Address[]
        • OptionalblockTime?: Date

          If this is provided it provides the balance at this point in time, otherwise it defaults to the latest balance

        • token: "MOVEUSD"

      Returns Promise<{ ok: true; value: T }>

    • Parameters

      • args: {
            addresses: Address[];
            blockTime: Exclude<Required<DbTimestampCriteria>, undefined>;
            granularity: "1 day" | "1 hour" | "1 minute";
            samplePoint: "CLOSE" | "OPEN";
            timeZone?: string;
            token: "MOVEUSD";
        }

      Returns Promise<{ params: unknown[]; sql: string }>

    • Bust the cached balance-history timeseries for the given account addresses. Called by the Helius on-chain balance webhook for every affected account — the same trigger that busts the point-in-time balance. Per-tx affected addresses are few, so the unbounded fan-out here is not a concern.

      Parameters

      • __namedParameters: { addresses: Address[] }

      Returns Promise<void>

    • Parameters

      • __namedParameters: {
            address: Address;
            blockTime: Exclude<Required<DbTimestampCriteria>, undefined>;
            orderBy?: DbOrderByCriterion<
                Omit<
                    PgTableWithColumns<
                        {
                            columns: {
                                blockTime: PgBuildColumn<
                                    "solana_transaction",
                                    SetNotNull<PgTimestampBuilder>,
                                    {
                                        data: Date;
                                        dataType: "object date";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "solana_transaction";
                                    },
                                >;
                                createdAt: PgBuildColumn<
                                    "solana_transaction",
                                    SetHasDefault<SetNotNull<(...)>>,
                                    {
                                        data: Date;
                                        dataType: "object date";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "solana_transaction";
                                    },
                                >;
                                data: PgBuildColumn<
                                    "solana_transaction",
                                    Set$Type<
                                        SetNotNull<(...)>,
                                        {
                                            blockTime: ...;
                                            indexWithinBlock: ...;
                                            meta: ...;
                                            slot: ...;
                                            transaction: ...;
                                        },
                                    >,
                                    {
                                        data: {
                                            blockTime: ...;
                                            indexWithinBlock: ...;
                                            meta: ...;
                                            slot: ...;
                                            transaction: ...;
                                        };
                                        dataType: "object json";
                                        driverParam: unknown;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "solana_transaction";
                                    },
                                >;
                                id: PgBuildColumn<
                                    "solana_transaction",
                                    HasIdentity<SetIsPrimaryKey<(...)>, "byDefault">,
                                    {
                                        data: number;
                                        dataType: "number int32";
                                        driverParam: (...) | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: "byDefault";
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "solana_transaction";
                                    },
                                >;
                                indexWithinBlock: PgBuildColumn<
                                    "solana_transaction",
                                    SetNotNull<PgIntegerBuilder>,
                                    {
                                        data: number;
                                        dataType: "number int32";
                                        driverParam: (...) | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "solana_transaction";
                                    },
                                >;
                                signature: PgBuildColumn<
                                    "solana_transaction",
                                    SetNotNull<PgTextBuilder<(...)>>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "solana_transaction";
                                    },
                                >;
                                slot: PgBuildColumn<
                                    "solana_transaction",
                                    SetNotNull<PgIntegerBuilder>,
                                    {
                                        data: number;
                                        dataType: "number int32";
                                        driverParam: (...) | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "solana_transaction";
                                    },
                                >;
                                updatedAt: PgBuildColumn<
                                    "solana_transaction",
                                    SetHasDefault<SetHasDefault<(...)>>,
                                    {
                                        data: Date;
                                        dataType: "object date";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "solana_transaction";
                                    },
                                >;
                            };
                            dialect: "pg";
                            name: "solana_transaction";
                            schema: "b2b";
                        },
                    >,
                    "enableRLS",
                >,
                "blockTime",
            >[];
            pageSize?: number;
            token: "MOVEUSD";
        }

      Returns Promise<
          {
              ok: true;
              value: {
                  hasNext: boolean;
                  items: {
                      address: Address;
                      amount: BigNumber;
                      blockTime: Date;
                      token: "MOVEUSD";
                  }[];
              };
          },
      >

    • Parameters

      • __namedParameters: {
            address: Address;
            blockTime: Exclude<Required<DbTimestampCriteria>, undefined>;
            granularity: "1 day" | "1 hour" | "1 minute";
            samplePoint: "CLOSE" | "OPEN";
            token: "MOVEUSD";
        }

      Returns Promise<
          {
              ok: true;
              value: {
                  hasNext: boolean;
                  items: {
                      address: Address;
                      amount: BigNumber;
                      timestamp: Date;
                      token: "MOVEUSD";
                  }[];
              };
          },
      >

    • Parameters

      • __namedParameters: {
            addresses: Address[];
            blockTime: Exclude<Required<DbTimestampCriteria>, undefined>;
            granularity: "1 day" | "1 hour" | "1 minute";
            samplePoint: "CLOSE" | "OPEN";
            token: "MOVEUSD";
        }

      Returns Promise<
          {
              ok: true;
              value: {
                  items: {
                      aggregate: BigNumber;
                      balances: Record<string, BigNumber>;
                      timestamp: Date;
                  }[];
              };
          },
      >