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

    Variable utilaTransactionTableConst

    utilaTransactionTable: Omit<
        PgTableWithColumns<
            {
                columns: {
                    blockNumber: PgBuildColumn<
                        "utila_transaction",
                        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: "utila_transaction";
                        },
                    >;
                    confirmTime: PgBuildColumn<
                        "utila_transaction",
                        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: "utila_transaction";
                        },
                    >;
                    createdAt: PgBuildColumn<
                        "utila_transaction",
                        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: "utila_transaction";
                        },
                    >;
                    createTime: PgBuildColumn<
                        "utila_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: "utila_transaction";
                        },
                    >;
                    data: PgBuildColumn<
                        "utila_transaction",
                        Set$Type<SetNotNull<PgJsonbBuilder>, UtilaTransactionPayload>,
                        {
                            data: UtilaTransactionPayload;
                            dataType: "object json";
                            driverParam: unknown;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "utila_transaction";
                        },
                    >;
                    direction: PgBuildColumn<
                        "utila_transaction",
                        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: "utila_transaction";
                        },
                    >;
                    hash: PgBuildColumn<
                        "utila_transaction",
                        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: "utila_transaction";
                        },
                    >;
                    id: PgBuildColumn<
                        "utila_transaction",
                        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: "utila_transaction";
                        },
                    >;
                    mineTime: PgBuildColumn<
                        "utila_transaction",
                        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: "utila_transaction";
                        },
                    >;
                    networkId: PgBuildColumn<
                        "utila_transaction",
                        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: "utila_transaction";
                        },
                    >;
                    referencedResources: PgBuildColumn<
                        "utila_transaction",
                        Set$Type<PgJsonbBuilder, UtilaTransactionReferencedResources>,
                        {
                            data: UtilaTransactionReferencedResources;
                            dataType: "object json";
                            driverParam: unknown;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: false;
                            tableName: "utila_transaction";
                        },
                    >;
                    subType: PgBuildColumn<
                        "utila_transaction",
                        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: "utila_transaction";
                        },
                    >;
                    type: PgBuildColumn<
                        "utila_transaction",
                        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: "utila_transaction";
                        },
                    >;
                    updatedAt: PgBuildColumn<
                        "utila_transaction",
                        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: "utila_transaction";
                        },
                    >;
                    utilaId: PgBuildColumn<
                        "utila_transaction",
                        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: "utila_transaction";
                        },
                    >;
                    vaultId: PgBuildColumn<
                        "utila_transaction",
                        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: "utila_transaction";
                        },
                    >;
                };
                dialect: "pg";
                name: "utila_transaction";
                schema: "b2b";
            },
        >,
        "enableRLS",
    > = ...

    One row per Utila transaction — the analogue of solana_transaction, and immutable for the same reason it is.

    A transaction is written if and only if it reached the chain, which is why there is no state column. Utila hands us terminal states, so the test runs once, at a known-final moment: a confirmed transaction gets a full row, one that reverted on chain gets a fee-only row (it burned gas), and anything that never reached the chain — declined, cancelled, dropped, expired, AML-declined — moved nothing, cost nothing, and gets no row.

    Existence in this table is the state. Storing it would be storing a constant: a row means the chain took money, and the only question a reader ever asks is how much. Nothing pending is recorded and no row ever changes after insert, which is what makes the write onConflictDoNothing on (vault_id, utila_id) exactly as solana_transaction does — and that is what lets the webhook fast path and the scheduled poll backstop race safely without coordinating.

    See docs/proposals/UTILA_TRANSACTION_SYNC.md § 3.1 and § 3.5.