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

    Variable walletKeyshareTableConst

    walletKeyshareTable: Omit<
        PgTableWithColumns<
            {
                columns: {
                    createdAt: PgBuildColumn<
                        "wallet_keyshare",
                        SetHasDefault<SetNotNull<PgTimestampBuilder>>,
                        {
                            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: "wallet_keyshare";
                        },
                    >;
                    dekGeneration: PgBuildColumn<
                        "wallet_keyshare",
                        SetNotNull<PgIntegerBuilder>,
                        {
                            data: number;
                            dataType: "number int32";
                            driverParam: string | number;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "wallet_keyshare";
                        },
                    >;
                    deletedAt: PgBuildColumn<
                        "wallet_keyshare",
                        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: false;
                            tableName: "wallet_keyshare";
                        },
                    >;
                    encryptedDataKey: PgBuildColumn<
                        "wallet_keyshare",
                        PgByteaBuilder,
                        {
                            data: Buffer;
                            dataType: "object buffer";
                            driverParam: Buffer<ArrayBufferLike>;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: false;
                            tableName: "wallet_keyshare";
                        },
                    >;
                    externalId: PgBuildColumn<
                        "wallet_keyshare",
                        SetHasRuntimeDefault<SetNotNull<PgTextBuilder<[string, ...string[]]>>>,
                        {
                            data: string;
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "wallet_keyshare";
                        },
                    >;
                    hkdfInfo: PgBuildColumn<
                        "wallet_keyshare",
                        PgTextBuilder<[string, ...string[]]>,
                        {
                            data: string;
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: false;
                            tableName: "wallet_keyshare";
                        },
                    >;
                    id: PgBuildColumn<
                        "wallet_keyshare",
                        HasIdentity<SetIsPrimaryKey<PgIntegerBuilder>, "byDefault">,
                        {
                            data: number;
                            dataType: "number int32";
                            driverParam: string | number;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: "byDefault";
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "wallet_keyshare";
                        },
                    >;
                    keyReference: PgBuildColumn<
                        "wallet_keyshare",
                        PgTextBuilder<[string, ...string[]]>,
                        {
                            data: string;
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: false;
                            tableName: "wallet_keyshare";
                        },
                    >;
                    kind: PgBuildColumn<
                        "wallet_keyshare",
                        Set$Type<
                            SetNotNull<PgTextBuilder<[string, ...string[]]>>,
                            WalletKeyshareKind,
                        >,
                        {
                            data: WalletKeyshareKind;
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "wallet_keyshare";
                        },
                    >;
                    updatedAt: PgBuildColumn<
                        "wallet_keyshare",
                        SetHasDefault<SetHasDefault<SetNotNull<PgTimestampBuilder>>>,
                        {
                            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: "wallet_keyshare";
                        },
                    >;
                    walletExternalId: PgBuildColumn<
                        "wallet_keyshare",
                        SetNotNull<PgTextBuilder<[string, ...string[]]>>,
                        {
                            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: "wallet_keyshare";
                        },
                    >;
                    walletId: PgBuildColumn<
                        "wallet_keyshare",
                        SetNotNull<PgIntegerBuilder>,
                        {
                            data: number;
                            dataType: "number int32";
                            driverParam: string | number;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "wallet_keyshare";
                        },
                    >;
                    walletSecretId: PgBuildColumn<
                        "wallet_keyshare",
                        SetNotNull<PgIntegerBuilder>,
                        {
                            data: number;
                            dataType: "number int32";
                            driverParam: string | number;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "wallet_keyshare";
                        },
                    >;
                    wrapSalt: PgBuildColumn<
                        "wallet_keyshare",
                        PgByteaBuilder,
                        {
                            data: Buffer;
                            dataType: "object buffer";
                            driverParam: Buffer<ArrayBufferLike>;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: false;
                            tableName: "wallet_keyshare";
                        },
                    >;
                };
                dialect: "pg";
                isAlias: false;
                name: "wallet_keyshare";
                schema: "b2b";
            },
        >,
        "enableRLS",
    > = ...

    One wrapped copy of a wallet's DEK. CFX_KMS is wrapped by KMS; PASSKEY_PRF and MNEMONIC are wrapped client-side, with the inputs to re-derive the wrapping key in its wrap columns. Deleting a share wipes its ciphertext and keeps the row.