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

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    dbHelper: DbHelper

    Methods

    • Parameters

      • __namedParameters: Pick<CustomerFeeTransfer, "type" | "description" | "sourceAccountId"> & {
            customerId: string;
            entityId: string;
            sourceAmount: BigNumber;
        }

      Returns Promise<
          | { ok: true; value: CustomerFeeTransfer }
          | {
              error:
                  | ServiceError<"INVALID_TRANSFER">
                  | ServiceError<"INVALID_WALLET", { walletId: string }>
                  | ServiceError<
                      "INSUFFICIENT_FUNDS",
                      { balance: { amount: BigNumber; currency: "MOVEUSD" } },
                  >;
              ok: false;
          },
      >

    • Parameters

      • __namedParameters: { id: string }

      Returns Promise<
          {
              ok: true;
              value: { lastValidBlockHeight: number; transaction: VersionedTransaction };
          },
      >

      Solana transaction to execute a transfer from a redemption wallet to another

    • Get a fee transfer by ID. Admin function does not lock down to a customer.

      Parameters

      • __namedParameters: { id: string }

      Returns Promise<
          {
              ok: true;
              value: | Omit<
                  {
                      createdAt: Date;
                      customerId: number;
                      data: {
                          feeDescription?: string;
                          feeType: "PLATFORM"
                          | "IDENTITY"
                          | "ORGANIZATION";
                      };
                      externalId: string;
                      id: number;
                      receipt: { id: string; type: "SOLANA_TRANSACTION_SIGNATURE" }
                      | null;
                      source: { amount: string; currency: string };
                      sourceAccountId: number | null;
                      status: "PENDING" | "FAILED" | "CANCELLED" | "SUCCEEDED";
                      targetAccountId: number | null;
                      updatedAt: Date;
                  },
                  | "id"
                  | "data"
                  | "externalId"
                  | "organizationId"
                  | "customerId"
                  | "identityId"
                  | "sourceAccountId"
                  | "targetAccountId"
                  | "source",
              > & {
                  description: string
                  | undefined;
                  id: string;
                  source: { amount: BigNumber; currency: "MOVEUSD" };
                  sourceAccountId: string;
                  targetAccountId: string;
                  type: "PLATFORM" | "IDENTITY" | "ORGANIZATION";
              } & { sourceCustomerId: string; targetCustomerId: string }
              | null;
          },
      >

    • Parameters

      • __namedParameters: {
            createdAt?: DbTimestampCriteria;
            entityId?: string[];
            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: "fee_transfer";
                                    },
                                    {},
                                    {},
                                >;
                                customerId: 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: "customerId";
                                        notNull: true;
                                        tableName: "fee_transfer";
                                    },
                                    {},
                                    {},
                                >;
                                data: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgJsonb";
                                        data: { feeDescription?: ...; feeType: ... };
                                        dataType: "json";
                                        driverParam: unknown;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: "data";
                                        notNull: true;
                                        tableName: "fee_transfer";
                                    },
                                    {},
                                    { $type: { feeDescription?: ...; feeType: ... } },
                                >;
                                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: "fee_transfer";
                                    },
                                    {},
                                    {},
                                >;
                                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: "fee_transfer";
                                    },
                                    {},
                                    {},
                                >;
                                receipt: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgJsonb";
                                        data: { id: ...; type: ... };
                                        dataType: "json";
                                        driverParam: unknown;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: "receipt";
                                        notNull: false;
                                        tableName: "fee_transfer";
                                    },
                                    {},
                                    { $type: { id: ...; type: ... } },
                                >;
                                source: PgColumn<
                                    {
                                        baseColumn: never;
                                        columnType: "PgJsonb";
                                        data: { amount: ...; currency: ... };
                                        dataType: "json";
                                        driverParam: unknown;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: "source";
                                        notNull: true;
                                        tableName: "fee_transfer";
                                    },
                                    {},
                                    { $type: { amount: ...; currency: ... } },
                                >;
                                sourceAccountId: 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: "sourceAccountId";
                                        notNull: false;
                                        tableName: "fee_transfer";
                                    },
                                    {},
                                    {},
                                >;
                                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: "fee_transfer";
                                    },
                                    {},
                                    { $type: (...)
                                    | (...)
                                    | (...)
                                    | (...) },
                                >;
                                targetAccountId: 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: "targetAccountId";
                                        notNull: false;
                                        tableName: "fee_transfer";
                                    },
                                    {},
                                    {},
                                >;
                                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: "fee_transfer";
                                    },
                                    {},
                                    {},
                                >;
                            };
                            dialect: "pg";
                            name: "fee_transfer";
                            schema: "b2b";
                        },
                    >,
                    "enableRLS",
                >,
                "createdAt"
                | "updatedAt",
            >[];
            page?: number;
            pageSize?: number;
            sourceAccountId?: string[];
            sourceCustomerId?: string;
            status?: ("PENDING" | "FAILED" | "CANCELLED" | "SUCCEEDED")[];
            targetAccountId?: string[];
            targetCustomerId?: string;
            updatedAt?: DbTimestampCriteria;
        }
        • OptionalcreatedAt?: DbTimestampCriteria
        • OptionalentityId?: string[]
        • OptionalorderBy?: 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: "fee_transfer";
                                  },
                                  {},
                                  {},
                              >;
                              customerId: 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: "customerId";
                                      notNull: true;
                                      tableName: "fee_transfer";
                                  },
                                  {},
                                  {},
                              >;
                              data: PgColumn<
                                  {
                                      baseColumn: never;
                                      columnType: "PgJsonb";
                                      data: { feeDescription?: ...; feeType: ... };
                                      dataType: "json";
                                      driverParam: unknown;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: "data";
                                      notNull: true;
                                      tableName: "fee_transfer";
                                  },
                                  {},
                                  { $type: { feeDescription?: ...; feeType: ... } },
                              >;
                              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: "fee_transfer";
                                  },
                                  {},
                                  {},
                              >;
                              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: "fee_transfer";
                                  },
                                  {},
                                  {},
                              >;
                              receipt: PgColumn<
                                  {
                                      baseColumn: never;
                                      columnType: "PgJsonb";
                                      data: { id: ...; type: ... };
                                      dataType: "json";
                                      driverParam: unknown;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: "receipt";
                                      notNull: false;
                                      tableName: "fee_transfer";
                                  },
                                  {},
                                  { $type: { id: ...; type: ... } },
                              >;
                              source: PgColumn<
                                  {
                                      baseColumn: never;
                                      columnType: "PgJsonb";
                                      data: { amount: ...; currency: ... };
                                      dataType: "json";
                                      driverParam: unknown;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: "source";
                                      notNull: true;
                                      tableName: "fee_transfer";
                                  },
                                  {},
                                  { $type: { amount: ...; currency: ... } },
                              >;
                              sourceAccountId: 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: "sourceAccountId";
                                      notNull: false;
                                      tableName: "fee_transfer";
                                  },
                                  {},
                                  {},
                              >;
                              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: "fee_transfer";
                                  },
                                  {},
                                  { $type: (...)
                                  | (...)
                                  | (...)
                                  | (...) },
                              >;
                              targetAccountId: 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: "targetAccountId";
                                      notNull: false;
                                      tableName: "fee_transfer";
                                  },
                                  {},
                                  {},
                              >;
                              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: "fee_transfer";
                                  },
                                  {},
                                  {},
                              >;
                          };
                          dialect: "pg";
                          name: "fee_transfer";
                          schema: "b2b";
                      },
                  >,
                  "enableRLS",
              >,
              "createdAt"
              | "updatedAt",
          >[]
        • Optionalpage?: number

          Defaults to 1

        • OptionalpageSize?: number

          Defaults to 10

        • OptionalsourceAccountId?: string[]
        • OptionalsourceCustomerId?: string
        • Optionalstatus?: ("PENDING" | "FAILED" | "CANCELLED" | "SUCCEEDED")[]
        • OptionaltargetAccountId?: string[]
        • OptionaltargetCustomerId?: string
        • OptionalupdatedAt?: DbTimestampCriteria

      Returns Promise<{ ok: true; value: CustomerFeeTransfer[] }>