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

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Methods

    Constructors

    Properties

    dbHelper: DbHelper

    Methods

    • Get a withdrawal by ID without customer restriction

      Parameters

      • __namedParameters: {
            customerId?: string;
            entityId?: string;
            id: string;
            includeHistory?: boolean;
            methodId?: (
                | "US_WIRE"
                | "SWIFT_WIRE"
                | "US_ACH"
                | "US_INSTANT"
                | "MX_SPEI"
                | "US_WIRE_DRAWDOWN"
                | "AF_WITHDRAWAL"
                | "ACH_PULL"
                | "BLOCKCHAIN"
            )[];
            status?: ("CREATED" | "PENDING" | "COMPLETED" | "FAILED" | "RETURNED")[];
            tx?: B2bPgTransaction;
        }

      Returns Promise<
          {
              ok: true;
              value: | {
                  createdAt: Date;
                  customerId: string;
                  data: Record<string, never>
                  | { imad: string; omad?: string };
                  entityId: string;
                  history: WithdrawalStatusUpdateHistory[];
                  id: string;
                  quote: {
                      createdAt: Date;
                      customerId: string;
                      deviceIpAddress: string | null;
                      deviceLocation: { lat: number; long: number; source: "ip" } | null;
                      entityId: string;
                      expiresAt: Date;
                      fees: (
                          {
                              amount: BigNumber;
                              receiver: "CUSTOMER"
                              | "CFX"
                              | "PROVIDER";
                              type: "FIXED" | "VARIABLE";
                          } & { currency: "MOVEUSD"
                          | "USDC" }
                      )[];
                      id: string;
                      metadata: {
                          brand?: string;
                          marketing?: {
                              fbp?: string;
                              gclid?: string;
                              sub1?: string;
                              sub2?: string;
                              sub3?: string;
                              userAgent?: string;
                              utmCampaign?: string;
                              utmContent?: string;
                              utmMedium?: string;
                              utmSource?: string;
                          };
                      };
                      methodData: | {
                          achBatchId?: string;
                          bankId?: string;
                          sourceRedemptionWalletId?: string;
                          speed?: "same-day"
                          | "next-day";
                          type: "US_ACH";
                      }
                      | {
                          achId: string;
                          bankId?: string;
                          sourceRedemptionWalletId?: string;
                          type: "ACH_PULL";
                      }
                      | {
                          bankId?: string;
                          beneficiaryReference?: string;
                          purpose: WireWithdrawalPurpose;
                          senderMessage?: string;
                          sourceRedemptionWalletId: string;
                          type: "US_WIRE"
                          | "SWIFT_WIRE";
                          wireBatchId?: string;
                      }
                      | {
                          country: string;
                          type: "AF_WITHDRAWAL";
                          withdrawalType: "bank"
                          | "momo";
                      }
                      | { sourceRedemptionWalletId: string; type: "BLOCKCHAIN" }
                      | {
                          bankId?: string;
                          sourceRedemptionWalletId?: string;
                          type: "US_INSTANT";
                      }
                      | {
                          bankId?: string;
                          drawdownId: string;
                          sourceAccountId: string;
                          type: "US_WIRE_DRAWDOWN";
                      }
                      | null;
                      methodId: | "US_WIRE"
                      | "SWIFT_WIRE"
                      | "US_ACH"
                      | "US_INSTANT"
                      | "MX_SPEI"
                      | "US_WIRE_DRAWDOWN"
                      | "AF_WITHDRAWAL"
                      | "ACH_PULL"
                      | "BLOCKCHAIN";
                      paymentInstrumentId: string;
                      providerQuoteId: string
                      | null;
                      sourceAmount: BigNumber;
                      sourceAmountAfterFees: BigNumber;
                      sourceCurrency: string;
                      status: "ACCEPTED" | "ACTIVE" | "EXPIRED" | "REJECTED";
                      targetAmount: BigNumber;
                      targetAmountAfterFees: BigNumber;
                      targetCurrency: string;
                      unsignedWithdrawalTransaction: string;
                      updatedAt: Date;
                      walletAddress: PublicKey;
                      walletBlockchain: "SOLANA";
                  };
                  receiptId: string
                  | null;
                  receiptType: "SOLANA_TRANSACTION_SIGNATURE" | null;
                  returnReceiptId: string | null;
                  status: "CREATED" | "PENDING" | "COMPLETED" | "FAILED" | "RETURNED";
                  type:
                      | "US_WIRE"
                      | "SWIFT_WIRE"
                      | "US_ACH"
                      | "US_INSTANT"
                      | "MX_SPEI"
                      | "US_WIRE_DRAWDOWN"
                      | "AF_WITHDRAWAL"
                      | "ACH_PULL"
                      | "BLOCKCHAIN";
                  updatedAt: Date;
              }
              | null;
          },
      >

    • Admin search for withdrawals without customer restriction

      Parameters

      • __namedParameters: {
            achBatchId?: string;
            createdAt?: DbTimestampCriteria;
            customerId?: string;
            entityId?: string;
            id?: string[];
            includeHistory?: boolean;
            methodId?: (
                | "US_WIRE"
                | "SWIFT_WIRE"
                | "US_ACH"
                | "US_INSTANT"
                | "MX_SPEI"
                | "US_WIRE_DRAWDOWN"
                | "AF_WITHDRAWAL"
                | "ACH_PULL"
                | "BLOCKCHAIN"
            )[];
            orderBy?: DbOrderByCriterion<
                Omit<
                    PgTableWithColumns<
                        {
                            columns: {
                                createdAt: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgTimestamp";
                                        data: Date;
                                        dataType: "date";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: "createdAt";
                                        notNull: true;
                                        tableName: "withdrawal";
                                    },
                                    {},
                                    {},
                                >;
                                data: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgJsonb";
                                        data: (...)
                                        | (...);
                                        dataType: "json";
                                        driverParam: unknown;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: "data";
                                        notNull: true;
                                        tableName: "withdrawal";
                                    },
                                    {},
                                    { $type: (...)
                                    | (...) },
                                >;
                                entityExternalId: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgText";
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: [(...), ...(...)[]];
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: "entityExternalId";
                                        notNull: true;
                                        tableName: "withdrawal";
                                    },
                                    {},
                                    {},
                                >;
                                externalId: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgText";
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: [(...), ...(...)[]];
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: true;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: "externalId";
                                        notNull: true;
                                        tableName: "withdrawal";
                                    },
                                    {},
                                    {},
                                >;
                                id: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgInteger";
                                        data: number;
                                        dataType: "number";
                                        driverParam: (...)
                                        | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: "byDefault";
                                        isAutoincrement: false;
                                        isPrimaryKey: true;
                                        name: "id";
                                        notNull: true;
                                        tableName: "withdrawal";
                                    },
                                    {},
                                    {},
                                >;
                                receiptId: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgText";
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: [(...), ...(...)[]];
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: "receiptId";
                                        notNull: false;
                                        tableName: "withdrawal";
                                    },
                                    {},
                                    {},
                                >;
                                receiptType: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgText";
                                        data: "SOLANA_TRANSACTION_SIGNATURE";
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: [(...), ...(...)[]];
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: "receiptType";
                                        notNull: false;
                                        tableName: "withdrawal";
                                    },
                                    {},
                                    { $type: "SOLANA_TRANSACTION_SIGNATURE" },
                                >;
                                returnReceiptId: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgText";
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: [(...), ...(...)[]];
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: "returnReceiptId";
                                        notNull: false;
                                        tableName: "withdrawal";
                                    },
                                    {},
                                    {},
                                >;
                                status: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgText";
                                        data: (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: [(...), ...(...)[]];
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: "status";
                                        notNull: true;
                                        tableName: "withdrawal";
                                    },
                                    {},
                                    { $type: (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...) },
                                >;
                                updatedAt: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgTimestamp";
                                        data: Date;
                                        dataType: "date";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: "updatedAt";
                                        notNull: true;
                                        tableName: "withdrawal";
                                    },
                                    {},
                                    {},
                                >;
                                withdrawalQuoteId: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgInteger";
                                        data: number;
                                        dataType: "number";
                                        driverParam: (...)
                                        | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: "withdrawalQuoteId";
                                        notNull: true;
                                        tableName: "withdrawal";
                                    },
                                    {},
                                    {},
                                >;
                            };
                            dialect: "pg";
                            name: "withdrawal";
                            schema: "b2b";
                        },
                    >,
                    "enableRLS",
                >,
                "createdAt"
                | "updatedAt",
            >[];
            page?: number;
            pageSize?: number;
            providerQuoteId?: string[];
            receiptId?: string[];
            status?: ("CREATED" | "PENDING" | "COMPLETED" | "FAILED" | "RETURNED")[];
            tx?: B2bPgTransaction;
            updatedAt?: DbTimestampCriteria;
            wireBatchId?: string;
        }

      Returns Promise<
          {
              ok: true;
              value: {
                  createdAt: Date;
                  customerId: string;
                  data: Record<string, never>
                  | { imad: string; omad?: string };
                  entityId: string;
                  history: WithdrawalStatusUpdateHistory[];
                  id: string;
                  quote: {
                      createdAt: Date;
                      customerId: string;
                      deviceIpAddress: string | null;
                      deviceLocation: { lat: number; long: number; source: "ip" } | null;
                      entityId: string;
                      expiresAt: Date;
                      fees: (
                          {
                              amount: BigNumber;
                              receiver: "CUSTOMER"
                              | "CFX"
                              | "PROVIDER";
                              type: "FIXED" | "VARIABLE";
                          } & { currency: "MOVEUSD"
                          | "USDC" }
                      )[];
                      id: string;
                      metadata: {
                          brand?: string;
                          marketing?: {
                              fbp?: string;
                              gclid?: string;
                              sub1?: string;
                              sub2?: string;
                              sub3?: string;
                              userAgent?: string;
                              utmCampaign?: string;
                              utmContent?: string;
                              utmMedium?: string;
                              utmSource?: string;
                          };
                      };
                      methodData: | {
                          achBatchId?: string;
                          bankId?: string;
                          sourceRedemptionWalletId?: string;
                          speed?: "same-day"
                          | "next-day";
                          type: "US_ACH";
                      }
                      | {
                          achId: string;
                          bankId?: string;
                          sourceRedemptionWalletId?: string;
                          type: "ACH_PULL";
                      }
                      | {
                          bankId?: string;
                          beneficiaryReference?: string;
                          purpose: WireWithdrawalPurpose;
                          senderMessage?: string;
                          sourceRedemptionWalletId: string;
                          type: "US_WIRE"
                          | "SWIFT_WIRE";
                          wireBatchId?: string;
                      }
                      | {
                          country: string;
                          type: "AF_WITHDRAWAL";
                          withdrawalType: "bank"
                          | "momo";
                      }
                      | { sourceRedemptionWalletId: string; type: "BLOCKCHAIN" }
                      | {
                          bankId?: string;
                          sourceRedemptionWalletId?: string;
                          type: "US_INSTANT";
                      }
                      | {
                          bankId?: string;
                          drawdownId: string;
                          sourceAccountId: string;
                          type: "US_WIRE_DRAWDOWN";
                      }
                      | null;
                      methodId: | "US_WIRE"
                      | "SWIFT_WIRE"
                      | "US_ACH"
                      | "US_INSTANT"
                      | "MX_SPEI"
                      | "US_WIRE_DRAWDOWN"
                      | "AF_WITHDRAWAL"
                      | "ACH_PULL"
                      | "BLOCKCHAIN";
                      paymentInstrumentId: string;
                      providerQuoteId: string
                      | null;
                      sourceAmount: BigNumber;
                      sourceAmountAfterFees: BigNumber;
                      sourceCurrency: string;
                      status: "ACCEPTED" | "ACTIVE" | "EXPIRED" | "REJECTED";
                      targetAmount: BigNumber;
                      targetAmountAfterFees: BigNumber;
                      targetCurrency: string;
                      unsignedWithdrawalTransaction: string;
                      updatedAt: Date;
                      walletAddress: PublicKey;
                      walletBlockchain: "SOLANA";
                  };
                  receiptId: string
                  | null;
                  receiptType: "SOLANA_TRANSACTION_SIGNATURE" | null;
                  returnReceiptId: string | null;
                  status: "CREATED" | "PENDING" | "COMPLETED" | "FAILED" | "RETURNED";
                  type:
                      | "US_WIRE"
                      | "SWIFT_WIRE"
                      | "US_ACH"
                      | "US_INSTANT"
                      | "MX_SPEI"
                      | "US_WIRE_DRAWDOWN"
                      | "AF_WITHDRAWAL"
                      | "ACH_PULL"
                      | "BLOCKCHAIN";
                  updatedAt: Date;
              }[];
          },
      >